Une matrice qui représente le nombre qui a été correctement déterminé et le nombre qui a été déterminé par erreur entre le résultat prédit passé à travers un modèle et la valeur réelle.
Généralement, classification binaire.
Par exemple, lorsque vous souhaitez prédire si vous avez un cancer ou non à partir d'une image donnée, La valeur réelle est 98/100 pour les personnes non cancéreuses (0) 2/100 pour les personnes atteintes de cancer (1) Supposons que c'était le cas.
À ce stade, si les prédictions sont toutes à 0, le taux de réponse correct est de 98%. Cela semble être un bon nombre vu en termes de taux de réponse correct, Est-ce vraiment une bonne évaluation? Les deux personnes qui l'ont raté ne sont-elles pas une erreur fatale?
Même dans de tels cas, la matrice de confusion est utilisée pour réussir une évaluation.
En général, l'axe horizontal est le résultat de la prédiction du modèle et l'axe vertical est la valeur réelle.
Vrai: résultats qui peuvent être prédits correctement Faux: résultat mal prédit positif: résultat de la détermination de l'existence d'une maladie (= 1) négatif: résultat de l'absence de maladie (= 0)
matrix.py
from sklearn.metrics import confusion_matrix
#Créer une matrice de confusion
cm = confusion_matrix(y_true=y_test, y_pred=y_pred)
# y_Passer à vrai est la donnée variable objective pour l'évaluation
# y_X pour passer à pred_prédire avec test()Résultat prédit à l'aide de la fonction
#Dataframe la matrice de confusion
df_cm = pd.DataFrame(np.rot90(cm, 2), index=["actual_Positive", "actual_Negative"], columns=["predict_Positive", "predict_Negative"])
print(df_cm)
#Visualisation de la matrice de confusion par heatmap
sns.heatmap(df_cm, annot=True, fmt="2g", cmap='Blues')
plt.yticks(va='center')
plt.show()
Considérez l'indice d'évaluation qui mesure les performances du modèle à partir d'ici
Tout d'abord, vérifiez à quel point vous pouvez classer correctement toutes les données
Après avoir obtenu un résultat positif (1), vérifiez si vous avez effectivement répondu correctement
Les données réelles sont positives (1), combien Les données prédites sont-elles correctement estimées positives? Plus cette valeur est élevée, meilleures sont les performances et moins de faux positifs sont émis.
Les données réelles sont négatives (0), combien Les données prédites sont-elles correctement estimées négatives? Plus cette valeur est élevée, meilleures sont les performances et moins les jugements négatifs sont faux.
Les données réelles sont positives (1), combien Les données prédites ont-elles été présumées à tort négatives? Plus cette valeur est basse, meilleures sont les performances et moins le jugement positif est erroné.
Les données réelles sont négatives (0), combien Les données prévues ont-elles été présumées à tort positives? Plus cette valeur est basse, meilleure est la performance et il y a peu de mauvais jugements négatifs.
Résultat de prédiction positif | Résultat de prédiction négatif | |
---|---|---|
Résultat positif réel | 98 | 0 |
Résultat négatif réel | 2 | 0 |
98% de taux de réponse correcte
100% => Ceci détermine que tous les positifs sont correctement classés
0% => Cela détermine que tous les négatifs ont été classés de manière incorrecte
Pour utiliser un modèle d'apprentissage automatique de classification binaire en entreprise, calculez un index pour mesurer les performances, Il est important de comprendre et d'utiliser la valeur d'index qui convient à l'objectif
Recommended Posts