Matriz de confusión en el aprendizaje automático: su solución integral



Este artículo se centra en la Matriz de confusión, que es uno de los aspectos más importantes de cualquier algoritmo de aprendizaje automático utilizado para evaluar su precisión.

En , normalmente tenemos 2 tipos diferentes de casos de uso, y problema. Confusion Matrix ayuda a calcular la precisión del modelo de clasificación, lo que indirectamente nos ayuda a describir el rendimiento del modelo de clasificación. Es el paso más importante a la hora de evaluar un modelo. Cubriré los siguientes temas en este artículo:

1. ¿Qué es una matriz de confusión?





cómo ordenar la matriz c ++

2. Precisión y componentes de la matriz de confusión

3. Precisión, recuperación y medida F



4. Creación de una matriz de confusión mediante Python y Sklearn

¿Qué es una matriz de confusión?

Una matriz de confusión es el resumen de comparación de los resultados previstos y los resultados reales en cualquier caso de uso de problemas de clasificación. El resumen de comparación es extremadamente necesario para determinar el rendimiento del modelo después de que se entrena con algunos datos de entrenamiento. Accuracy-Confusion-MatrixPara un caso de uso de clasificación binaria, una Matriz de confusión es una matriz de 2 × 2 que se muestra a continuación
Valor de clase 1 previsto Por ejemplo: 1 Valor previsto de clase 2 Por ejemplo: 0
Valor real de clase 1

Por ejemplo: 1

TP (verdadero positivo) FN (falso negativo)
Valor real de clase 2



Por ejemplo: 0

FP (falso positivo) TN (verdadero negativo)

De la figura anterior:
Tenemos,

  • Valor real de clase 1 = 1 que es similar al valor positivo en un resultado binario.
  • Valor real de Clase 2 = 0, que es similar a un valor negativo en el resultado binario.

El índice del lado izquierdo de la matriz de confusión básicamente indica los valores reales y la columna superior indica los valores predichos.

Hay varios componentes que existen cuando creamos una matriz de confusión. Los componentes se mencionan a continuación

Positivo (P): El resultado previsto es positivo (ejemplo: la imagen es un gato)

Negativo (N): el resultado previsto es Negativo (Ejemplo: Images no es un gato)

Verdadero positivo (TP): Aquí TP básicamente indica los valores predichos y reales es 1 (Verdadero)

Verdadero negativo (TN): Aquí TN indica el valor predicho y el real es 0 (falso)

Falso negativo (FN): Aquí FN indica que el valor predicho es 0 (negativo) y el valor real es 1. Aquí ambos valores no coinciden. Por lo tanto, es falso negativo.

Falso positivo (FP): Aquí FP indica que el valor predicho es 1 (Positivo) y el valor real es 0. Aquí nuevamente ambos valores no coinciden. Por lo tanto, es falso positivo.

Precisión y componentes de la matriz de confusión

Una vez que se crea la matriz de confusión y determinamos todos los valores de los componentes, nos resulta bastante fácil calcular la precisión. Entonces, echemos un vistazo a los componentes para comprender esto mejor.
  • Precisión de clasificación

De la fórmula anterior, la suma de TP (verdadero positivo) y TN (verdadero negativo) son los resultados predichos correctos. Por lo tanto, para calcular la precisión en porcentaje, dividimos con todos los demás componentes. Sin embargo, existen algunos problemas en la precisión y no podemos depender completamente de ello.

Consideremos que nuestro conjunto de datos está completamente desequilibrado. En este escenario, la precisión del 98% puede ser buena o mala según el planteamiento del problema. Por lo tanto, tenemos algunos términos más clave que nos ayudarán a estar seguros de la precisión que calculamos. Los términos son los que se indican a continuación:

  • TPR (tasa de verdaderos positivos) o sensibilidad:

La tasa de verdaderos positivos, que también se conoce como sensibilidad, mide el porcentaje del verdadero positivo con respecto al total de positivos reales, que se indica mediante (TP + FN)

Valor de clase 1 previsto Por ejemplo: 1 Valor previsto de clase 2 Por ejemplo: 0 Total
Valor real de clase 1

Por ejemplo: 1

TP (verdadero positivo) FN (falso negativo) Positivos reales totales
Valor real de clase 2

Por ejemplo: 0

