ValidationCurveDisplay#
- class sklearn.model_selection.ValidationCurveDisplay(*, param_name, param_range, train_scores, test_scores, score_name=None)[Quelle]#
Visualisierung der Validierungskurve.
Es wird empfohlen,
from_estimatorzu verwenden, um eine Instanz vonValidationCurveDisplayzu erstellen. Alle Parameter werden als Attribute gespeichert.Lesen Sie mehr im Benutzerhandbuch für allgemeine Informationen über die Visualisierungs-API und detaillierte Dokumentation zur Validierungskurven-Visualisierung.
Hinzugefügt in Version 1.3.
- Parameter:
- param_namestr
Name des Parameters, der variiert wurde.
- param_rangearray-like von der Form (n_ticks,)
Die Werte des Parameters, die ausgewertet wurden.
- train_scoresndarray von der Form (n_ticks, n_cv_folds)
Ergebnisse auf Trainingsdatensätzen.
- test_scoresndarray von der Form (n_ticks, n_cv_folds)
Ergebnisse auf Testdatensätzen.
- score_namestr, Standard=None
Der Name der Punktzahl, die in
validation_curveverwendet wird. Er überschreibt den Namen, der aus demscoring-Parameter abgeleitet wird. WennscoreNoneist, verwenden wir"Score", wennnegate_scoreFalseist, und"Negative score"andernfalls. Wennscoringein String oder aufrufbar ist, leiten wir den Namen ab. Wir ersetzen_durch Leerzeichen und großschreiben den ersten Buchstaben. Wir entfernenneg_und ersetzen es durch"Negative", wennnegate_scoreFalseist, oder entfernen es andernfalls einfach.
- Attribute:
- ax_matplotlib Axes
Achsen mit der Validierungskurve.
- figure_matplotlib Figure
Abbildung, die die Validierungskurve enthält.
- errorbar_Liste von matplotlib Artist oder None
Wenn
std_display_style"errorbar"ist, ist dies eine Liste vonmatplotlib.container.ErrorbarContainer-Objekten. Wenn ein anderer Stil verwendet wird, isterrorbar_None.- lines_Liste von matplotlib Artist oder None
Wenn
std_display_style"fill_between"ist, ist dies eine Liste vonmatplotlib.lines.Line2D-Objekten, die den mittleren Trainings- und Testergebnissen entsprechen. Wenn ein anderer Stil verwendet wird, istline_None.- fill_between_Liste von matplotlib Artist oder None
Wenn
std_display_style"fill_between"ist, ist dies eine Liste vonmatplotlib.collections.PolyCollection-Objekten. Wenn ein anderer Stil verwendet wird, istfill_between_None.
Siehe auch
sklearn.model_selection.validation_curveBerechnet die Validierungskurve.
Beispiele
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.model_selection import ValidationCurveDisplay, validation_curve >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(n_samples=1_000, random_state=0) >>> logistic_regression = LogisticRegression() >>> param_name, param_range = "C", np.logspace(-8, 3, 10) >>> train_scores, test_scores = validation_curve( ... logistic_regression, X, y, param_name=param_name, param_range=param_range ... ) >>> display = ValidationCurveDisplay( ... param_name=param_name, param_range=param_range, ... train_scores=train_scores, test_scores=test_scores, score_name="Score" ... ) >>> display.plot() <...> >>> plt.show()
- classmethod from_estimator(estimator, X, y, *, param_name, param_range, groups=None, cv=None, scoring=None, n_jobs=None, pre_dispatch='all', verbose=0, error_score=nan, fit_params=None, ax=None, negate_score=False, score_name=None, score_type='both', std_display_style='fill_between', line_kw=None, fill_between_kw=None, errorbar_kw=None)[Quelle]#
Erstellt eine Validierungskurvenanzeige aus einem Schätzer.
Lesen Sie mehr im Benutzerhandbuch für allgemeine Informationen über die Visualisierungs-API und detaillierte Dokumentation zur Validierungskurven-Visualisierung.
- Parameter:
- estimatorObjekttyp, der die Methoden „fit“ und „predict“ implementiert
Ein Objekt dieses Typs, das für jede Validierung geklont wird.
- Xarray-like der Form (n_samples, n_features)
Trainingsdaten, wobei
n_samplesdie Anzahl der Stichproben undn_featuresdie Anzahl der Merkmale ist.- yarray-ähnlich der Form (n_samples,) oder (n_samples, n_outputs) oder None
Ziel relativ zu X für Klassifikation oder Regression; None für unüberwachtes Lernen.
- param_namestr
Name des Parameters, der variiert wird.
- param_rangearray-like von der Form (n_values,)
Die Werte des Parameters, die ausgewertet werden.
- groupsarray-like of shape (n_samples,), default=None
Gruppenbezeichnungen für die Stichproben, die bei der Aufteilung des Datensatzes in Trainings-/Testdatensätze verwendet werden. Nur in Verbindung mit einer `Group`-Instanz von cv (z. B.
GroupKFold) verwendet.- cvint, Kreuzvalidierungsgenerator oder iterierbar, Standardwert=None
Bestimmt die Strategie der Kreuzvalidierungsaufteilung. Mögliche Eingaben für cv sind
None, um die Standard-5-fache Kreuzvalidierung zu verwenden,
int, um die Anzahl der Folds in einem
(Stratified)KFoldanzugeben,Eine iterierbare Liste, die (Trainings-, Test-) Splits als Indizes-Arrays liefert.
Für ganzzahlige/None-Eingaben wird, wenn der Schätzer ein Klassifikator ist und `y` entweder binär oder mehrklassig ist,
StratifiedKFoldverwendet. In allen anderen Fällen wirdKFoldverwendet. Diese Splitter werden mit `shuffle=False` instanziiert, sodass die Splits über Aufrufe hinweg gleich sind.Siehe Benutzerhandbuch für die verschiedenen Kreuzvalidierungsstrategien, die hier verwendet werden können.
- scoringstr oder callable, Standardwert=None
Bewertungsmethode zur Berechnung der Validierungskurve. Optionen
str: siehe Zeichenkettennamen für Bewerter für Optionen.
callable: Ein Scorer-Callable-Objekt (z. B. Funktion) mit der Signatur
scorer(estimator, X, y). Siehe Callable Scorer für Details.None: das Standard-Bewertungskriterium desestimatorwird verwendet.
- n_jobsint, default=None
Anzahl der parallel auszuführenden Jobs. Das Anpassen des Schätzers und die Berechnung der Bewertung werden für die verschiedenen Trainings- und Testdatensätze parallelisiert.
Nonebedeutet 1, es sei denn, Sie befinden sich in einemjoblib.parallel_backend-Kontext.-1bedeutet die Verwendung aller Prozessoren. Siehe Glossar für weitere Details.- pre_dispatchint oder str, Standard=’all’
Anzahl der vorab verteilten Jobs für die parallele Ausführung (Standard ist 'all'). Die Option kann den zugeordneten Speicher reduzieren. Die Zeichenkette kann ein Ausdruck wie '2*n_jobs' sein.
- verboseint, default=0
Steuert die Ausführlichkeit: je höher, desto mehr Meldungen.
- error_score‘raise’ oder numerisch, Standard=np.nan
Wert, der der Punktzahl zugewiesen wird, wenn beim Anpassen des Schätzers ein Fehler auftritt. Wenn auf 'raise' gesetzt, wird der Fehler ausgelöst. Wenn ein numerischer Wert angegeben wird, wird FitFailedWarning ausgelöst.
- fit_paramsdict, Standard=None
Parameter, die an die fit-Methode des Schätzers übergeben werden sollen.
- axmatplotlib Axes, Standard=None
Axes-Objekt, auf dem geplottet werden soll. Wenn
None, wird eine neue Figur und Achse erstellt.- negate_scorebool, Standard=False
Ob die durch
validation_curveerhaltenen Punktzahlen negiert werden sollen oder nicht. Dies ist besonders nützlich, wenn der durchneg_*inscikit-learnbezeichnete Fehler verwendet wird.- score_namestr, Standard=None
Der Name der Punktzahl, die zur Beschriftung der Y-Achse des Diagramms verwendet wird. Er überschreibt den aus dem
scoring-Parameter abgeleiteten Namen. WennscoreNoneist, verwenden wir"Score", wennnegate_scoreFalseist, und"Negative score"andernfalls. Wennscoringein String oder aufrufbar ist, leiten wir den Namen ab. Wir ersetzen_durch Leerzeichen und großschreiben den ersten Buchstaben. Wir entfernenneg_und ersetzen es durch"Negative", wennnegate_scoreFalseist, oder entfernen es andernfalls einfach.- score_type{“test”, “train”, “both”}, Standard=”both”
Der Typ der anzuzeigenden Punktzahl. Kann einer von
"test","train"oder"both"sein.- std_display_style{“errorbar”, “fill_between”} oder None, Standard=”fill_between”
Der Stil, der zur Anzeige der Standardabweichung der Punktzahl um die mittlere Punktzahl verwendet wird. Wenn
None, wird keine Darstellung der Standardabweichung angezeigt.- line_kwdict, Standard=None
Zusätzliche Schlüsselwortargumente, die an
plt.plotübergeben werden, das zum Zeichnen der mittleren Punktzahl verwendet wird.- fill_between_kwdict, Standard=None
Zusätzliche Schlüsselwortargumente, die an
plt.fill_betweenübergeben werden, das zum Zeichnen der Standardabweichung der Punktzahl verwendet wird.- errorbar_kwdict, Standard=None
Zusätzliche Schlüsselwortargumente, die an
plt.errorbarübergeben werden, das zum Zeichnen der mittleren Punktzahl und der Standardabweichung der Punktzahl verwendet wird.
- Gibt zurück:
- display
ValidationCurveDisplay Objekt, das berechnete Werte speichert.
- display
Beispiele
>>> import numpy as np >>> import matplotlib.pyplot as plt >>> from sklearn.datasets import make_classification >>> from sklearn.model_selection import ValidationCurveDisplay >>> from sklearn.linear_model import LogisticRegression >>> X, y = make_classification(n_samples=1_000, random_state=0) >>> logistic_regression = LogisticRegression() >>> param_name, param_range = "C", np.logspace(-8, 3, 10) >>> ValidationCurveDisplay.from_estimator( ... logistic_regression, X, y, param_name=param_name, ... param_range=param_range, ... ) <...> >>> plt.show()
- plot(ax=None, *, negate_score=False, score_name=None, score_type='both', std_display_style='fill_between', line_kw=None, fill_between_kw=None, errorbar_kw=None)[Quelle]#
Visualisierung plotten.
- Parameter:
- axmatplotlib Axes, Standard=None
Axes-Objekt, auf dem geplottet werden soll. Wenn
None, wird eine neue Figur und Achse erstellt.- negate_scorebool, Standard=False
Ob die durch
validation_curveerhaltenen Punktzahlen negiert werden sollen oder nicht. Dies ist besonders nützlich, wenn der durchneg_*inscikit-learnbezeichnete Fehler verwendet wird.- score_namestr, Standard=None
Der Name der Punktzahl, die zur Beschriftung der Y-Achse des Diagramms verwendet wird. Er überschreibt den aus dem
scoring-Parameter abgeleiteten Namen. WennscoreNoneist, verwenden wir"Score", wennnegate_scoreFalseist, und"Negative score"andernfalls. Wennscoringein String oder aufrufbar ist, leiten wir den Namen ab. Wir ersetzen_durch Leerzeichen und großschreiben den ersten Buchstaben. Wir entfernenneg_und ersetzen es durch"Negative", wennnegate_scoreFalseist, oder entfernen es andernfalls einfach.- score_type{“test”, “train”, “both”}, Standard=”both”
Der Typ der anzuzeigenden Punktzahl. Kann einer von
"test","train"oder"both"sein.- std_display_style{“errorbar”, “fill_between”} oder None, Standard=”fill_between”
Der Stil, der zur Anzeige der Standardabweichung der Punktzahl um die mittlere Punktzahl verwendet wird. Wenn None, wird keine Darstellung der Standardabweichung angezeigt.
- line_kwdict, Standard=None
Zusätzliche Schlüsselwortargumente, die an
plt.plotübergeben werden, das zum Zeichnen der mittleren Punktzahl verwendet wird.- fill_between_kwdict, Standard=None
Zusätzliche Schlüsselwortargumente, die an
plt.fill_betweenübergeben werden, das zum Zeichnen der Standardabweichung der Punktzahl verwendet wird.- errorbar_kwdict, Standard=None
Zusätzliche Schlüsselwortargumente, die an
plt.errorbarübergeben werden, das zum Zeichnen der mittleren Punktzahl und der Standardabweichung der Punktzahl verwendet wird.
- Gibt zurück:
- display
ValidationCurveDisplay Objekt, das berechnete Werte speichert.
- display
Galeriebeispiele#
Auswirkung der Modellregularisierung auf Trainings- und Testfehler