Даже после очистки и нормализации данных, выборка еще не совсем готова к моделированию. Для машинного обучения (Machine Learning) нужны только те переменные, которые на самом деле влияют на итоговый результат. В этой статье мы расскажем, что такое отбор или выделение признаков (Feature Selection) и почему этот этап подготовки данных (Data Preparation) действительно необходим.
Что такое отбор признаков и зачем он нужен
Выделение или отбор признаков – это процедура отбрасывания незначащих переменных из очищенной выборки перед запуском машинного обучения и интеллектуального анализа данных (Data Mining). Сокращение числа предикторов необходимо по нескольким причинам:
- значимость признаков – как правило, исходная выборка всегда содержит много «мусорных данных»: шумов, выбросов, а на реальный результат влияют лишь несколько предикторов [1];
- точность решения – некоторые модели Machine Learning чувствительны к величине входного вектора. Например, у нейросетей большое число входных данных может привести к переобучению [2];
- скорость вычислений – чем меньше переменных, тем быстрее будут идти расчеты.
Таким образом, снижение размерности задачи – необходимый этап подготовки данных, который оказывает решающее значение на итоговый результат.
Как отбирать признаки: методы Feature Selection
Методы отбора признаков принято делить на несколько категорий:
- методы фильтрации (filter methods), основанные на теории вероятностей и статистических подходах. Наиболее популярными в этой группе методов считаются IG-индексирование (вычисление information gain), хи-квадрат (chi-square) и mRmR, которые позволяют ранжировать признаки по значимости, оценив степень корреляции каждого из них с целевой переменной. Далее модель машинного обучения использует только те предикторы, которые соответствуют определенным критериям. Методы фильтрации хороши тем, что они достаточно быстро работают: у них низкая стоимость вычислений, которая зависит линейно от общего количества предикторов. Однако, они рассматривают каждый признак изолированно, не учитывая их взаимное влияние друг на друга в частности и на целевую переменную вообще. Поэтому точность моделирования с этими методами отбора признаков недостаточно высока [2].
- оберточные методы (wrapper methods) — поисковые алгоритмы, которые рассматривают предикторы как входы, а эффективность модели как выходы, которые должны быть оптимизированы [1]. Классификатор запускается на разных подмножествах признаков исходной тренировочной выборки. В этой категории есть 2 подхода: включение (forward selection) и исключение (backwards selection) предикторов. Методы включения начинают с пустого подмножества, куда постепенно добавляются разные признаки. В случае исключения метод стартует с исходного множества признаков, постепенно удаляя из него переменные и пересчитывая классификатор. Далее выбирается подмножество признаков с наилучшими параметрами на обучающей выборке и тестируется на контрольном (тестовом) датасете [2]. Есть много способов перебора предикторов: рекурсивное удаление и добавление, генетические алгоритмы, имитация отжига и т.д. [1]. Оберточные методы отслеживают взаимосвязи между признаками, однако они требуют большего количества времени, чем фильтрация. А в случае большого количества признаков и небольшого размера тренировочного сета существует опасность переобучения [2].
- встроенные методы (embedded methods), которые не разделяют отбор признаков и обучение классификатора, а выделяют предикторы во время процесса расчета модели. Эти алгоритмы требуют меньше вычислений, чем оберточные методы, но больше, чем фильтрация. Основным методом этой категории является регуляризация [2] – добавление дополнительных ограничений (штрафов) к условиям задачи, чтобы построить алгоритм, минимизирующий ошибку и количество используемых переменных. При этом выделяют 2 подхода: L1 (лассо, lasso regression, регуляризация через манхэттенское расстояние) и L2 (регуляризация Тихонова или ридж-регрессия, ridge regression) [3]. Регуляризация позволяет выявить взаимовлияние переменных, но занимает больше времени, чем методы фильтрации [2].
Как реализовать Feature Selection на практике и другие особенности Data Preparation в нашем новом курсе обучения для data scientist и аналитиков больших данных в Москве: подготовка данных для Data Mining. Следите за новостями!
Источники