cross_val_score#
- sklearn.model_selection.cross_val_score(estimator, X, y=None, *, groups=None, scoring=None, cv=None, n_jobs=None, verbose=0, params=None, pre_dispatch='2*n_jobs', error_score=nan)[Quelle]#
Bewertet einen Score durch Kreuzvalidierung.
Lesen Sie mehr im Benutzerhandbuch.
- Parameter:
- estimatorEstimator-Objekt, das ‘fit’ implementiert
Das zu verwendende Objekt zur Anpassung der Daten.
- X{array-like, sparse matrix} der Form (n_samples, n_features)
Die Daten, die angepasst werden sollen. Kann zum Beispiel eine Liste oder ein Array sein.
- yarray-like der Form (n_samples,) oder (n_samples, n_outputs), Standardwert=None
Die Zielvariable, die im Falle von überwachtem Lernen vorhergesagt werden soll.
- 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.Geändert in Version 1.4:
groupskann nur übergeben werden, wenn das Metadaten-Routing nicht übersklearn.set_config(enable_metadata_routing=True)aktiviert ist. Wenn das Routing aktiviert ist, übergeben Siegroupszusammen mit anderen Metadaten über dasparams-Argument. Beispiel:cross_val_score(..., params={'groups': groups}).- scoringstr oder callable, Standardwert=None
Strategie zur Bewertung der Leistung des
estimatorüber Kreuzvalidierungs-Splits.str: siehe Zeichenkettennamen für Bewerter für Optionen.
aufrufbar: ein Scorer-Objekt (z.B. Funktion) mit der Signatur
scorer(estimator, X, y), das nur einen einzelnen Wert zurückgeben sollte. Einzelheiten finden Sie unter Aufrufbare Scorer.None: das Standard-Bewertungskriterium desestimatorwird verwendet.
Ähnlich wie die Verwendung von
scoringincross_validate, aber nur eine einzelne Metrik ist zulässig.- cvint, Kreuzvalidierungsgenerator oder iterierbar, Standardwert=None
Bestimmt die Strategie der Kreuzvalidierungsaufteilung. Mögliche Eingaben für cv sind
None, um die standardmäßige 5-fache Kreuzvalidierung zu verwenden,int, um die Anzahl der Folds in einem
(Stratified)KFoldanzugeben,Ein iterierbares Objekt, das (Trainings-, Test-)Splits als Index-Arrays generiert.
Für
int/None-Eingaben wird, wenn der Estimator ein Klassifikator ist undyentweder binär oder multiklassifiziert ist,StratifiedKFoldverwendet. In allen anderen Fällen wirdKFoldverwendet. Diese Splitter werden mitshuffle=Falseinstanziiert, sodass die Splits über die Aufrufe hinweg gleich bleiben.Siehe Benutzerhandbuch für die verschiedenen Kreuzvalidierungsstrategien, die hier verwendet werden können.
Geändert in Version 0.22: Der Standardwert von
cv, wennNoneist, wurde von 3-fach auf 5-fach geändert.- n_jobsint, default=None
Anzahl der parallel auszuführenden Jobs. Das Trainieren des Estimators und die Berechnung des Scores werden über die Kreuzvalidierungs-Splits parallelisiert.
Nonebedeutet 1, es sei denn, es befindet sich in einemjoblib.parallel_backend-Kontext.-1bedeutet die Verwendung aller Prozessoren. Weitere Einzelheiten finden Sie im Glossar.- verboseint, default=0
Die Ausführlichkeitsstufe.
- paramsdict, Standardwert=None
Parameter, die an die zugrunde liegende
fit-Methode des Estimators, den Scorer und den CV-Splitter übergeben werden.Hinzugefügt in Version 1.4.
- pre_dispatchint oder str, Standardwert=’2*n_jobs’
Steuert die Anzahl der Jobs, die während der parallelen Ausführung übermittelt werden. Die Verringerung dieser Zahl kann nützlich sein, um eine Explosion des Speicherverbrauchs zu vermeiden, wenn mehr Jobs übermittelt werden, als CPUs verarbeiten können. Dieser Parameter kann sein
None, in diesem Fall werden alle Jobs sofort erstellt und gestartet. Verwenden Sie dies für leichte und schnell laufende Jobs, um Verzögerungen durch bedarfsorientiertes Starten der Jobs zu vermeiden.Eine Ganzzahl, die die genaue Anzahl der gestarteten Gesamtjobs angibt
Ein String, der einen Ausdruck als Funktion von n_jobs angibt, wie z. B. „2*n_jobs“
- 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.
Hinzugefügt in Version 0.20.
- Gibt zurück:
- scoresndarray von float der Form (len(list(cv)),)
Array der Scores des Estimators für jeden Durchlauf der Kreuzvalidierung.
Siehe auch
cross_validateUm die Kreuzvalidierung für mehrere Metriken durchzuführen und auch Trainings-Scores, Fit-Zeiten und Score-Zeiten zurückzugeben.
cross_val_predictVorhersagen aus jedem Split der Kreuzvalidierung zu diagnostischen Zwecken abrufen.
sklearn.metrics.make_scorerErstellt einen Scorer aus einer Leistungsmetrik oder Verlustfunktion.
Beispiele
>>> from sklearn import datasets, linear_model >>> from sklearn.model_selection import cross_val_score >>> diabetes = datasets.load_diabetes() >>> X = diabetes.data[:150] >>> y = diabetes.target[:150] >>> lasso = linear_model.Lasso() >>> print(cross_val_score(lasso, X, y, cv=3)) [0.3315057 0.08022103 0.03531816]
Galeriebeispiele#
Modellauswahl mit Probabilistischem PCA und Faktorenanalyse (FA)
Fehlende Werte mit Varianten von IterativeImputer imputieren
Fehlende Werte imputieren, bevor ein Schätzer erstellt wird
Verschachtelte vs. nicht verschachtelte Kreuzvalidierung