Методы выбора функций

Выбор функций - одна из основных концепций машинного обучения, которая сильно влияет на производительность вашей модели. Функции данных, которые вы используете для обучения своих моделей машинного обучения, имеют огромное влияние на производительность, которой вы можете достичь.

Проблема определения связанных функций

Все мы, возможно, сталкивались с проблемой идентификации связанных функций из набора данных и удаления нерелевантных или менее важных функций, которые не вносят большого вклада в нашу целевую переменную, чтобы добиться большей точности нашей модели.

Желательно меньшее количество атрибутов, поскольку это снижает сложность модели, а более простую модель легче понять и объяснить.

Выбор функций можно выполнить несколькими способами, но в целом их можно разделить на 3 категории:
1. Метод фильтрации
2. Метод оболочки
3. Встроенный метод

  1. Метод фильтрации

В этом методе вы фильтруете и берете только подмножество соответствующих функций. Модель строится после выбора характеристик. Фильтрация здесь выполняется с помощью корреляционной матрицы, и чаще всего это делается с помощью корреляции Пирсона и VIF.

A] Корреляция Пирсона

Корреляция Пирсона - это число от -1 до 1, которое указывает степень, в которой две переменные связаны линейно. Корреляция Пирсона также известна как «коэффициент корреляции момента продукта» (PMCC) или просто «корреляция».

Корреляции Пирсона подходят только для метрических переменных.

Коэффициент корреляции имеет значения от -1 до 1.

  • Значение, близкое к 0, означает более слабую корреляцию (точное значение 0 означает отсутствие корреляции)
  • Значение, близкое к 1, означает более сильную положительную корреляцию.
  • Значение, близкое к -1, означает более сильную отрицательную корреляцию.

Здесь наша цель (зависимая переменная) - миль на галлон, и из приведенного выше рисунка мы обнаруживаем сильную и слабую корреляцию с независимой переменной и устанавливаем порог.

Из приведенного выше кода видно, что переменные cyl и disp сильно коррелированы друг с другом (0,902033). Следовательно, мы сравнили с target varibale, где целевая переменная mpg сильно коррелирует с цил, следовательно, оставим и уменьшим другую переменную. Затем мы проверяем с другой переменной, тот же процесс выполняется до последней переменной. У нас остались четыре функции: wt, qsec, gear, carb. . Это последние характеристики, полученные с помощью корреляции Пирсона.

B] Коэффициент инфляции дисперсии (VIF)

Коллинеарность - это состояние, при котором две переменные сильно коррелированы и содержат аналогичную информацию о дисперсии в пределах данного набора данных. Чтобы обнаружить коллинеарность переменных, просто создайте корреляционную матрицу и найдите переменные с большими абсолютными значениями.

Шаги по внедрению VIF

  • Рассчитайте факторы VIF.
  • Изучите факторы для каждой переменной-предиктора, если VIF находится в диапазоне от 5 до 10, вероятно, присутствует мультиколлинеарность, и вам следует рассмотреть возможность исключения переменной.

Метод VIF выбрал 3 функции: disp, vs, am. Это последние функции, предоставляемые VIF.

2. Метод оболочки

  • Метод-оболочка требует одного алгоритма машинного обучения и использует его производительность в качестве критерия оценки.
  • Загрузите функции в выбранный алгоритм машинного обучения, и в зависимости от производительности модели вы добавляете / удаляете функции.
  • Это итеративный и дорогостоящий в вычислительном отношении процесс, но он более точен, чем метод фильтрации.

A] Выбор шаг вперед

Прямой отбор - это итеративный метод, при котором мы начинаем с того, что в модели нет никаких признаков. На каждой итерации мы продолжаем добавлять функцию, которая лучше всего улучшает нашу модель, пока добавление новой переменной не улучшит производительность модели.

B] Обратное исключение

При обратном исключении мы начинаем со всех функций и удаляем наименее значимую функцию на каждой итерации, что улучшает производительность модели. Мы повторяем это до тех пор, пока не будет наблюдаться улучшения при удалении функций.

Выбран метод обратного исключения 3 функции wt, qsec, am. Это последние функции, предоставляемые Backward Elimination.

C] Удаление рекурсивных функций

Это жадный алгоритм оптимизации, который направлен на поиск наиболее эффективного подмножества функций. Он неоднократно создает модели и оставляет в стороне лучшие или худшие функции на каждой итерации. Он строит следующую модель с левыми элементами, пока не будут исчерпаны все функции. Затем он ранжирует функции в порядке их исключения.

Выбран метод устранения рекурсивного признака 3 признака wt, qsec, am. Это последние функции, предоставляемые удалением рекурсивных функций.

3. Встроенный метод

Встроенные методы являются итеративными в том смысле, что заботятся о каждой итерации процесса обучения модели и тщательно извлекают те функции, которые вносят наибольший вклад в обучение для конкретной итерации. Методы регуляризации - это наиболее часто используемые встроенные методы, которые штрафуют функцию с учетом порогового значения коэффициента. Здесь мы сделаем выбор функций с использованием регуляризации лассо. Если признак не имеет значения, лассо штрафует его коэффициент и делает его равным 0. Следовательно, объекты с коэффициентом = 0 удаляются, а остальные берутся.

Заключение:

Методы фильтрации не включают модель машинного обучения, чтобы определить, является ли функция хорошей или плохой, тогда как методы оболочки используют модель машинного обучения и обучают ее функции, чтобы решить, является ли она существенной или нет.

Методы фильтрации намного быстрее по сравнению с методами-оболочками, поскольку они не требуют обучения моделей. С другой стороны, методы-оболочки требуют больших вычислительных затрат, а в случае массивных наборов данных методы-оболочки не являются наиболее эффективным методом выбора функций, который следует учитывать.