det_curve#
- sklearn.metrics.det_curve(y_true, y_score, pos_label=None, sample_weight=None, drop_intermediate=False)[Quelle]#
Berechne Detection Error Tradeoff (DET) für verschiedene Wahrscheinlichkeitsschwellen.
Hinweis: Unterstützung über binäre Klassifikationsaufgaben hinaus mittels One-vs-Rest oder One-vs-One ist nicht implementiert.
Die DET-Kurve wird zur Bewertung von Rangordnungen und Fehlertragwerken in binären Klassifikationsaufgaben verwendet.
Lesen Sie mehr im Benutzerhandbuch.
Hinzugefügt in Version 0.24.
Geändert in Version 1.7: Ein willkürlicher Schwellenwert bei Unendlich wird hinzugefügt, um einen Klassifikator darzustellen, der immer die negative Klasse vorhersagt, d. h.
fpr=0undfnr=1, es sei denn,fpr=0wird bereits bei einem endlichen Schwellenwert erreicht.- Parameter:
- y_truendarray mit Form (n_samples,)
Wahre binäre Labels. Wenn die Labels weder {-1, 1} noch {0, 1} sind, sollte pos_label explizit angegeben werden.
- y_scorendarray der Form (n_samples,)
Zielwerte, können entweder Wahrscheinlichkeitsschätzungen der positiven Klasse, Konfidenzwerte oder nicht-schwellenwertbasierte Entscheidungsmaße sein (wie sie von „decision_function“ bei einigen Klassifikatoren zurückgegeben werden). Für decision_function-Scores sollten Werte größer oder gleich Null die positive Klasse anzeigen.
- pos_labelint, float, bool oder str, Standardwert=None
Das Label der positiven Klasse. Wenn
pos_label=Noneist, undy_truein {-1, 1} oder {0, 1} liegt, wirdpos_labelauf 1 gesetzt, andernfalls wird ein Fehler ausgelöst.- sample_weightarray-like der Form (n_samples,), Standardwert=None
Stichprobengewichte.
- drop_intermediatebool, Standard=False
Ob Schwellenwerte, bei denen sich die tatsächlichen Positiven (tp) vom vorherigen oder nachfolgenden Schwellenwert nicht ändern, verworfen werden sollen. Alle Punkte mit demselben tp-Wert haben denselben
fnrund somit dieselbe y-Koordinate.Hinzugefügt in Version 1.7.
- Gibt zurück:
- fprndarray der Form (n_thresholds,)
Falsch-Positiv-Rate (FPR), so dass Element i die falsch-positiv-Rate von Vorhersagen mit Score >= thresholds[i] ist. Dies wird gelegentlich als Wahrscheinlichkeit für eine falsche Akzeptanz oder als Ausfallrate bezeichnet.
- fnrndarray der Form (n_thresholds,)
Falsch-Negativ-Rate (FNR), so dass Element i die falsch-negativ-Rate von Vorhersagen mit Score >= thresholds[i] ist. Dies wird gelegentlich als falsche Ablehnung oder Fehlrate bezeichnet.
- thresholdsndarray der Form (n_thresholds,)
Absteigende Schwellenwerte auf der Entscheidungsgrundlage (entweder
predict_probaoderdecision_function), die zur Berechnung von FPR und FNR verwendet werden.Geändert in Version 1.7: Ein willkürlicher Schwellenwert bei Unendlich wird für den Fall hinzugefügt, dass
fpr=0undfnr=1.
Siehe auch
DetCurveDisplay.from_estimatorZeichnet eine DET-Kurve anhand eines Schätzers und einiger Daten.
DetCurveDisplay.from_predictionsZeichnet eine DET-Kurve anhand der wahren und vorhergesagten Labels.
DetCurveDisplayDET-Kurvenvisualisierung.
roc_curveBerechnen Sie die Receiver Operating Characteristic (ROC)-Kurve.
precision_recall_curveBerechnet die Präzisions-Recall-Kurve.
confusion_matrix_at_thresholdsBerechnet im binären Fall die Zählungen von True Negative, False Positive, False Negative und True Positive pro Schwellenwert.
Beispiele
>>> import numpy as np >>> from sklearn.metrics import det_curve >>> y_true = np.array([0, 0, 1, 1]) >>> y_scores = np.array([0.1, 0.4, 0.35, 0.8]) >>> fpr, fnr, thresholds = det_curve(y_true, y_scores) >>> fpr array([0.5, 0.5, 0. ]) >>> fnr array([0. , 0.5, 0.5]) >>> thresholds array([0.35, 0.4 , 0.8 ])
Galeriebeispiele#
Leistung eines Klassifikators mit Konfusionsmatrix bewerten