So passen Sie sklearn cross validation iterator durch Indizes?
Ähnlich Custom cross validation split sklearn ich definieren will meine eigenen splits für GridSearchCV, für die ich mich anpassen zu müssen, die eingebaute cross-Validierung iterator.
Ich will meinen eigenen Zug-test Indizes für die cross-Validierung, um die GridSearch statt dem iterator zu bestimmen, Sie für mich. Ich ging durch die verfügbaren cv Iteratoren auf die sklearn Dokumentation Seite aber konnte ihn nicht finden.
Zum Beispiel ich will etwas umsetzen wie diese
Daten hat 9 Proben
Für 2-fold cv erstelle ich meinen eigenen Satz von Ausbildung-Prüfung-Indizes
>>> train_indices = [[1,3,5,7,9],[2,4,6,8]]
>>> test_indices = [[2,4,6,8],[1,3,5,7,9]]
1st fold^ 2nd fold^
>>> custom_cv = sklearn.cross_validation.customcv(train_indices,test_indices)
>>> clf = GridSearchCV(X,y,params,cv=custom_cv)
Was kann verwendet werden, um zu arbeiten, wie die customcv?
- Konnten Sie eine Frage hinzufügen? Auch ich bin mir nicht bewusst von der Existenz von
customcv
imsklearn.cross_validation
, so sollten Sie wahrscheinlich nicht. Sind Sie sicher, dassLeaveOneLabelOut
funktioniert nicht in deinem Fall? - Ich gab customcv ein Beispiel, was ich implementieren wollte... es ist nicht in sklearn. Krank versuchen, die Methode, die Sie Gaben in Ihrer Antwort
Du musst angemeldet sein, um einen Kommentar abzugeben.
Eigentlich cross-validation-Iteratoren sind nur, dass: Iteratoren. Sie geben wieder ein Tupel von Zug/Falte, die bei jedem Durchlauf. Dies sollte dann für Sie arbeiten:
Auch für den speziellen Fall, die Sie erwähnen, die Sie tun können,
Beobachten, dass
list(cv)
Erträgecross_validation
Modul-Funktionalität ist jetzt inmodel_selection
- und cross-Validierung-Splitter sind jetzt Klassen, die ausdrücklich gefragt, so teilen Sie die Daten mit der Methodesplit
. Dies ist, um geschachtelte Kreuzvalidierung einfacher.Eigentlich die oben genannte Lösung gibt alle Zeilen zurück, als eine Falte, was man wirklich braucht, ist: