○ Die Hauptpunkte dieses Artikels Ich habe ein paar Mal studiert, kann mich aber nicht an die gemischte Matrix erinnern. Ausgabe mit dem zu merkenden Code.
Zum Testen von gemischten Matrizen
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
#Laden Sie Brustkrebsdaten herunter
data = load_breast_cancer()
X = data.data
#Invertieren Sie 0s und 1s auf dem Etikett (im Datensatz ist 0 bösartig, 1 ist gutartig, aber 0 ist gutartig und 1 ist bösartig)
y = 1 - data.target
X = X[:, :10]
#Logistisches Regressionsmodell
model = LogisticRegression()
#Lernen
model.fit(X, y)
#Prognose
predict = model.predict(X)
#Instanz zum Anzeigen einer gemischten Matrix
cm = confusion_matrix(y, predict)
Ergebnis
print(cm)
[[337 20]
[ 30 182]]
TN, FP, FN, TP in der Reihenfolge von links oben nach rechts TN: Tatsächlich werden negative Daten korrekt als negativ vorhergesagt In diesem Beispiel werden gutartige Daten korrekt als gutartig vorhergesagt. FP: Tatsächlich werden negative Daten fälschlicherweise als positiv vorhergesagt In diesem Beispiel wurde fälschlicherweise vorausgesagt, dass die gutartigen Daten bösartig sind. FN: Tatsächlich werden positive Daten fälschlicherweise als negativ vorhergesagt In diesem Beispiel wurde fälschlicherweise vorausgesagt, dass die bösartigen Daten gutartig sind. TP: Tatsächlich werden positive Daten korrekt als positiv vorhergesagt In diesem Beispiel werden bösartige Daten korrekt als bösartig vorhergesagt. Was die Vorhersage von Krebs betrifft, so ist FN (diejenige, die bösartige Daten fälschlicherweise als gutartig vorhergesagt hat) schlecht.
Prozentsatz der korrekten Vorhersagen für alle Vorhersageergebnisse
Richtige Antwortrate= (TP + TN) / (TP + TN + FP + FN)
Richtige Antwortrate
accuracy_score(y, predict)
0.9121265377855887
Prozentsatz dessen, was als positiv vorhergesagt wurde, zu dem, was als positiv vorhergesagt wurde
Compliance-Rate= TP / (TP + FP)
Compliance-Rate
precision_score(y, predict)
0.900990099009901
Prozentsatz der Positiven, die im Vergleich zu Positiven korrekt vorhergesagt werden können
Erinnern= TP / (TP + FN)
Erinnern
recall_score(y, predict)
0.8584905660377359
Ein Wert, der Trends in Bezug auf Präzision und Rückruf widerspiegelt
F-Wert= 2×(Konformitätsrate x Rückrufrate)/(Compliance-Rate+Erinnern)
F-Wert
f1_score(y, predict)
0.8792270531400966
■ Eindruck ・ Ich verstehe jedes Mal, wenn ich die Definition lese, aber ich vergesse sie nach einer Weile. .. .. ・ Sie müssen es herausspringen lassen, wenn Sie es tatsächlich verwenden. .. ..
Recommended Posts