RocCurveDisplay#

class sklearn.metrics.RocCurveDisplay(*, fpr, tpr, roc_auc=None, name=None, pos_label=None, estimator_name='deprecated')[Quelle]#

Visualisierung der ROC-Kurve.

Es wird empfohlen, from_estimator oder from_predictions oder from_cv_results zu verwenden, um eine RocCurveDisplay zu erstellen. Alle Parameter werden als Attribute gespeichert.

Allgemeine Informationen zu den Visualisierungswerkzeugen von scikit-learn finden Sie im Visualisierungsleitfaden. Anleitungen zur Interpretation dieser Plots finden Sie im Leitfaden zur Modellbewertung.

Parameter:
fprndarray oder Liste von ndarrays

Fehlerhafte Positivraten. Jedes ndarray sollte Werte für eine einzelne Kurve enthalten. Wenn mehrere Kurven geplottet werden, sollte die Liste die gleiche Länge wie tpr haben.

Geändert in Version 1.7: Akzeptiert jetzt eine Liste zum Plotten mehrerer Kurven.

tprndarray oder Liste von ndarrays

Wahre Positivraten. Jedes ndarray sollte Werte für eine einzelne Kurve enthalten. Wenn mehrere Kurven geplottet werden, sollte die Liste die gleiche Länge wie fpr haben.

Geändert in Version 1.7: Akzeptiert jetzt eine Liste zum Plotten mehrerer Kurven.

roc_aucfloat oder Liste von floats, Standardwert=None

Fläche unter der ROC-Kurve, verwendet zur Beschriftung jeder Kurve in der Legende. Wenn mehrere Kurven geplottet werden, sollte es eine Liste mit der gleichen Länge wie fpr und tpr sein. Wenn None, werden die ROC-AUC-Scores nicht in der Legende angezeigt.

Geändert in Version 1.7: Akzeptiert jetzt eine Liste zum Plotten mehrerer Kurven.

namestr oder Liste von str, Standardwert=None

Name zur Beschriftung von Legendereinträgen. Die Anzahl der Legendereinträge wird durch curve_kwargs bestimmt, die an plot übergeben werden, und wird von name nicht beeinflusst. Um jede Kurve zu beschriften, geben Sie eine Liste von Zeichenketten an. Um einzelne Kurven, die das gleiche Aussehen haben, nicht zu beschriften, kann eine Liste nicht in Verbindung mit curve_kwargs als Wörterbuch oder None verwendet werden. Wenn eine Zeichenkette angegeben wird, wird sie entweder zur Beschriftung des einzelnen Legendereintrags oder, wenn es mehrere Legendereinträge gibt, zur Beschriftung jeder einzelnen Kurve mit demselben Namen verwendet. Wenn None, wird kein Name in der Legende angezeigt.

Geändert in Version 1.7: estimator_name wurde zugunsten von name veraltet.

pos_labelint, float, bool oder str, Standardwert=None

Die Klasse, die als positive Klasse betrachtet wird, wenn ROC-AUC-Metriken berechnet werden. Wenn nicht None, wird dieser Wert in den Achsenbeschriftungen (x und y) angezeigt.

Hinzugefügt in Version 0.24.

estimator_namestr, Standardwert=None

Name des Schätzers. Wenn None, wird der Name des Schätzers nicht angezeigt.

Veraltet seit Version 1.7: estimator_name ist veraltet und wird in 1.9 entfernt. Verwenden Sie stattdessen name.

Attribute:
line_matplotlib Artist oder Liste von matplotlib Artists

ROC-Kurven.

Geändert in Version 1.7: Dieses Attribut kann jetzt eine Liste von Artists sein, wenn mehrere Kurven geplottet werden.

chance_level_matplotlib Artist oder None

Die Linie für das Zufallsniveau. Sie ist None, wenn das Zufallsniveau nicht geplottet wird.

Hinzugefügt in Version 1.3.

ax_matplotlib Axes

Achsen mit ROC-Kurve.

figure_matplotlib Figure

