Выделение признаков: зачем отбирать предикторы и как это правильно сделать – готовим датасет к Data Mining и Machine Learning

Отбор признаков, выделение предикторов

Даже после очистки и нормализации данных, выборка еще не совсем готова к моделированию. Для машинного обучения (Machine Learning) нужны только те переменные, которые на самом деле влияют на итоговый результат. В этой статье мы расскажем, что такое отбор или выделение признаков (Feature Selection) и почему этот этап подготовки данных (Data Preparation) действительно необходим.

Что такое отбор признаков и зачем он нужен

Выделение или отбор признаков – это процедура отбрасывания незначащих переменных из очищенной выборки перед запуском машинного обучения и интеллектуального анализа данных (Data Mining). Сокращение числа предикторов необходимо по нескольким причинам:

  • значимость признаков – как правило, исходная выборка всегда содержит много «мусорных данных»: шумов, выбросов, а на реальный результат влияют лишь несколько предикторов [1];
  • точность решения – некоторые модели Machine Learning чувствительны к величине входного вектора. Например, у нейросетей большое число входных данных может привести к переобучению [2];
  • скорость вычислений – чем меньше переменных, тем быстрее будут идти расчеты.

Таким образом, снижение размерности задачи – необходимый этап подготовки данных, который оказывает решающее значение на итоговый результат.

обработка данных, Machine Learning, машинное обучение, Data Mining, нейросеть
Снижение размерности задачи — обязательная процедура подготовки данных к моделированию

Как отбирать признаки: методы 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].
выделение признаков, Data Preparation, отбор предикторов
Анализ взаимовлияния предикторов — важная задача Feature Selection

Как реализовать Feature Selection на практике и другие особенности Data Preparation в нашем новом курсе обучения для data scientist и аналитиков больших данных в Москве: подготовка данных для Data Mining. Следите за новостями!

расписание компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Смотреть расписание занятий
регистрация на компьютерные курсы для руководителей, аналитиков, программистов, администраторов и пользователей Internet of Things, Big Data и Machine Learning Зарегистрироваться на курс

Источники

  1. https://www.mql5.com/ru/articles/2029
  2. https://habr.com/ru/post/264915/
  3. https://ru.wikipedia.org/wiki/Регуляризация_(математика)