2016-07-23 20 views
1

Ich habe eine Serie mit 20 Zeilen und 60 Spalten, d. H. 20 Beispiele mit jeweils 60 Parametern.StratifiedKFold Ausgabe Handhabung

kfold = StratifiedKFold (y = encoded_Y, n_folds = 10, Shuffle = True, random_state = Samen) The output consists of two columns

Ich würde gerne wissen, was tut die zweite Spalte bedeuten, und auf welcher Grundlage hat wählen sie die beiden Indizes. Warum nicht drei Indizes nehmen?

Furthur, ich würde gerne wissen, wie die Kreuzvalidierungsfunktion diese Serie als Eingabe für das "cv" -Argument nimmt. "cv" ist im Allgemeinen eine ganze Zahl.

Ergebnisse = cross_val_score (Schätzer, X, encoded_Y, cv = kfold)

Antwort

0

Wie bei allen der in Quer validators sklearn.cross_validation ist dies ein Iterator über Paare von Indizes. In jedem Paar ist der erste Punkt die Liste der Zugindizes und der zweite Punkt ist die Liste der Testindizes.

In the example you bring der erste Artikel enthält ein Paar, wo alles außer 1, 17 ist die Zug-Indizes, und 1, 17 sind die Testindizes.

+0

Korrekt !! Auf welcher Basis wurden nur 2 Sätze von Testindizes ausgewählt. Warum wurde vom Programm nicht nur 1 Index bzw. 3 Indizes ausgewählt? Wie definieren wir hier genau die Anzahl der Testindizes? –

+0

Sie haben 20 Zeilen (die Anzahl der Spalten ist irrelevant). Da Sie mit k = 10 kfold gefragt haben, erhalten Sie 10 Falten mit einem Bruchteil von 1/10 (in diesem Fall 2), die aus dem Zug entfernt und in den Test gebracht wurden. Wenn Sie 5-fach fragen, erhalten Sie 4 Testindizes. –