💬 Можно ли делать отбор признаков на всём датасете до разделения на train и test
Нет, так делать не рекомендуется. Если отбор признаков выполняется на всём датасете, информация из теста «просачивается» в обучение → возникает data leakage, а итоговые метрики оказываются слишком оптимистичными.
Правильный подход:
➡️ Сначала разделяем данные на train / test (и при необходимости на фолды для кросс-валидации).
➡️ На train выполняем отбор признаков (RFE, фильтры, встроенные методы).
➡️ Обучаем модель на этих же данных.
➡️ Валидируем на validation/test, где признаки выбираются так же через пайплайн.
👌 После кросс-валидации фиксируем пайплайн и переобучаем на всём train, затем оцениваем на hold-out test.
🐸 Библиотека собеса по Data Science
Post #1145
653
- ❤ 4
- 👍 2