○ Les principaux points de cet article J'ai étudié plusieurs fois, mais je ne me souviens pas de la matrice mixte. Sortie avec le code à retenir.
Pour tester des matrices mixtes
from sklearn.datasets import load_breast_cancer
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import confusion_matrix
from sklearn.metrics import accuracy_score
from sklearn.metrics import precision_score
from sklearn.metrics import recall_score
from sklearn.metrics import f1_score
import numpy as np
#Télécharger les données sur le cancer du sein
data = load_breast_cancer()
X = data.data
#Inverser 0 et 1 sur l'étiquette (dans l'ensemble de données, 0 est malin, 1 est bénin, mais 0 est bénin et 1 est malin)
y = 1 - data.target
X = X[:, :10]
#Modèle de régression logistique
model = LogisticRegression()
#Apprentissage
model.fit(X, y)
#Prévoir
predict = model.predict(X)
#Instance d'affichage de la matrice mixte
cm = confusion_matrix(y, predict)
résultat
print(cm)
[[337 20]
[ 30 182]]
TN, FP, FN, TP dans l'ordre de haut à gauche à droite TN: En fait, les données négatives sont correctement prédites comme négatives Dans cet exemple, les données bénignes sont correctement prédites comme étant bénignes. FP: En fait, les données négatives sont prédites à tort comme positives Dans cet exemple, les données bénignes ont été prédites à tort comme malignes. FN: En fait, les données positives sont prédites à tort comme négatives Dans cet exemple, les données malignes ont été prédites à tort comme bénignes. TP: En fait, les données positives sont correctement prédites comme positives Dans cet exemple, les données malignes sont correctement prédites comme étant malignes. Quant à la prédiction du cancer, la FN (celle qui a prédit à tort que les données malignes étaient bénignes) est mauvaise.
Pourcentage de prédictions correctes par rapport aux résultats de prédiction globaux
Taux de réponse correct= (TP + TN) / (TP + TN + FP + FN)
Taux de réponse correct
accuracy_score(y, predict)
0.9121265377855887
Pourcentage de ce qui était prévu comme positif par rapport à ce qui était prévu comme positif
Taux de conformité= TP / (TP + FP)
Taux de conformité
precision_score(y, predict)
0.900990099009901
Pourcentage de positifs qui peuvent être correctement prédits par rapport aux positifs
Rappel= TP / (TP + FN)
Rappel
recall_score(y, predict)
0.8584905660377359
Une valeur qui reflète les tendances à la fois de précision et de rappel
Valeur F= 2×(Taux de conformité x taux de rappel)/(Taux de conformité+Rappel)
Valeur F
f1_score(y, predict)
0.8792270531400966
■ Impression ・ Je comprends à chaque fois que je lis la définition, mais je l'oublie après un certain temps. .. .. ・ Vous devez le faire apparaître lorsque vous l'utilisez réellement. .. ..
Recommended Posts