DecisionBoundaryDisplay#

class sklearn.inspection.DecisionBoundaryDisplay(*, xx0, xx1, response, multiclass_colors=None, xlabel=None, ylabel=None)[Quelle]#

Visualisierung von Entscheidungsgrenzen.

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

Lesen Sie mehr im Benutzerhandbuch.

Ein detailliertes Beispiel, das die Entscheidungsgrenzen von multinomialer und One-vs-Rest-Logistischer Regression vergleicht, finden Sie unter Entscheidungsgrenzen von multinomialer und One-vs-Rest-Logistischer Regression.

Hinzugefügt in Version 1.1.

Parameter:
xx0ndarray der Form (grid_resolution, grid_resolution)

Erste Ausgabe von meshgrid.

xx1ndarray der Form (grid_resolution, grid_resolution)

Zweite Ausgabe von meshgrid.

responsendarray der Form (grid_resolution, grid_resolution) oder (grid_resolution, grid_resolution, n_classes)

Werte der Response-Funktion.

multiclass_colorsListe von str oder str, Standard=None

Gibt an, wie jede Klasse beim Plotten aller Klassen eines Multiklassenproblems gefärbt werden soll. Wird für binäre Probleme und Multiklassenprobleme ignoriert, wenn nur ein Vorhersagewert pro Punkt geplottet wird. Mögliche Eingaben sind

  • Liste: Liste von Matplotlib Farb-Strings der Länge n_classes

  • str: Name einer matplotlib.colors.Colormap

  • None: Die Colormap 'viridis' wird verwendet, um Farben abzutasten

Einfarbige Colormaps werden aus den Farben in der Liste generiert oder Farben aus der Colormap entnommen und dem Parameter cmap der plot_method übergeben.

Hinzugefügt in Version 1.7.

xlabelstr, Standard=None

Standardbeschriftung für die x-Achse.

ylabelstr, Standard=None

Standardbeschriftung für die y-Achse.

Attribute:
surface_matplotlib QuadContourSet oder QuadMesh oder Liste solcher Objekte

Wenn plot_method 'contour' oder 'contourf' ist, ist surface_ ein QuadContourSet. Wenn plot_method 'pcolormesh' ist, ist surface_ ein QuadMesh.

multiclass_colors_array der Form (n_classes, 4)

Farben, die zum Plotten jeder Klasse in Multiklassenproblemen verwendet werden. Nur definiert, wenn color_of_interest None ist.

Hinzugefügt in Version 1.7.

ax_matplotlib Axes

Achsen mit Entscheidungsgrenze.

figure_matplotlib Figure

Figur, die die Entscheidungsgrenze enthält.

Siehe auch

DecisionBoundaryDisplay.from_estimator

Entscheidungsgrenze basierend auf einem Schätzer plotten.

Beispiele

>>> import matplotlib.pyplot as plt
>>> import numpy as np
>>> from sklearn.datasets import load_iris
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> from sklearn.tree import DecisionTreeClassifier
>>> iris = load_iris()
>>> feature_1, feature_2 = np.meshgrid(
...     np.linspace(iris.data[:, 0].min(), iris.data[:, 0].max()),
...     np.linspace(iris.data[:, 1].min(), iris.data[:, 1].max())
... )
>>> grid = np.vstack([feature_1.ravel(), feature_2.ravel()]).T
>>> tree = DecisionTreeClassifier().fit(iris.data[:, :2], iris.target)
>>> y_pred = np.reshape(tree.predict(grid), feature_1.shape)
>>> display = DecisionBoundaryDisplay(
...     xx0=feature_1, xx1=feature_2, response=y_pred
... )
>>> display.plot()
<...>
>>> display.ax_.scatter(
...     iris.data[:, 0], iris.data[:, 1], c=iris.target, edgecolor="black"
... )
<...>
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-1.png
classmethod from_estimator(estimator, X, *, grid_resolution=100, eps=1.0, plot_method='contourf', response_method='auto', class_of_interest=None, multiclass_colors=None, xlabel=None, ylabel=None, ax=None, **kwargs)[Quelle]#

Entscheidungsgrenze basierend auf einem Schätzer plotten.

Lesen Sie mehr im Benutzerhandbuch.

Parameter:
estimatorobjekt

Trainierter Schätzer, der zum Plotten der Entscheidungsgrenze verwendet wird.

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

Eingabedaten, die nur 2-dimensional sein sollten.

grid_resolutionint, Standard=100

Anzahl der zu verwendenden Gitterpunkte für das Plotten der Entscheidungsgrenze. Höhere Werte lassen das Diagramm besser aussehen, sind aber langsamer zu rendern.

epsfloat, Standard=1.0

Erweitert die minimalen und maximalen Werte von X zur Auswertung der Response-Funktion.

plot_method{‘contourf’, ‘contour’, ‘pcolormesh’}, Standard=’contourf’