Abbildung, die die Kurve enthält.

Siehe auch

roc_curve

Berechnen Sie die Receiver Operating Characteristic (ROC)-Kurve.

RocCurveDisplay.from_estimator

Zeichnen Sie die Receiver Operating Characteristic (ROC)-Kurve anhand eines Estimators und einiger Daten.

RocCurveDisplay.from_predictions

Zeichnen Sie die Receiver Operating Characteristic (ROC)-Kurve anhand der wahren und vorhergesagten Werte.

RocCurveDisplay.from_cv_results

Plotten von ROC-Kurven für mehrere Folds anhand von Kreuzvalidierungsergebnissen.

roc_auc_score

Berechnet die Fläche unter der ROC-Kurve.

Beispiele

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> from sklearn import metrics
>>> y_true = np.array([0, 0, 1, 1])
>>> y_score = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y_true, y_score)
>>> roc_auc = metrics.auc(fpr, tpr)
>>> display = metrics.RocCurveDisplay(fpr=fpr, tpr=tpr, roc_auc=roc_auc,
...                                   name='example estimator')
>>> display.plot()
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-1.png
classmethod from_cv_results(cv_results, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, ax=None, name=None, curve_kwargs=None, plot_chance_level=False, chance_level_kwargs=None, despine=False)[Quelle]#

Erstellt eine ROC-Kurvenanzeige für mehrere Folds anhand von Kreuzvalidierungsergebnissen.

Hinzugefügt in Version 1.7.

Parameter:
cv_resultsdict

Wörterbuch, wie es von cross_validate mit return_estimator=True und return_indices=True zurückgegeben wird (d. h. das Wörterbuch sollte die Schlüssel "estimator" und "indices" enthalten).

X{array-like, sparse matrix} der Form (n_samples, n_features)

Eingabewerte.

yarray-like von Form (n_samples,)

Zielwerte.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

drop_intermediatebool, Standardwert=True

Ob einige suboptimale Schwellenwerte, die nicht auf einer geplotteten ROC-Kurve erscheinen würden, fallen gelassen werden sollen. Dies ist nützlich, um leichtere ROC-Kurven zu erstellen.

response_method{‘predict_proba’, ‘decision_function’, ‘auto’} Standardwert=’auto’

Gibt an, ob predict_proba oder decision_function als Zielantwort verwendet werden soll. Wenn auf „auto“ gesetzt, wird zuerst predict_proba versucht, und wenn es nicht existiert, wird decision_function versucht.

pos_labelint, float, bool oder str, Standardwert=None

Die Klasse, die als positive Klasse bei der Berechnung der ROC-AUC-Metriken betrachtet wird. Standardmäßig wird estimator.classes_[1] (unter Verwendung von estimator aus cv_results) als positive Klasse betrachtet.

axmatplotlib axes, Standardwert=None

Axes-Objekt, auf dem geplottet werden soll. Wenn None, wird eine neue Figur und Achse erstellt.

namestr oder Liste von str, Standardwert=None

Name zur Beschriftung von Legendereinträgen. Die Anzahl der Legendereinträge wird durch curve_kwargs bestimmt und wird von name nicht beeinflusst. Um jede Kurve zu beschriften, geben Sie eine Liste von Zeichenketten an. Um einzelne Kurven, die das gleiche Aussehen haben, nicht zu beschriften, kann eine Liste nicht in Verbindung mit curve_kwargs als Wörterbuch oder None verwendet werden. Wenn eine Zeichenkette angegeben wird, wird sie entweder zur Beschriftung des einzelnen Legendereintrags oder, wenn es mehrere Legendereinträge gibt, zur Beschriftung jeder einzelnen Kurve mit demselben Namen verwendet. Wenn None, wird kein Name in der Legende angezeigt.

