Как поймать утечку целевой переменной до того, как поверить R² 0,998
Модель получила пять колонок из публичного набора CDC и почти идеально предсказала шестую: коэффициент R² достиг 0,998. Результат выглядел как успех, пока не выяснилось, что CDC вычислял целевую колонку из тех самых пяти. Модель не нашла закономерность в реальном мире, а восстановила готовую формулу.
Так работает утечка целевой переменной: признаки уже содержат ответ. Автор описал происхождение колонок в YAML-манифесте, где для каждой вычисляемой величины указаны исходные данные. Затем написал Python-линтер, который обходит этот граф зависимостей и отклоняет признаки на пути к целевой колонке или от неё.
В практическом разборе утечки есть воспроизводимый эксперимент на данных CDC, код проверки, обработка битых входных файлов и запуск линтера при каждом пуше через GitHub Actions.
Post #14876
1.57K

- 🤷♂ 2
- ⚡ 1
- 👍 1
- 😁 1
- 🤔 1
- 👌 1
- 😭 1