[PYTHON] Leistungsbewertungsindex

Leistungsbewertungsindex

Was ist eine Verwirrungsmatrix?

Ein trainiertes Modell, das aus Trainingsdaten erstellt wurde Ich werde auf den Bewertungsindex eingehen, der bestimmt, wie gut er ist.

Erstens ist die Verwirrungsmatrix das Vorhersageergebnis des Modells für jede Testdaten. In dieser Tabelle ist die Anzahl der Vorhersageergebnisse zusammengefasst, die für jede der vier Perspektiven True Positive, True Negative, False Positive und False Negative gelten.

"Richtig oder falsch" gibt an, ob die Vorhersage korrekt war, und "Positiv oder negativ" gibt die vorhergesagte Klasse an. Mit anderen Worten

(1) Die Anzahl der echten Positiven, die voraussichtlich in der positiven Klasse liegen, und das Ergebnis war auch in der positiven Klasse
(2) Die Anzahl der echten Negative, von denen vorhergesagt wurde, dass sie in der negativen Klasse liegen, und das Ergebnis war auch in der negativen Klasse
③ Die Anzahl der falsch positiven Ergebnisse, die voraussichtlich in der positiven Klasse liegen, das Ergebnis jedoch in der negativen Klasse
④ Die Anzahl der falsch negativen Ergebnisse, von denen vorhergesagt wurde, dass sie in der negativen Klasse liegen, das Ergebnis jedoch in der positiven Klasse
Werden jeweils angezeigt.

True Positive und True Negative sind nach dem Modell des maschinellen Lernens korrekt False Positives und False Negatives zeigen an, dass das Modell des maschinellen Lernens falsch geworden ist.

image.png

Implementieren Sie eine Verwirrungsmatrix

sklearn.Im Metrikmodul

confusion_Lassen Sie uns tatsächlich die Nummer jeder Komponente der Verwirrungsmatrix unter Verwendung der Matrixfunktion sehen.

Die Funktion confusion_matrix kann wie folgt verwendet werden.

from sklearn.metrics import confusion_matrix
confmat = confusion_matrix(y_true, y_pred)

In y_true wird die tatsächliche Klasse der richtigen Antwortdaten als Array gespeichert y_pred enthält die erwarteten Klassen als Array. Die Art und Weise, wie es gespeichert wird, ist in der Abbildung gezeigt, die in der Verwirrungsmatrix bestätigt ist.

Richtige Antwortrate

Wenn Sie tatsächlich ein Klassifizierungsmodell erstellen können, ist dieses Klassifizierungsmodell besser als andere Klassifizierungsmodelle? Wir brauchen einen klaren Standard, um zu bewerten, ob er gut ist oder nicht.

Überprüfen Sie die richtige Antwortrate. Die richtige Antwortrate bedeutet, dass die Diagnoseergebnisse in allen Fällen korrekt waren. Es ist ein Prozentsatz der Anzahl (klassifiziert als TP / TN) und kann wie folgt berechnet werden.

image.png

Konformität / Genauigkeit und Rückruf

Präzision / Präzision ist der Prozentsatz der Daten, die als positiv vorausgesagt werden und tatsächlich positiv sind. (Vorhersageerfolgsrate) Der Rückruf gibt den Prozentsatz der tatsächlich positiven Daten an, von denen vorhergesagt werden kann, dass sie positiv sind. (Praktische, zuverlässige Rate)

image.png

image.png

F-Wert

Der F-Wert ist eine Kombination aus Präzision und Rückruf (harmonischer Durchschnitt). image.png

Überprüfen Sie grundsätzlich nicht nur die richtige Antwortrate, sondern auch den F-Wert, die Genauigkeit und die Rückrufrate. Ich werde prüfen, ob es wirklich zuverlässig ist.

Implementierter Leistungsbewertungsindex

Verwenden wir den in scikit-learn implementierten Leistungsbewertungsindex.

#Konformitätsrate, Rückrufrate, F-Wert
from sklearn.metrics import precision_score, recall_score, f1_score

#Daten speichern. Diesmal ist 0 positiv und 1 negativ
y_true = [0,0,0,1,1,1]
y_pred = [1,0,0,1,1,1]

# y_true ist das richtige Label, y_Übergeben Sie jedes Vorhersageergebnis-Label an pred
print("Precision: {:.3f}".format(precision_score(y_true, y_pred)))
print("Recall: {:.3f}".format(recall_score(y_true, y_pred)))
print("F1: {:.3f}".format(f1_score(y_true, y_pred)))

