Was ist der Unterschied zwischen cross_validate und cross_val_score?

12

Ich verstehe cross_validate und wie es funktioniert, aber jetzt bin ich verwirrt darüber, was cross_val_score tatsächlich tut. Kann mir jemand ein Beispiel geben?

Taimur Islam
quelle

Antworten:

12

cross_val_score ist eine Hilfsfunktion für den Schätzer und den Datensatz.

Würde es mit einem Beispiel erklären:

>>> from sklearn.model_selection import cross_val_score
>>> clf = svm.SVC(kernel='linear', C=1)
>>> scores = cross_val_score(clf, iris.data, iris.target, cv=5)
>>> scores                                              
array([ 0.96...,  1.  ...,  0.96...,  0.96...,  1.        ])

Dieses Beispiel zeigt, wie die Genauigkeit einer linearen Kernel-Support-Vektor-Maschine im Iris-Datensatz geschätzt wird, indem die Daten aufgeteilt, ein Modell angepasst und die Punktzahl fünfmal hintereinander berechnet werden (jeweils mit unterschiedlichen Teilungen).

Die Funktion cross_validate unterscheidet sich in zweierlei Hinsicht von cross_val_score:

  1. Es ermöglicht die Angabe mehrerer Metriken zur Auswertung.
  2. Es gibt ein Diktat zurück, das zusätzlich zum Testergebnis Trainingsergebnisse, Anpassungszeiten und Bewertungszeiten enthält.

Hinweis: Wenn das cv-Argument eine Ganzzahl ist, verwendet cross_val_score standardmäßig die Strategien KFold oder StratifiedKFold. Letztere werden verwendet, wenn der Schätzer von ClassifierMixin abgeleitet ist

Sie können diesen Link zum besseren Verständnis durchgehen

Verschiedene Beispiele mit Cross_val_score können Sie über die verschiedenen Implementierungen durchgehen.

Toros91
quelle
-1
  1. cross_val_score: Berechnen Sie die Punktzahl für jeden CV-Split
  2. cross_validate: Berechnen Sie eine oder mehrere Punktzahlen und Timings für jeden CV-Split
Amomokoo
quelle