curve_kwargsdict oder Liste von dict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden, um einzelne ROC-Kurven zu zeichnen. Wenn eine Liste angegeben wird, werden die Parameter sequenziell auf die ROC-Kurven jedes CV-Folds angewendet und ein Legendereintrag für jede Kurve hinzugefügt. Wenn ein einzelnes Wörterbuch angegeben wird, werden dieselben Parameter auf alle ROC-Kurven angewendet und ein einzelner Legendereintrag für alle Kurven hinzugefügt, der mit dem mittleren ROC-AUC-Score beschriftet ist.

plot_chance_levelbool, Standardwert=False

Ob das Zufallsniveau geplottet werden soll.

chance_level_kwargsdict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib zur Darstellung der Zufallsniveaulienie übergeben werden.

despinebool, Standardwert=False

Ob die oberen und rechten Spines vom Plot entfernt werden sollen.

Gibt zurück:
Die ROC-Kurvenanzeige.

Die ROC-Kurvenanzeige für mehrere Folds.

Siehe auch

roc_curve

Berechnen Sie die Receiver Operating Characteristic (ROC)-Kurve.

RocCurveDisplay.from_estimator

Zeichnen Sie die Receiver Operating Characteristic (ROC)-Kurve anhand eines Estimators und einiger Daten.

RocCurveDisplay.from_predictions

ROC-Kurvenvisualisierung anhand der Wahrscheinlichkeiten oder Scores eines Klassifikators.

roc_auc_score

Berechnet die Fläche unter der ROC-Kurve.

Beispiele

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import RocCurveDisplay
>>> from sklearn.model_selection import cross_validate
>>> from sklearn.svm import SVC
>>> X, y = make_classification(random_state=0)
>>> clf = SVC(random_state=0)
>>> cv_results = cross_validate(
...     clf, X, y, cv=3, return_estimator=True, return_indices=True)
>>> RocCurveDisplay.from_cv_results(cv_results, X, y)
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-2.png
classmethod from_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=True, response_method='auto', pos_label=None, name=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[Quelle]#

Erstellt eine ROC-Kurvenanzeige aus einem Schätzer.

Allgemeine Informationen zu den Visualisierungswerkzeugen von scikit-learn finden Sie im Visualisierungsleitfaden. Anleitungen zur Interpretation dieser Plots finden Sie im Leitfaden zur Modellbewertung.

Parameter:
estimatorSchätzer-Instanz

Gefitteter Klassifikator oder eine gefittete Pipeline, bei der der letzte Schätzer ein Klassifikator ist.

X{array-like, sparse matrix} der Form (n_samples, n_features)

Eingabewerte.

yarray-like von Form (n_samples,)

Zielwerte.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

drop_intermediatebool, Standardwert=True

Ob Schwellenwerte, bei denen der resultierende Punkt im ROC-Raum kollinear mit seinen Nachbarn ist, verworfen werden sollen. Dies hat keine Auswirkung auf die ROC-AUC oder die visuelle Form der Kurve, reduziert aber die Anzahl der geplotteten Punkte.

response_method{‘predict_proba’, ‘decision_function’, ‘auto’} Standardwert=’auto’

Gibt an, ob predict_proba oder decision_function als Zielantwort verwendet werden soll. Wenn auf „auto“ gesetzt, wird zuerst predict_proba versucht, und wenn es nicht existiert, wird decision_function versucht.

pos_labelint, float, bool oder str, Standardwert=None

Die Klasse, die als positive Klasse bei der Berechnung der ROC-AUC betrachtet wird. Standardmäßig wird estimators.classes_[1] als positive Klasse betrachtet.

namestr, Standardwert=None

Name der ROC-Kurve zur Beschriftung der Legende. Wenn None, wird der Name des Schätzers verwendet.

axmatplotlib axes, Standardwert=None

Axes-Objekt, auf dem geplottet werden soll. Wenn None, wird eine neue Figur und Achse erstellt.

curve_kwargsdict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden.

Hinzugefügt in Version 1.7.

plot_chance_levelbool, Standardwert=False

Ob das Zufallsniveau geplottet werden soll.

Hinzugefügt in Version 1.3.

chance_level_kwdict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib zur Darstellung der Zufallsniveaulienie übergeben werden.

