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: groups kann nur übergeben werden, wenn das Metadaten-Routing nicht über sklearn.set_config(enable_metadata_routing=True) aktiviert ist. Wenn das Routing aktiviert ist, übergeben Sie groups zusammen mit anderen Metadaten über das params-Argument. Beispiel: cross_val_score(..., params={'groups': groups}).

scoringstr oder callable, Standardwert=None

Strategie zur Bewertung der Leistung des estimator über Kreuzvalidierungs-Splits.

Ähnlich wie die Verwendung von scoring in cross_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)KFold anzugeben,

  • CV-Splitter,

  • Ein iterierbares Objekt, das (Trainings-, Test-)Splits als Index-Arrays generiert.

Für int/None-Eingaben wird, wenn der Estimator ein Klassifikator ist und y entweder binär oder multiklassifiziert ist, StratifiedKFold verwendet. In allen anderen Fällen wird KFold verwendet. Diese Splitter werden mit shuffle=False instanziiert, 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, wenn None ist, 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. None bedeutet 1, es sei denn, es befindet sich in einem joblib.parallel_backend-Kontext. -1 bedeutet 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_validate

Um die Kreuzvalidierung für mehrere Metriken durchzuführen und auch Trainings-Scores, Fit-Zeiten und Score-Zeiten zurückzugeben.

cross_val_predict

Vorhersagen aus jedem Split der Kreuzvalidierung zu diagnostischen Zwecken abrufen.

sklearn.metrics.make_scorer

Erstellt 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]