Как известно, некоторые признаки, характеризующие объекты в моделях машинного обучения могут оказаться фиктивными или избыточными. Соответственно, их включение в пайплайн может привести к снижению качества прогнозов. Рассмотрим, один из популярных способов оптимизации набора признаков, который заключается в формировании их множества путем последовательного добавления по одному наиболее эффективному.
То есть сначала работа модели тестируется на каждом отдельном признаке и выбирается максимизирующий выбранную оценку, затем добавляется еще один, такой что на паре модель дает лучшую оценку и так далее до достижения заданного количества признаков. Существует схожий алгоритм, но действующий в обратном порядке - когда из множества всех признаков убирается по одному, от потери которого качество меньше всего "пострадает".
Оба алгоритма реализованы в классе SequentialFeatureSelector модуля sklearn.feature_selection. Рассмотрим его работу на примере следующего датафрейма: Разделим данные на выбор