Hinzugefügt in Version 1.3.

despinebool, Standardwert=False

Ob die oberen und rechten Spines vom Plot entfernt werden sollen.

Hinzugefügt in Version 1.6.

**kwargsdict

Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden.

Veraltet seit Version 1.7: kwargs ist veraltet und wird in 1.9 entfernt. Übergeben Sie matplotlib-Argumente stattdessen als Wörterbuch an curve_kwargs.

Gibt zurück:
Die ROC-Kurvenanzeige.

Die ROC-Kurvenanzeige.

Siehe auch

roc_curve

Berechnen Sie die Receiver Operating Characteristic (ROC)-Kurve.

RocCurveDisplay.from_predictions

ROC-Kurvenvisualisierung anhand der Wahrscheinlichkeiten oder Scores eines Klassifikators.

RocCurveDisplay.from_cv_results

Plotten von ROC-Kurven für mehrere Folds anhand von Kreuzvalidierungsergebnissen.

roc_auc_score

Berechnet die Fläche unter der ROC-Kurve.

Beispiele

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import RocCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> RocCurveDisplay.from_estimator(
...    clf, X_test, y_test)
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-3.png
classmethod from_predictions(y_true, y_score=None, *, sample_weight=None, drop_intermediate=True, pos_label=None, name=None, ax=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, y_pred='deprecated', **kwargs)[Quelle]#

Plotten Sie die ROC-Kurve anhand der wahren und vorhergesagten Werte.

Allgemeine Informationen zu den Visualisierungswerkzeugen von scikit-learn finden Sie im Visualisierungsleitfaden. Anleitungen zur Interpretation dieser Plots finden Sie im Leitfaden zur Modellbewertung.

Hinzugefügt in Version 1.0.

Parameter:
y_truearray-ähnlich mit Form (n_samples,)

Wahre Labels.

y_scorearray-artig der Form (n_samples,)

Ziel-Scores, 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).

Hinzugefügt in Version 1.7: y_pred wurde in y_score umbenannt.

sample_weightarray-like der Form (n_samples,), Standardwert=None

Stichprobengewichte.

drop_intermediatebool, Standardwert=True

Ob Schwellenwerte, bei denen der resultierende Punkt im ROC-Raum kollinear mit seinen Nachbarn ist, verworfen werden sollen. Dies hat keine Auswirkung auf die ROC-AUC oder die visuelle Form der Kurve, reduziert aber die Anzahl der geplotteten Punkte.

pos_labelint, float, bool oder str, Standardwert=None

Das Label der positiven Klasse bei der Berechnung der ROC-AUC. Wenn pos_label=None, und y_true in {-1, 1} oder {0, 1} ist, wird pos_label auf 1 gesetzt, andernfalls wird ein Fehler ausgelöst.

namestr, Standardwert=None

Name der ROC-Kurve für die Legendenbeschriftung. Wenn None, wird der Name auf "Classifier" gesetzt.

axmatplotlib axes, Standardwert=None

Axes-Objekt, auf dem geplottet werden soll. Wenn None, wird eine neue Figur und Achse erstellt.

curve_kwargsdict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden.

Hinzugefügt in Version 1.7.

plot_chance_levelbool, Standardwert=False

Ob das Zufallsniveau geplottet werden soll.

Hinzugefügt in Version 1.3.

chance_level_kwdict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib zur Darstellung der Zufallsniveaulienie übergeben werden.

Hinzugefügt in Version 1.3.

despinebool, Standardwert=False

Ob die oberen und rechten Spines vom Plot entfernt werden sollen.

Hinzugefügt in Version 1.6.

y_predarray-ähnlich mit Form (n_samples,)

Ziel-Scores, 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).

Veraltet seit Version 1.7: y_pred ist veraltet und wird in 1.9 entfernt. Verwenden Sie stattdessen y_score.

**kwargsdict

Zusätzliche Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden.

Veraltet seit Version 1.7: kwargs ist veraltet und wird in 1.9 entfernt. Übergeben Sie matplotlib-Argumente stattdessen als Wörterbuch an curve_kwargs.

