Изменить метод проверки при использовании XGBoost (python) - PullRequest
0 голосов
/ 01 октября 2019

Я имею дело с проблемой машинного обучения временных рядов. Предположим, у моего набора данных есть объективная функция под названием Sales . После некоторого анализа данных я заметил, что существует четкая связь между продажами сегодня и продажами 7 дней назад, поэтому я добавил новые функции, такие как Sales-n , где n означает дни до этогоэкземпляр. Например:

   Sales  Sales-1  Sales-2  Sales-3  Sales-4  Sales-5
0      5      NaN      NaN      NaN      NaN      NaN
1      5      5.0      NaN      NaN      NaN      NaN
2      3      5.0      5.0      NaN      NaN      NaN
3      6      3.0      5.0      5.0      NaN      NaN
4      7      6.0      3.0      5.0      5.0      NaN
5      8      7.0      6.0      3.0      5.0      5.0
6      9      8.0      7.0      6.0      3.0      5.0

Проблема, которая возникает, когда я использую такого рода функции, заключается в том, что при прогнозировании мне нужно идти один за другим, а когда прогноз завтра , Продажи-1 завтрашнего дня - это сегодня Прогноз . Это означает, что после каждого прогноза мне приходится вручную вводить все те переменные, которые в какой-то момент будут являться прогнозами.

После того, как у меня есть модель, обновить очень просто. все эти поля и продолжить прогнозирование. Однако, мне кажется невозможным получить лучшую модель с GridSearchCV из-за того, как она выполняет оценку в наборе данных проверки. Поэтому мой вопрос: есть ли способ применить ту же оценочную стратегию , которую я использую, когда прогнозирую, но на этапе перекрестной проверки?

Заранее большое спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...