El proceso de clasificación ayuda a la categorización del conjunto de datos en diferentes clases. Un modelo de aprendizaje automático permite
– Enmarcar el problema,
– Recoger los datos,
– Añadir las variables,
– Entrenar el modelo,
– Medir el rendimiento,
– Mejorar el modelo con la ayuda de la función de costes.
¿Pero cómo podemos medir el rendimiento de un modelo? ¿Comparando el modelo predicho y el real? Sin embargo, esto no resolverá el problema de clasificación. Una matriz de confusión puede ayudar a analizar los datos y resolver el problema. Entendamos cómo esta técnica ayuda al modelo de aprendizaje automático.
Matriz de confusión
La técnica de la matriz de confusión ayuda a medir el rendimiento de la clasificación del aprendizaje automático. Con este tipo de modelo, se puede distinguir y clasificar el modelo con los valores verdaderos conocidos en el conjunto de datos de prueba. El término matriz de confusión es sencillo pero confuso. Este artículo simplificará el concepto para que puedas entender fácilmente y crear una matriz de confusión por ti mismo.
Cálculo de la matriz de confusión
Siga estos sencillos pasos para calcular la matriz de confusión para la minería de datos:
Paso 1
Estimar los valores de los resultados del conjunto de datos.
Paso 2
Pruebe el conjunto de datos con la ayuda de los resultados esperados.
Paso 3
Predecir las filas del conjunto de datos de prueba.
Paso 4
Calcule los resultados esperados y las predicciones. Debe tener en cuenta el:
– Total de predicciones correctas de la clase
– Total de predicciones incorrectas de la clase
Después de realizar estos pasos, tienes que organizar los números en los siguientes métodos:
– Relacionar cada fila de la matriz con la clase predicha
– Corresponder cada columna de la matriz con la clase real
– Introducir en la tabla la clasificación correcta e incorrecta del modelo
– Incluya el total de las predicciones correctas en la columna de predicción. Añada también el valor de la clase en la fila prevista.
– Incluya el total de las predicciones incorrectas en la fila prevista y el valor de la clase en la columna prevista.
Comprender el resultado en una matriz de confusión
1. Verdadero positivo
Los valores reales y los predichos son los mismos. El valor predicho del modelo es positivo, junto con un valor real positivo.
2. Verdadero negativo
Los valores reales y predichos son iguales. El valor predicho del modelo es negativo, junto con un valor real negativo.
3. Falso positivo (error de tipo 1)
Los valores reales y predichos no son los mismos. El valor predicho del modelo es positivo y falso. Sin embargo, el valor real es negativo. Puede referirse a esto como un error de tipo 1.
4. Falso negativo (error de tipo 2)
Los valores reales y los predichos no coinciden. El valor predicho del modelo es negativo y falsamente predicho. Sin embargo, el valor real es positivo. Este error se puede denominar error de tipo 2.
Importancia de la matriz de confusión
Antes de responder a la pregunta, debemos entender el problema hipotético de clasificación. Supongamos que se predice el número de personas infectadas por el virus antes de mostrar los síntomas. De este modo, podrá aislarlas fácilmente y garantizar una población sana. Podemos elegir dos variables para definir la población objetivo: Infectados y no infectados.
Ahora podría pensar, por qué utilizar una matriz de confusión cuando las variables son muy sencillas. Pues bien, esta técnica ayuda a la precisión de la clasificación. Los datos de este ejemplo son el conjunto de datos desequilibrados. Supongamos que tenemos 947 puntos de datos negativos y tres positivos. Ahora vamos a calcular la precisión con esta fórmula:
Con la ayuda de la siguiente tabla, puede comprobar la precisión:
Los valores totales de salida serán:
TP = 30, TN = 930, FP = 30, FN = 10
Así que puedes calcular la precisión del modelo como:
96% de precisión para un modelo es increíble. Pero sólo se puede generar una idea errónea a partir del resultado. Según este modelo, puede predecir las personas infectadas el 96% de las veces. Sin embargo, el cálculo predice que el 96% de la población no se infectará. Sin embargo, los enfermos siguen propagando el virus.
Este modelo parece una solución perfecta para el problema, o deberíamos medir los casos positivos y aislarlos para detener la propagación del virus. Por eso utilizamos una matriz de confusión para resolver este tipo de problemas. He aquí algunas ventajas de la matriz de confusión:
– La matriz ayuda a la clasificación del modelo al hacer las predicciones
– Esta técnica significa el tipo y la visión de los errores para que pueda entender el caso fácilmente
– Puede superar la restricción con la clasificación precisa de los datos
– Las columnas de la matriz de confusión representan los casos de la clase predicha
– Cada fila indicará las instancias de la clase real
– La matriz de confusión destacará los errores que el clasificador
Matriz de confusión en Python
Ahora que ya conoces el concepto de matriz de confusión, puedes practicar utilizando el siguiente código en Python con la ayuda de la librería Scikit-learn.
# Matriz de confusión en sklearn
fromsklearn.metricsimportconfusion_matrix
fromsklearn.metricsimportclassification_report
# valores reales
actual = [1,0,0,1,0,0,1,0,0,1]
# valores predichos
predichos = [1,0,0,1,0,0,0,1,0,0]
# matriz de confusión
matriz =matriz de confusión(real,predicha, etiquetas=[1,0])
print(‘Matriz de confusión : \n’,matrix)
# orden de los valores de los resultados en sklearn
tp, fn, fp, tn=matriz_de_confusión(real,predicha,etiquetas=[1,0]).reshape(-1)
print(‘Valores de resultado : \n’, tp, fn, fp, tn)
# informe de clasificación para la precisión, el recuerdo, la puntuación f1 y la exactitud
matrix =informe_de_clasificación(real,predicho,etiquetas=[1,0])
print(‘Informe de clasificación : \n’,matrix)
Conclusión
La matriz de confusión ayuda a restringir la precisión del método de clasificación. Además, destaca detalles importantes sobre las diferentes clases. Además, analiza las variables y los datos para poder comparar los datos reales con la predicción.