Introducción a la matriz de confusión: hacia la IA

Estás leyendo la publicación: Introducción a la matriz de confusión: hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

¿Qué es Confusion Matrix y cómo trazarla en Python?

La matriz de confusión es la representación visual de los valores reales frente a los previstos. Es una herramienta de evaluación del rendimiento de los algoritmos de clasificación, también conocida como matriz de errores.

Un diseño de tabla bidimensional de cuántas clases o categorías predichas se predijeron correctamente y cuántas no, permite la visualización del rendimiento de un algoritmo, típicamente en el aprendizaje supervisado.

En análisis predictivo, una Cmatriz de onfusión para la clasificación binaria es una tabla con dos filas y dos columnas que informa el número de , , y . Esto permite un análisis más detallado que simplemente observar la precisión.

¿Por qué matriz de confusión sobre precisión?

La métrica de precisión puede ser engañosa si se usa para el conjunto de datos de desequilibrio cuando el número de observaciones en diferentes clases varía mucho. Mientras que la matriz de confusión proporciona una comparación detallada entre positivos y negativos.

Confusion Matrix consta de cuatro métricas importantes Verdadero positivo (TP), Verdadero negativo (TN), Falso positivo (FP), Falso negativo (FN).

Entendámoslos con una analogía donde el algoritmo tiene que categorizar si una Persona es Saludable o Enfermo.

🔥 Recomendado:  Cómo usar la función Doble pulgar hacia arriba en Netflix (y por qué debería hacerlo)

(1) Verdadero Positivo (TP)

El algoritmo predijo una “persona enferma” que está enferma. Esto concluye que el algoritmo ha clasificado correctamente los positivos. Es el número de predicciones correctas cuando la clase real es positiva.

(2) Verdadero Negativo (TN)

El Algoritmo predijo una “Persona Sana” que es Sana. Esto concluye que el algoritmo ha clasificado correctamente el negativo. Es el número de predicciones correctas cuando la clase real es negativa.

(3) Falso positivo (FP)

El Algoritmo predijo una “Persona Enferma” que es Saludable. Aquí el algoritmo dio una falsa alarma al clasificarla erróneamente como Positiva en lugar de Negativa. Es el número de predicciones incorrectas cuando la clase real es positiva, también conocido como Error tipo I.

(4) Falso Negativo (FN)

El Algoritmo predijo una “Persona Sana” que está Enferma. Aquí el algoritmo pasó por alto a una persona enferma al categorizarla como saludable. Es el número de predicciones incorrectas cuando la clase real es negativa, también conocido como Error tipo II.

de sklearn.datasets importar load_breast_cancer
de sklearn.model_selection import train_test_split
de sklearn.linear_model import LogisticRegression
de sklearn.metrics import confusion_matrix X, y = load_breast_cancer(return_X_y=True)
X_tren, X_prueba, y_tren, y_prueba = tren_prueba_dividir(X, y,
tamaño_prueba=0.33,
estado_aleatorio=42)
lr= Regresión Logística()
lr.fit(tren_X,tren_y)
y_pred=lr.predict(X_test)
matriz_confusión(y_test, y_pred)
Producción:
formación([[ 63, 4],
[ 3, 118]])

La API confusion_matrix en sklearn proporciona una matriz como salida que tiene TN, FP, FN y TP, respectivamente, y lo mismo se puede trazar usando la API ConfusionMatrixDisplay o la API Heatmap de cualquier biblioteca de visualización.

de sklearn.datasets importar load_breast_cancer
de sklearn.model_selection import train_test_split
de sklearn.linear_model import LogisticRegression
de sklearn.metrics import confusion_matrix X, y = load_breast_cancer(return_X_y=True)
X_tren, X_prueba, y_tren, y_prueba = tren_prueba_dividir(X, y,
tamaño_prueba=0.33,
estado_aleatorio=42)
lr= Regresión Logística()
lr.fit(tren_X,tren_y)
y_pred=lr.predict(X_test)
conf_mat, hacha = confusion_matrix(y_test, y_pred)

🔥 Recomendado:  20 expertos en blogs comparten su publicación de blog más influyente, ¡NUNCA!

El objetivo es mantener tantos valores de TP y TN como sea posible.

En este blog, entendimos qué es la confusión de Matrix y cómo podemos trazarla en Python. La interpretación de verdadero positivo (TP), verdadero negativo (TN), falso positivo (FP) y falso negativo (FN) son las métricas de construcción de la matriz de confusión.

Sin embargo, se pueden derivar múltiples métricas de Confusion Matrix, como Exactitud, Precisión, Recuperación, ROC y muchas más. Por favor refiérase a Inmersión profunda en Confusion Matrix para detalles.

Referencias:

[1] API de matriz de confusión de Sklearn. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.confusion_matrix.html#sklearn.metrics.confusion_matrix

[2] Sklearn ConfusionMatrixDisplay API. https://scikit-learn.org/stable/modules/generated/sklearn.metrics.ConfusionMatrixDisplay.html#sklearn.metrics.ConfusionMatrixDisplay

[3] API de mapa de calor marino. https://seaborn.pydata.org/generated/seaborn.heatmap.html


Introducción a Confusion Matrix se publicó originalmente en Towards AI en Medium, donde las personas continúan la conversación destacando y respondiendo a esta historia.

Publicado a través de Hacia la IA