matriz pitón confusión (confusion_matrix) FP, FN, TP, TN, tasa de precisión (precisión), memoria (Recall), la exactitud (exactitud) detalla

directorio

A, FP, FN, TP, TN

En segundo lugar, la relación exacta (precisión), memoria (Recall), precisión (la precisión)


A, FP, FN, TP, TN

Idiota, ¿no las uvas agrias y uva agria nuevo GET "confundido" "amigos !!!

Confusión en situaciones cotidianas anterior es: si el uno o dos cosas y más cosas a confundido, confundido.

En el aprendizaje de máquina, matriz de confusión es una matriz de error, usado para visualmente evaluar el desempeño de algoritmo de aprendizaje supervisado. . Matriz de confusión tamaño (n_classes, n_classes) falange, en el que n_classes representa el número de clases.

En donde la línea de esta matriz muestra un ejemplo de la clase de predicción (modelo de predicción puede ser entendido como una salida, predicen), otra columna que muestra los resultados de la determinación de la predicción del modelo es correcta, el resultado de predicción correcta es Verdadero etiqueta (Planta Verdad), y viceversa False.

En la máquina de aprendizaje realidad del terreno expresado aprendizaje supervisado el conjunto de entrenamiento de la precisión de clasificación para probar una hipótesis o destrucción. máquina de aprendizaje supervisado para datos de entrenamiento marcado, etiquetado Imagínese si el error de entrenamiento, que tendrá un impacto de predicción de los datos de prueba, por lo que habrá los que marcan los datos correctos para ser verdad suelo.

En este momento, en la introducción de FP, FN, TP, TN y la relación de precisión (precisión), memoria (la Recall), la exactitud (exactitud).

En dos gatos clasificados como un ejemplo, en el supuesto de gato casos positivos: positivo , modalidad negativa perro-negativos ; predijo correctamente es cierto que de lo contrario es falso . Podemos obtener por debajo de éste para la FP, FN, TP, TN tabla:

 En este momento, como se muestra en el siguiente código, en el que la matriz de confusión scikit-learn interfaces API sklearn.metrics.confusion_matrix de función, matriz de confusión se pueden utilizar para dibujar

skearn.metrics.confusion_matrix(
    y_true,   # array, Gound true (correct) target values
    y_pred,  # array, Estimated targets as returned by a classifier
    labels=None,  # array, List of labels to index the matrix.
    sample_weight=None  # array-like of shape = [n_samples], Optional sample weights
)

código de ejemplo completo es el siguiente:

__author__ = "lingjun"
# E-mail: [email protected]
# welcome to attention:小白CV

import seaborn as sns
from sklearn.metrics import confusion_matrix
import matplotlib.pyplot as plt
sns.set()

f, (ax1,ax2) = plt.subplots(figsize = (10, 8),nrows=2)
y_true = ["dog", "dog", "dog", "cat", "cat", "cat", "cat"]
y_pred = ["cat", "cat", "dog", "cat", "cat", "cat", "cat"]
C2= confusion_matrix(y_true, y_pred, labels=["dog", "cat"])
print(C2)
print(C2.ravel())
sns.heatmap(C2,annot=True)

ax2.set_title('sns_heatmap_confusion_matrix')
ax2.set_xlabel('Pred')
ax2.set_ylabel('True')
f.savefig('sns_heatmap_confusion_matrix.jpg', bbox_inches='tight')

 Guardado imagen de la siguiente manera:

Esta vez todavía no sabemos skearn.metrics.confusion_matrix hecho, esta impresión tiempo (C2), C2 impresión de la mirada exactamente lo que contiene. El resultado final de impresión es el siguiente:

[[1 2]
 [0 4]]
[1 2 0 4]

Bajo esta interpretación del significado de estos números:

C2= confusion_matrix(y_true, y_pred, labels=["dog", "cat"])中的labels的顺序就分布是0、1,negative和positive

