Подтвердить что ты не робот

Как реализовать тестирование ходьбы в sklearn?

В sklearn GridSearchCV может взять конвейер в качестве параметра, чтобы найти лучшую оценку с помощью перекрестной проверки. Однако обычная перекрестная проверка такова: введите описание изображения здесь

чтобы перекрестно проверять данные временных рядов, данные обучения и тестирования часто разделяются следующим образом: enter изображение здесь

То есть, данные тестирования всегда должны быть впереди данных обучения.

Моя мысль:

  • Напишите мой собственный класс версии k-fold и передайте его в GridSearchCV, чтобы я мог наслаждаться удобством конвейера. Проблема состоит в том, что представляется трудно позволить GridSearchCV использовать указанные индексы обучения и тестирования данных.

  • Напишите новый класс GridSearchWalkForwardTest, который похож на GridSearchCV, я изучаю исходный код grid_search.py ​​и считаю, что это немного сложно.

Любое предложение приветствуется.

4b9b3361

Ответ 1

Мое мнение таково, что вы должны попытаться реализовать свой собственный GridSearchWalkForwardTest. Однажды я использовал GridSearch для обучения и реализовал один и тот же GridSearch, и я не получил таких же результатов, хотя я должен.

В конце я использовал свою собственную функцию. У вас больше контроля над учебным и тестовым набором, и у вас больше контроля над параметрами, которые вы тренируете.

Ответ 2

Я думаю, вы могли бы использовать Time Series Split вместо своей собственной реализации или в качестве основы для реализации CV, который точно так же, как вы его описываете.

После копания немного похоже, что кто-то добавил max_train_size в TimeSeriesSplit в этот PR, который, похоже, делает то, что вы хотите.