Plotting-Methode, die beim Plotten der Response aufgerufen werden soll. Bitte siehe die folgende Matplotlib-Dokumentation für Details: contourf, contour, pcolormesh.

response_method{‘auto’, ‘decision_function’, ‘predict_proba’, ‘predict’}, Standard=’auto’

Gibt an, ob decision_function, predict_proba oder predict als Ziel-Response verwendet werden soll. Wenn auf 'auto' gesetzt, wird die Response-Methode in der oben genannten Reihenfolge versucht.

Geändert in Version 1.6: Für Multiklassenprobleme ist 'auto' kein Standard mehr für 'predict'.

class_of_interestint, float, bool oder str, Standard=None

Die Klasse, die geplottet werden soll, wenn response_method 'predict_proba' oder 'decision_function' ist. Wenn None, wird estimator.classes_[1] für binäre Klassifikatoren als positive Klasse betrachtet. Für Multiklassen-Klassifikatoren werden, wenn None, alle Klassen in der Entscheidungsgrenze dargestellt; die Klasse mit dem höchsten Response-Wert an jedem Punkt wird geplottet. Die Farbe jeder Klasse kann über multiclass_colors eingestellt werden.

Hinzugefügt in Version 1.4.

multiclass_colorsListe von str oder str, Standard=None

Gibt an, wie jede Klasse beim Plotten von Multiklassen-'predict_proba' oder 'decision_function' gefärbt werden soll und class_of_interest None ist. Wird in allen anderen Fällen ignoriert.

Mögliche Eingaben sind

  • Liste: Liste von Matplotlib Farb-Strings der Länge n_classes

  • str: Name einer matplotlib.colors.Colormap

  • None: Die Colormap 'tab10' wird verwendet, um Farben abzutasten, wenn die Anzahl der

    Klassen kleiner oder gleich 10 ist, andernfalls die Colormap 'gist_rainbow'.

Einfarbige Colormaps werden aus den Farben in der Liste generiert oder Farben aus der Colormap entnommen und dem Parameter cmap der plot_method übergeben.

Hinzugefügt in Version 1.7.

xlabelstr, Standard=None

Die für die x-Achse verwendete Beschriftung. Wenn None, wird versucht, eine Beschriftung aus X zu extrahieren, wenn es sich um einen DataFrame handelt, andernfalls wird ein leerer String verwendet.

ylabelstr, Standard=None

Die für die y-Achse verwendete Beschriftung. Wenn None, wird versucht, eine Beschriftung aus X zu extrahieren, wenn es sich um einen DataFrame handelt, andernfalls wird ein leerer String verwendet.

axMatplotlib Axes, Standard=None

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

**kwargsdict

Zusätzliche Schlüsselwortargumente, die an die plot_method übergeben werden sollen.

Gibt zurück:
displayDecisionBoundaryDisplay

Objekt, das das Ergebnis speichert.

Siehe auch

DecisionBoundaryDisplay

Visualisierung der Entscheidungsgrenze.

sklearn.metrics.ConfusionMatrixDisplay.from_estimator

Konfusionsmatrix basierend auf einem Schätzer, den Daten und dem Label plotten.

sklearn.metrics.ConfusionMatrixDisplay.from_predictions

Konfusionsmatrix basierend auf den wahren und vorhergesagten Labels plotten.

Beispiele

>>> import matplotlib.pyplot as plt
>>> from sklearn.datasets import load_iris
>>> from sklearn.linear_model import LogisticRegression
>>> from sklearn.inspection import DecisionBoundaryDisplay
>>> iris = load_iris()
>>> X = iris.data[:, :2]
>>> classifier = LogisticRegression().fit(X, iris.target)
>>> disp = DecisionBoundaryDisplay.from_estimator(
...     classifier, X, response_method="predict",
...     xlabel=iris.feature_names[0], ylabel=iris.feature_names[1],
...     alpha=0.5,
... )
>>> disp.ax_.scatter(X[:, 0], X[:, 1], c=iris.target, edgecolor="k")
<...>
>>> plt.show()
../../_images/sklearn-inspection-DecisionBoundaryDisplay-2.png
plot(plot_method='contourf', ax=None, xlabel=None, ylabel=None, **kwargs)[Quelle]#

Visualisierung plotten.

Parameter:
plot_method{‘contourf’, ‘contour’, ‘pcolormesh’}, Standard=’contourf’

Plotting-Methode, die beim Plotten der Response aufgerufen werden soll. Bitte siehe die folgende Matplotlib-Dokumentation für Details: contourf, contour, pcolormesh.

axMatplotlib Axes, Standard=None

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

xlabelstr, Standard=None

Überschreibe die x-Achsenbeschriftung.

ylabelstr, Standard=None

Überschreibe die y-Achsenbeschriftung.

**kwargsdict

Zusätzliche Schlüsselwortargumente, die an die plot_method übergeben werden sollen.

Gibt zurück:
display: DecisionBoundaryDisplay

Objekt, das berechnete Werte speichert.