Оно живое!
Наконец, я провел полный цикл обучения и применения моей модели EGBDT в JupyterLab.
Я провел два дня в очень неприятной сессии отладки, потому что нарушил простое правило:
Всегда делайте ЭДА!
EDA — исследовательский анализ данных — прост: прежде чем что-либо делать с данными, попробуйте их на вкус. Проверьте среднее значение цели и функций. Возьмите небольшой образец и прочтите его необработанный дамп. Постройте гистограммы ваших факторов. Проведите дымовые тесты.
Вместо этого я просто загрузил набор данных и сразу приступил к обучению. Лучшее, что я видел, было 0,2 MSE на тренировке и 0,3 на тесте. Я начал подозревать глубокие, фундаментальные проблемы — некоторые математические вычисления мешали моим планам.
Тогда очень простая мысль: построить графики. Ничего экстраординарного — просто фактор базисной функции с течением времени.
Оказалось мой железный друг использовал
грех(𝑡) вместо греха(50𝑡). Я пытался аппроксимировать высокочастотный сигнал низкочастотным.
Исправление этого сделало MSE нулевым. На первой итерации.
Невероятно и невероятно неприятно тратить два дня на что-то настолько простое: пропустить EDA с самого начала.
