Какие методы отбора признаков существуют
Что проверяют
Знаете ли вы три группы методов и понимаете ли, почему отбор нельзя делать до разбиения выборки.
Как отвечать
Три группы.
Фильтры: оценивают признаки независимо от модели, по статистике. Корреляция с целевой переменной, взаимная информация, статистические критерии, отсев признаков с почти нулевой дисперсией, удаление сильно скоррелированных между собой. Быстро и дёшево, но не видит взаимодействий: пара бесполезных по отдельности признаков может быть сильной вместе.
Обёртки: перебирают подмножества, обучая модель на каждом. Последовательное добавление или удаление, рекурсивное исключение по важности. Учитывают взаимодействия и специфику модели, но стоят дорого и легко переобучаются под конкретную валидацию.
Встроенные: модель отбирает сама в процессе обучения. Регуляризация первого порядка зануляет веса неинформативных признаков, деревья и бустинг дают собственную оценку важности. Практически бесплатно, потому что совмещено с обучением.
Отдельно стоит назвать перестановочную важность: признак перемешивают и смотрят, насколько упало качество. Она честнее встроенной важности деревьев, которая смещена в сторону признаков с большим числом уникальных значений. Ещё более подробную картину дают значения Шепли, показывающие вклад признака в каждое конкретное предсказание.
Главная методическая ошибка, о которой надо сказать: отбор это часть обучения. Если отобрать признаки по всей выборке, а потом разбить её на части, информация о проверочной выборке уже просочилась в отбор, и оценка окажется завышенной. Отбор выполняют внутри каждого разбиения кросс-валидации, как этап конвейера.
И напоследок про цель: отбор нужен не только ради качества. Часто важнее сокращение времени вывода, интерпретируемость и стоимость сбора признака в проде. Признак, дающий половину процента качества, но требующий обращения к внешнему платному сервису, обычно не стоит того.
Где спотыкаются
Отбирают признаки до разбиения выборки.
Доверяют встроенной важности деревьев без проверки перестановкой.
Удаляют признаки только по корреляции с целью, теряя взаимодействия.
Оптимизируют качество, не думая о стоимости признака в проде.