PrecisionRecallDisplay#

class sklearn.metrics.PrecisionRecallDisplay(precision, recall, *, average_precision=None, name=None, pos_label=None, prevalence_pos_label=None, estimator_name='deprecated')[Quelle]#

Visualisierung von Präzision und Recall.

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

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

Parameter:
precisionndarray

Präzisionswerte.

recallndarray

Recall-Werte.

average_precisionfloat, default=None

Durchschnittliche Präzision. Wenn None, wird die durchschnittliche Präzision nicht angezeigt.

namestr, Standardwert=None

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

Geändert in Version 1.8: estimator_name wurde zugunsten von name als veraltet markiert.

pos_labelint, float, bool oder str, Standardwert=None

Die Klasse, die als positive Klasse bei der Berechnung der Präzisions- und Recall-Metriken betrachtet wird. Wenn nicht None, wird dieser Wert in den Achsenbeschriftungen angezeigt.

Hinzugefügt in Version 0.24.

prevalence_pos_labelfloat, default=None

Die Prävalenz des positiven Labels. Sie wird für die Darstellung der Zufallslinie verwendet. Wenn None, wird die Zufallslinie nicht gezeichnet, auch wenn plot_chance_level beim Plotten auf True gesetzt ist.

Hinzugefügt in Version 1.3.

estimator_namestr, Standardwert=None

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

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

Attribute:
line_matplotlib Artist

Präzisions-Recall-Kurve.

chance_level_matplotlib Artist oder None

Die Zufallslinie. Sie ist None, wenn die Zufallslinie nicht gezeichnet wird.

Hinzugefügt in Version 1.3.

ax_matplotlib Axes

Achsen mit Präzisions-Recall-Kurve.

figure_matplotlib Figure

Abbildung, die die Kurve enthält.

Siehe auch

precision_recall_curve

Berechne Präzisions-Recall-Paare für verschiedene Wahrscheinlichkeitsschwellen.

PrecisionRecallDisplay.from_estimator

Zeichnet die Präzisions-Recall-Kurve für einen binären Klassifikator.

PrecisionRecallDisplay.from_predictions

Zeichnet die Präzisions-Recall-Kurve anhand von Vorhersagen eines binären Klassifikators.

Anmerkungen

Die durchschnittliche Präzision (siehe average_precision_score) wird in scikit-learn ohne Interpolation berechnet. Um mit dieser Metrik konsistent zu sein, wird auch die Präzisions-Recall-Kurve ohne Interpolation gezeichnet (stufenweise).

Sie können diesen Stil ändern, indem Sie das Schlüsselwortargument drawstyle="default" in plot, from_estimator oder from_predictions übergeben. Die Kurve wird jedoch nicht streng mit der gemeldeten durchschnittlichen Präzision übereinstimmen.

