🧃 Можно ли выполнять отбор признаков на всём датасете до разбиения на train и test
Нет, это плохая практика. Отбор признаков нужно включать внутрь кросс-валидационного пайплайна, чтобы выборка признаков обучалась только на тренировочных фолдах, а не на тестовом наборе. Если сделать отбор на всём датасете сразу, происходит утечка информации из теста, что ведёт к завышенным оценкам качества модели.
Правильный подход:
1️⃣ Разбиваем данные на train и test (и фолды для кросс-валидации, если нужно).
2️⃣ В каждом тренировочном фолде выполняем отбор признаков (RFE, фильтры или встроенные методы) и обучаем модель.
3️⃣ Оцениваем качество на валидационном фолде.
4️⃣ После кросс-валидации фиксируем набор признаков или пайплайн.
5️⃣ Переобучаем модель на всём тренировочном наборе с выбранными признаками и оцениваем на отдельном тесте.
Отбор признаков до разбиения на train/test ведёт к утечке данных и неверной оценке качества модели.
Если вам нравится копаться в таких тонкостях и вы хотите прокачать свои Data Science суперсилы:
— AI-агенты для DS-специалистов (чтобы ваши модели могли работать сами)
— ML для старта в Data Science (чтобы уверенно входить в DS и не делать утечек данных)
🐸 Библиотека собеса по Data Science
Post #1127
647
- ❤ 3
- 👍 1