FP (falso positivo)TN (verdadero negativo)Total de negativos reales
TPR = Verdadero Positivo / (Verdadero Positivo + Falso Negativo
  • TNR (tasa negativa verdadera) o especificidad:

La Tasa de Negativos Verdaderos o la Especificidad mide la proporción de negativos reales con respecto al Total de Negativos

Valor de clase 1 previsto Por ejemplo: 1 Valor previsto de clase 2 Por ejemplo: 0 Total
Valor real de clase 1

Por ejemplo: 1

TP (verdadero positivo)FN (falso negativo)Positivos reales totales
Valor real de clase 2

Por ejemplo: 0

FP (falso positivo) TN (verdadero negativo) Total de negativos reales

TNR = Verdadero Negativo / (Verdadero Negativo + Falso Positivo)

  • Tasa de falsos positivos (FPR):

La tasa de falsos positivos es el porcentaje de falsos positivos previstos (FP) respecto al número total de resultados positivos previstos (TP + FP).

Valor de clase 1 previsto Por ejemplo: 1 Valor previsto de clase 2 Por ejemplo: 0
Valor real de clase 1 EG: 1 TP (verdadero positivo) FN (falso negativo)
Valor real de clase 2 EG: 0 FP (falso positivo) TN (verdadero negativo)
Suma del total positivo previsto Suma del total negativo previsto
FPR = falso positivo / (verdadero positivo + falso positivo)
  • Tasa de falsos negativos (FNR):

La tasa de falsos negativos es el porcentaje de falsos negativos previstos (FP) respecto al número total de resultados negativos previstos (TN + FN).

cómo usar mysql workbench
Valor de clase 1 previsto Por ejemplo: 1 Valor previsto de clase 2 Por ejemplo: 0
Valor real de clase 1 EG: 1TP (verdadero positivo) FN (falso negativo)
Valor real de clase 2 EG: 0FP (falso positivo) TN (verdadero negativo)
Suma del total positivo previsto Suma del total negativo previsto
FNR = Falso Negativo / (Falso Negativo + Verdadero Negativo)

Precisión, recuperación y medida F

  • Recordar:

Una recuperación es similar a la Tasa de verdaderos positivos y es la relación entre el número total de valores positivos (TP) predichos correctamente y todos los valores positivos.

  • Precisión:

La Precisión básicamente indica todos los puntos que el modelo predijo que serían positivos y qué porcentaje de ellos son realmente positivos.

Precision y Recall son resultados de métricas que se enfocan en la clase positiva como se muestra en las fórmulas anteriores.

  • Medida F

Por tanto, F-Measure es una técnica que combina tanto la técnica de Precisión como la de Recall y utiliza la Media Armónica en lugar de la Media Aritmética habitual, por lo que se castigan los valores extremos. La medida F también se denomina puntuación F1 y viene dada por la siguiente fórmula.

Consideremos un ejemplo y veamos cómo podemos calcular la exactitud, precisión, recuperación y la puntuación F1.

N = 165 SÍ previsto NO previsto
SÍ real TP = 150 FN = 10
Actual NO FP = 20 TN = 100
    • Precisión = (TP + TN) / (TP + TN + FP + FN) = (150 + 100) /(150+100+20+10)= 0.89
    • Recuperar = TP / (TP + FN) = 150/(150+10) = 0.93
    • Precisión: TP / (TP + FP) = 150/(150+20) = 0.88

  • Medida F = (2 * Recuperar * Precisión) / (Recuperar + Presision) = (2*0.93*0.88)/(0.93+0.88) = 0.90

Creando una matriz de confusión usando Python y Sklearn

Ahora veremos un ejemplo de cómo podemos crear una matriz de confusión usando python junto con la biblioteca sklearn.

1. Inicialmente, crearemos una lista de los datos reales y los predichos para verificar la precisión como se muestra a continuación.

# Script de Python para la creación de matrices de confusión. actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1]

2. Necesitamos importar la matriz de confusión de la biblioteca sklearn como se muestra a continuación:

de sklearn.metrics importar confusion_matrix

3. A continuación, crearemos la matriz de confusión como se muestra a continuación:

resultados_finales = matriz_confusión (datos_actual, datos_predecibles)

4. Ahora podemos seguir adelante y calcular la precisión importando la biblioteca como se muestra a continuación:

de sklearn.metrics importar precision_score precision = precision_score (actual_data, predicted_data)

5. Finalmente, calculamos la puntuación F1 o la medida F como se muestra a continuación:

de sklearn.metrics importar el informe de clasificación de la clasificación = informe de clasificación (actual_data, predicted_data)

A continuación se muestra el código completo:

actual_data = [1, 1, 0, 1, 0, 0, 1, 0, 0, 0,1,0,1] predicted_data = [0, 1, 1, 1, 0, 0, 1, 0, 1, 0,1,0,1] de sklearn.metrics importar confusion_matrix final_results = confusion_matrix (actual_data, predicted_data) imprimir (final_results) de sklearn.metrics importar precision_score precision = precision_score (actual_data, predicted_data) de sklearn.metrics importar clasificacion report report = clasificacion_report ( actual_data, predicted_data) imprimir (precisión) imprimir (informe)

matrix

Entonces, con esto, llegamos al final de este artículo. Espero que toda su Confusión sobre la Matriz de Confusión esté ahora resuelta.

Edureka's le ayuda a adquirir experiencia en varios algoritmos de aprendizaje automático, como regresión, agrupación en clústeres, árboles de decisión, bosque aleatorio, Naïve Bayes y Q-Learning. Este aprendizaje automático usando Python Training lo expone a conceptos de estadísticas, series de tiempo y diferentes clases de algoritmos de aprendizaje automático como algoritmos supervisados, no supervisados ​​y de refuerzo. A lo largo del Curso de certificación de ciencia de datos, resolverá casos de estudio de la vida real sobre medios, atención médica, redes sociales, aviación y recursos humanos.