注:labels=[]可加可不加,不加情况下会自动识别,自己定义
  • gato es un 1-positivos, de los cuales hay cuatro valores gato real, se predice que el gato 4, la predicción es correcta T, 0 º perro es predicho, el error de predicción F .;
  • perro es 0-negativo, que tiene valores reales de tres perros, se prevé que sea un perro, correctamente predecir T, 2 ª CAT se predijo, el error de predicción F.

Por lo tanto: TN = 1, FP = 2, FN = 0, TP = 4.

  • TN = 1: pronóstico negativo para el perro en un predijo correctamente
  • PF = 2: pronóstico positivo para el gato en dos error predicho
  • FN = 0: pronóstico negativo para los perros 0 es el error de predicción
  • TP = 4: pronóstico positivo para los gatos en cuatro predijo correctamente

Esta vez las predicciones anteriores gatos y perros y luego vamos a ver, seis se prevé que el gato, pero sólo cuatro son verdaderas gato, esta vez en el lado derecho y el círculo rojo en la correspondencia.

y_pred = ["cat", "cat", "dog", "cat", "cat", "cat", "cat"]

y_true = ["dog", "dog", "dog", "cat", "cat", "cat", "cat"]

En segundo lugar, la relación exacta (precisión), memoria (Recall), precisión (la precisión)

Con estos valores anteriores, se puede calcular de la siguiente obra

Precisión (Accuracy) : estos tres indicadores es la precisión más intuitiva: un modelo a escala para determinar los datos correctos (TP + TN) de los datos totales

"Accuracy: "+str(round((tp+tn)/(tp+fp+fn+tn), 3))

Recall (el Recall) : para un conjunto de datos de toda la etiqueta ejemplos positivos (TP + FN), los casos positivos (TP) determina que representa el modelo para el conjunto de datos correcto de ejemplos positivos todas las proporciones ; FN representa un modelo negativo del Ejemplo equivocada pero los datos reales son ejemplos positivos ; recuerdo también llamado el recuerdo de detección de objetos, por ejemplo, se tiende a objetos de imagen como un ejemplo positivo, excelente recuperación en este momento representa el modelo puede encontrar más objetos en la imagen!

"Recall: "+str(round((tp)/(tp+fn), 3))

relación precisa (precisión) : Para todos los casos positivos (TP + FP) se juzga en términos del modelo , en el que los casos reales (TP) proporción. tasa de precisión, también conocido como la precisión, o para la detección de objetos, por ejemplo, un modelo de alta precisión que representa el objeto detectado es de hecho una más objeto, el objeto no es sólo un pequeño número de objetos son tratados como objetos.

"Precision: "+str(round((tp)/(tp+fp), 3))

Hay:

("Sensitivity: "+str(round(tp/(tp+fn+0.01), 3)))
("Specificity: "+str(round(1-(fp/(fp+tn+0.01)), 3)))
("False positive rate: "+str(round(fp/(fp+tn+0.01), 3)))
("Positive predictive value: "+str(round(tp/(tp+fp+0.01), 3)))
("Negative predictive value: "+str(round(tn/(fn+tn+0.01), 3)))

referencias:

https://baijiahao.baidu.com/s?id=1619821729031070174&wfr=spider&for=pc

https://www.cnblogs.com/klchang/p/9608412.html

https://blog.csdn.net/littlehaes/article/details/83278256


Blanco de CV : Nº diseñado para centrarse CV pública (visión por ordenador), las técnicas de IA (inteligencia artificial) campos relacionados con la tecnología, el contenido principal del artículo en todo el C ++, Python de programación, aprendizaje automático (ML), la profundidad del aprendizaje (DL), procesamiento de imágenes OpenCV, etc. tecnología, explorar el fondo de las operaciones puntos, estudio y registro de trabajo comunes, problemas técnicos se aprende a asistente trabajo. Sólo se refiere a la tecnología, el intercambio de conocimientos campo plataforma de CV profesional.

 

发布了74 篇原创文章 · 获赞 64 · 访问量 13万+

Supongo que te gusta

Origin blog.csdn.net/wsLJQian/article/details/99435808
Recomendado
Clasificación