Оно живое!

Наконец, я провел полный цикл обучения и применения моей модели EGBDT в JupyterLab.

Я провел два дня в очень неприятной сессии отладки, потому что нарушил простое правило:

Всегда делайте ЭДА!

EDA — исследовательский анализ данных — прост: прежде чем что-либо делать с данными, попробуйте их на вкус. Проверьте среднее значение цели и функций. Возьмите небольшой образец и прочтите его необработанный дамп. Постройте гистограммы ваших факторов. Проведите дымовые тесты.

Вместо этого я просто загрузил набор данных и сразу приступил к обучению. Лучшее, что я видел, было 0,2 MSE на тренировке и 0,3 на тесте. Я начал подозревать глубокие, фундаментальные проблемы — некоторые математические вычисления мешали моим планам.

Тогда очень простая мысль: построить графики. Ничего экстраординарного — просто фактор базисной функции с течением времени.

Оказалось мой железный друг использовал
грех(𝑡) вместо греха(50𝑡). Я пытался аппроксимировать высокочастотный сигнал низкочастотным.

Исправление этого сделало MSE нулевым. На первой итерации.

Невероятно и невероятно неприятно тратить два дня на что-то настолько простое: пропустить EDA с самого начала.