sklearn: Benutzerdefinierte Kreuzvalidierung für Zeitreihendaten

8

Ich versuche ein maschinelles Lernproblem zu lösen. Ich habe einen spezifischen Datensatz mit time-series -Element. Für dieses Problem verwende ich die bekannte Python-Bibliothek - sklearn . Es gibt viele Kreuzvalidierungs-Iteratoren in dieser Bibliothek. Außerdem gibt es mehrere Iteratoren, um die Kreuzvalidierung selbst zu definieren. Das Problem ist, dass ich nicht wirklich weiß, wie man einfache Kreuzvalidierung für Zeitreihen definiert. Hier ist ein gutes Beispiel dafür, was ich versuche zu bekommen:

Nehmen wir an, wir haben mehrere Perioden (Jahre) und möchten unseren Datensatz wie folgt in mehrere Abschnitte unterteilen:

%Vor%

Ich kann nicht wirklich verstehen, wie man diese Art der Kreuzvalidierung mit sklearn-Werkzeugen erstellt. Wahrscheinlich sollte ich PredefinedSplit von sklearn.cross_validation so verwenden:

%Vor%

Ergebnis:

%Vor%

Aber es ist immer noch nicht so gut wie eine vorherige Datenaufteilung

    
Demyanov 25.11.2015, 23:20
quelle

2 Antworten

5

Sie können die gewünschten Kreuzvalidierungs-Splits erhalten, ohne sklearn zu verwenden. Hier ist ein Beispiel

%Vor%     
Dan Oneață 26.11.2015 00:14
quelle
3

Inzwischen wurde dies der Bibliothek hinzugefügt: Ссылка

Beispiel aus dem doc:

%Vor%     
Marcus V. 09.02.2017 18:59
quelle