Gibt zurück:
Die ROC-Kurvenanzeige.

Objekt, das berechnete Werte speichert.

Siehe auch

roc_curve

Berechnen Sie die Receiver Operating Characteristic (ROC)-Kurve.

RocCurveDisplay.from_estimator

ROC-Kurvenvisualisierung anhand eines Schätzers und einiger Daten.

RocCurveDisplay.from_cv_results

Plotten von ROC-Kurven für mehrere Folds anhand von Kreuzvalidierungsergebnissen.

roc_auc_score

Berechnet die Fläche unter der ROC-Kurve.

Beispiele

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import RocCurveDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.svm import SVC
>>> X, y = make_classification(random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...     X, y, random_state=0)
>>> clf = SVC(random_state=0).fit(X_train, y_train)
>>> y_score = clf.decision_function(X_test)
>>> RocCurveDisplay.from_predictions(y_test, y_score)
<...>
>>> plt.show()
../../_images/sklearn-metrics-RocCurveDisplay-4.png
plot(ax=None, *, name=None, curve_kwargs=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[Quelle]#

Visualisierung plotten.

Parameter:
axmatplotlib axes, Standardwert=None

Axes-Objekt, auf dem geplottet werden soll. Wenn None, wird eine neue Figur und Achse erstellt.

namestr oder Liste von str, Standardwert=None

Name zur Beschriftung von Legendereinträgen. Die Anzahl der Legendereinträge wird durch curve_kwargs bestimmt und wird von name nicht beeinflusst. Um jede Kurve zu beschriften, geben Sie eine Liste von Zeichenketten an. Um einzelne Kurven, die das gleiche Aussehen haben, nicht zu beschriften, kann eine Liste nicht in Verbindung mit curve_kwargs als Wörterbuch oder None verwendet werden. Wenn eine Zeichenkette angegeben wird, wird sie entweder zur Beschriftung des einzelnen Legendereintrags oder, wenn es mehrere Legendereinträge gibt, zur Beschriftung jeder einzelnen Kurve mit demselben Namen verwendet. Wenn None, wird auf name gesetzt, der bei der Initialisierung von RocCurveDisplay angegeben wurde. Wenn immer noch None, wird kein Name in der Legende angezeigt.

Hinzugefügt in Version 1.7.

curve_kwargsdict oder Liste von dict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden, um einzelne ROC-Kurven zu zeichnen. Für die Darstellung einer einzelnen Kurve sollte dies ein Wörterbuch sein. Für die Darstellung mehrerer Kurven: Wenn eine Liste angegeben wird, werden die Parameter sequenziell auf die ROC-Kurven jedes CV-Folds angewendet und ein Legendereintrag für jede Kurve hinzugefügt. Wenn ein einzelnes Wörterbuch angegeben wird, werden dieselben Parameter auf alle ROC-Kurven angewendet und ein einzelner Legendereintrag für alle Kurven hinzugefügt, der mit dem mittleren ROC-AUC-Score beschriftet ist.

Hinzugefügt in Version 1.7.

plot_chance_levelbool, Standardwert=False

Ob das Zufallsniveau geplottet werden soll.

Hinzugefügt in Version 1.3.

chance_level_kwdict, Standardwert=None

Schlüsselwortargumente, die an die plot-Funktion von matplotlib zur Darstellung der Zufallsniveaulienie übergeben werden.

Hinzugefügt in Version 1.3.

despinebool, Standardwert=False

Ob die oberen und rechten Spines vom Plot entfernt werden sollen.

Hinzugefügt in Version 1.6.

**kwargsdict

Schlüsselwortargumente, die an die plot-Funktion von matplotlib übergeben werden.

Veraltet seit Version 1.7: kwargs ist veraltet und wird in 1.9 entfernt. Übergeben Sie matplotlib-Argumente stattdessen als Wörterbuch an curve_kwargs.

Gibt zurück:
Die ROC-Kurvenanzeige.

Objekt, das berechnete Werte speichert.