Beispiele

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import (precision_recall_curve,
...                              PrecisionRecallDisplay)
>>> 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)
>>> clf.fit(X_train, y_train)
SVC(random_state=0)
>>> predictions = clf.predict(X_test)
>>> precision, recall, _ = precision_recall_curve(y_test, predictions)
>>> disp = PrecisionRecallDisplay(precision=precision, recall=recall)
>>> disp.plot()
<...>
>>> plt.show()
../../_images/sklearn-metrics-PrecisionRecallDisplay-1.png
classmethod from_estimator(estimator, X, y, *, sample_weight=None, drop_intermediate=False, response_method='auto', pos_label=None, name=None, ax=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[Quelle]#

Zeichnet die Präzisions-Recall-Kurve basierend auf einem Schätzer und einigen Daten.

Allgemeine Informationen zu 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, Standard=False

Ob einige suboptimale Schwellenwerte, die nicht auf einer geplotteten Präzisions-Recall-Kurve erscheinen würden, verworfen werden sollen. Dies ist nützlich, um leichtere Präzisions-Recall-Kurven zu erstellen.

Hinzugefügt in Version 1.3.

response_method{‘predict_proba’, ‘decision_function’, ‘auto’}, default=’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 dies nicht existiert, wird decision_function als nächstes versucht.

pos_labelint, float, bool oder str, Standardwert=None

Die Klasse, die als positive Klasse bei der Berechnung der Präzisions- und Recall-Metriken betrachtet wird. Standardmäßig wird estimators.classes_[1] als positive Klasse betrachtet.

namestr, Standardwert=None

Name zur Beschriftung der Kurve. Wenn None, wird kein Name verwendet.

axmatplotlib axes, Standardwert=None

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

plot_chance_levelbool, default=False

Ob die Zufallslinie gezeichnet werden soll. Die Zufallslinie ist die Prävalenz des positiven Labels, die aus den Daten berechnet wird, die während des Aufrufs von from_estimator oder from_predictions übergeben werden.

Hinzugefügt in Version 1.3.

chance_level_kwdict, default=None

Schlüsselwortargumente, die an matplotlib.pyplot.plot zum Rendern der Zufallslinie übergeben werden.

Hinzugefügt in Version 1.3.

despinebool, default=False

Ob die oberen und rechten Spines des Plots entfernt werden sollen.

Hinzugefügt in Version 1.6.

**kwargsdict

Zusätzliche Schlüsselwortargumente, die an matplotlib.pyplot.plot übergeben werden.

Gibt zurück:
displayPrecisionRecallDisplay

Siehe auch

PrecisionRecallDisplay.from_predictions

Plottet die Präzisions-Recall-Kurve anhand geschätzter Wahrscheinlichkeiten oder der Ausgabe der Entscheidungswertfunktion.

Anmerkungen

Die durchschnittliche Präzision (siehe average_precision_score) wird in scikit-learn ohne Interpolation berechnet. Um mit dieser Metrik konsistent zu sein, wird auch die Präzisions-Recall-Kurve ohne Interpolation gezeichnet (stufenweise).

Sie können diesen Stil ändern, indem Sie das Schlüsselwortargument drawstyle="default" übergeben. Die Kurve wird jedoch nicht streng mit der gemeldeten durchschnittlichen Präzision übereinstimmen.

Beispiele

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

Zeichnet die Präzisions-Recall-Kurve basierend auf binären Klassenvorhersagen.

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

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

Tatsächliche binäre Labels.

y_scorearray-artig der Form (n_samples,)

Geschätzte Wahrscheinlichkeiten oder Ausgabe der Entscheidungswertfunktion.

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

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

Stichprobengewichte.

drop_intermediatebool, Standard=False

Ob einige suboptimale Schwellenwerte, die nicht auf einer geplotteten Präzisions-Recall-Kurve erscheinen würden, verworfen werden sollen. Dies ist nützlich, um leichtere Präzisions-Recall-Kurven zu erstellen.

Hinzugefügt in Version 1.3.

pos_labelint, float, bool oder str, Standardwert=None

Die Klasse, die als positive Klasse bei der Berechnung der Präzisions- und Recall-Metriken betrachtet wird. Wenn pos_label=None, wird pos_label auf 1 gesetzt, wenn y_true in {-1, 1} oder {0, 1} liegt, andernfalls wird ein Fehler ausgelöst.

namestr, Standardwert=None

Name zur Beschriftung der Kurve. 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.

plot_chance_levelbool, default=False

Ob die Zufallslinie gezeichnet werden soll. Die Zufallslinie ist die Prävalenz des positiven Labels, die aus den Daten berechnet wird, die während des Aufrufs von from_estimator oder from_predictions übergeben werden.

Hinzugefügt in Version 1.3.

chance_level_kwdict, default=None

Schlüsselwortargumente, die an matplotlib.pyplot.plot zum Rendern der Zufallslinie übergeben werden.

Hinzugefügt in Version 1.3.

despinebool, default=False

Ob die oberen und rechten Spines des Plots entfernt werden sollen.

Hinzugefügt in Version 1.6.

y_predarray-ähnlich mit Form (n_samples,)

Geschätzte Wahrscheinlichkeiten oder Ausgabe der Entscheidungswertfunktion.

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

**kwargsdict

Zusätzliche Schlüsselwortargumente, die an matplotlib.pyplot.plot übergeben werden.

Gibt zurück:
displayPrecisionRecallDisplay

Siehe auch

PrecisionRecallDisplay.from_estimator

Plottet die Präzisions-Recall-Kurve mithilfe eines Schätzers.

Anmerkungen

Die durchschnittliche Präzision (siehe average_precision_score) wird in scikit-learn ohne Interpolation berechnet. Um mit dieser Metrik konsistent zu sein, wird auch die Präzisions-Recall-Kurve ohne Interpolation gezeichnet (stufenweise).

Sie können diesen Stil ändern, indem Sie das Schlüsselwortargument drawstyle="default" übergeben. Die Kurve wird jedoch nicht streng mit der gemeldeten durchschnittlichen Präzision übereinstimmen.

Beispiele

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import make_classification
>>> from sklearn.metrics import PrecisionRecallDisplay
>>> from sklearn.model_selection import train_test_split
>>> from sklearn.linear_model import LogisticRegression
>>> X, y = make_classification(random_state=0)
>>> X_train, X_test, y_train, y_test = train_test_split(
...         X, y, random_state=0)
>>> clf = LogisticRegression()
>>> clf.fit(X_train, y_train)
LogisticRegression()
>>> y_score = clf.predict_proba(X_test)[:, 1]
>>> PrecisionRecallDisplay.from_predictions(
...    y_test, y_score)
<...>
>>> plt.show()
../../_images/sklearn-metrics-PrecisionRecallDisplay-3.png
plot(ax=None, *, name=None, plot_chance_level=False, chance_level_kw=None, despine=False, **kwargs)[Quelle]#

Visualisierung plotten.

Zusätzliche Schlüsselwortargumente werden an matplotlib.pyplot.plot übergeben.

Parameter:
axMatplotlib Axes, default=None

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

namestr, Standardwert=None

Name der Präzisions-Recall-Kurve zur Beschriftung. Wenn None, wird name verwendet, wenn es nicht None ist, andernfalls wird keine Beschriftung angezeigt.

plot_chance_levelbool, default=False

Ob die Zufallslinie gezeichnet werden soll. Die Zufallslinie ist die Prävalenz des positiven Labels, die aus den Daten berechnet wird, die während des Aufrufs von from_estimator oder from_predictions übergeben werden.

Hinzugefügt in Version 1.3.

chance_level_kwdict, default=None

Schlüsselwortargumente, die an matplotlib.pyplot.plot zum Rendern der Zufallslinie übergeben werden.

Hinzugefügt in Version 1.3.

despinebool, default=False

Ob die oberen und rechten Spines des Plots entfernt werden sollen.

Hinzugefügt in Version 1.6.

**kwargsdict

Zusätzliche Schlüsselwortargumente, die an matplotlib.pyplot.plot übergeben werden.

Gibt zurück:
displayPrecisionRecallDisplay

Objekt, das berechnete Werte speichert.

Anmerkungen

Die durchschnittliche Präzision (siehe average_precision_score) wird in scikit-learn ohne Interpolation berechnet. Um mit dieser Metrik konsistent zu sein, wird auch die Präzisions-Recall-Kurve ohne Interpolation gezeichnet (stufenweise).

Sie können diesen Stil ändern, indem Sie das Schlüsselwortargument drawstyle="default" übergeben. Die Kurve wird jedoch nicht streng mit der gemeldeten durchschnittlichen Präzision übereinstimmen.