In sklearn, GridSearchCV può prendere una pipeline come parametro per trovare il miglior stimatore attraverso la convalida incrociata. Tuttavia, la solita convalida croce è come questo: come implementare il walk-forward testing in sklearn?
da attraversare convalidare un dati di serie temporali, i dati di allenamento e di test sono spesso suddivisi in questo modo:
Vale a dire, i dati di prova dovrebbero essere sempre prima dei dati di allenamento.
Il mio pensiero è:
scrivere la mia versione di classe k volte e passarlo a GridSearchCV in modo da poter godere della comodità di pipeline. Il problema è che sembra difficile consentire a GridSearchCV di utilizzare indici specifici di dati di addestramento e test.
Scrivere una nuova classe GridSearchWalkForwardTest che è simile a GridSearchCV, sto studiando il codice sorgente grid_search.py e trovo che è un po 'complicato.
Qualsiasi suggerimento è benvenuto.
Vedere https://github.com/scikit-learn/scikit-learn/issues/3202 – yangjie