PR-Kurve

Beziehung zwischen Rückruf und Präzision

image.png

Die Beziehung zwischen diesen beiden Leistungsbewertungsindizes ist eine Kompromissbeziehung. Die Kompromissbeziehung ist Wenn Sie versuchen, die Rückrufrate zu erhöhen, verringert sich die Genauigkeitsrate. Wenn Sie versuchen, die Genauigkeitsrate zu erhöhen, bedeutet dies, dass die Rückrufrate abnimmt.

Wenn viele Patienten in einer strengen Untersuchung bei einer Krankenhausuntersuchung positiv sind Höhere Rückrufrate, aber geringere Genauigkeit usw.

Wählen Sie die Rückrufrate, Genauigkeit und den F-Wert entsprechend den Grundlagen und dem zu behandelnden Inhalt aus und verwenden Sie sie.

image.png

Was ist eine PR-Kurve?

Die PR-Kurve stellt ein Diagramm dar, in dem Daten mit der horizontalen Achse als Rückruf und der vertikalen Achse als Präzision / Präzision aufgezeichnet werden.

Lassen Sie mich Ihnen ein Beispiel geben. Für 10 Patienten, bei denen ein Krebs-Screening durchgeführt wurde Nach der Berechnung der Krebswahrscheinlichkeit für jeden Patienten sollten Sie in Betracht ziehen, den Patienten basierend darauf als positiv oder negativ zu deklarieren.

In diesem Fall entspricht die Genauigkeit der Anzahl der Patienten, die bei der Krebsvorsorge als positiv eingestuft wurden. Der Prozentsatz der Patienten, die wirklich Krebs haben Rückruf ist unter Patienten, die wirklich krebsartig sind Die Rate, als Krebs deklariert zu werden.

Das Problem hierbei ist, wenn 10 Patienten in der Reihenfolge der hohen Krebswahrscheinlichkeit angeordnet sind. Die höchste Anzahl von Personen, die sich für positiv erklären.

Abhängig davon, wie viele Personen als positiv eingestuft werden Rückruf und Präzision / Präzision ändern sich.

Zu diesem Zeitpunkt, wenn nur die erste Person positiv ist, wenn die zweite Person positiv ist, und so weiter. Die Zahl, die die Genauigkeit / den Rückruf berechnet und alle grafisch darstellt Es kann als PR-Kurve bezeichnet werden. Der Plotprozess ist wie folgt.

image.png

Die Darstellung dieser Präzision / dieses Rückrufs ist wie folgt. Auch die Form der PR-Kurve ändert sich je nach Ergebnis.

image.png

Aus der obigen Abbildung kann gesagt werden, dass die Beziehung zwischen Rückruf und Präzision / Präzision ein Kompromiss ist.

Auswertung des Modells anhand der PR-Kurve

Betrachten wir zunächst die beiden Achsen unter Berücksichtigung der maximalen effektiven Auslastung in der PR-Kurve.

Es ist am besten, eine hohe Präzision / Rückruf und einen hohen Rückruf zu haben. Aufgrund der Kompromissbeziehung fällt jedoch eine, wenn Sie versuchen, eine der beiden zu erhöhen.

Es gibt jedoch einen Punkt in der PR-Kurve, an dem die Genauigkeit / der Rückruf übereinstimmt. Dieser Punkt

Break Even Point(BEP)Wird genannt.

In dieser Hinsicht ist dies ein wichtiger Punkt im Geschäft, da es möglich ist, Kosten und Gewinne zu optimieren und gleichzeitig ein ausgewogenes Verhältnis zwischen Präzision / Präzision und Rückruf aufrechtzuerhalten. Ich habe den Bewertungsindex mit dem Namen F-Wert angesprochen, aber Sie sollten den Break-Even-Punkt als ähnliches Konzept beibehalten.

image.png

Lassen Sie uns das Modell anhand der PR-Kurve bewerten. Die Überlegenheit und Unterlegenheit des Modells basierend auf der PR-Kurve ist wie folgt. Mit anderen Worten kann gesagt werden, dass ein besseres Modell konstruiert wurde, als der BEP nach rechts oben überging. Dies liegt daran, dass mit der Verschiebung des BEP nach rechts oben gleichzeitig die Präzision / Präzision und der Rückruf zunehmen.

image.png

Recommended Posts

Leistungsbewertungsindex
Leistungsbewertung der Programmiersprache auf Basisebene