В моей предыдущей статье я перечислил методы, используемые для разработки признаков. В этой статье я поделюсь методами выбора функций. Если вы не читали мою предыдущую статью, пожалуйста, используйте ссылку ниже, чтобы понять разработку функций, прежде чем начать с выбора функций — https://pavimca216.medium.com/feature-engineering-b7dcfff2367f.

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

Давайте теперь рассмотрим преимущества выбора функций:

- Повышение точности модели.

- Снижает риск переобучения

- Позволяет алгоритму быстрее обучать модель.

- Улучшает визуализацию данных

Далее мы обсудим различные методологии и методы, которые помогут нам выбрать правильные функции для построения модели.

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

2. Метод обертки

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

Примечание. Выбор функций не зависит от алгоритма машинного обучения.

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

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

Корреляция Пирсона. Это метод, используемый для измерения связи между двумя количественными непрерывными переменными, а именно x и y. Диапазон значений: от -1 до +1.

Например:

- возраст человека и артериальное давление.

- Доход и сбережения

  • Температура, скорость, длина, вес и т. д.,

LDA (линейный дискриминационный анализ): это статистический метод, используемый для поиска линейной комбинации признаков, разделяющих два или более класса категориальных переменных/объектов/событий.

Anova: Anova расшифровывается как Дисперсионный анализ. Это односторонний анализ, используемый для проверки наличия статистически значимой разницы между средними значениями нескольких групп, равными или нет. Он используется, когда нам нужно найти значение между одной или несколькими независимыми категориальными переменными и одной непрерывной зависимой переменной.

Хи-квадрат. Наиболее часто используемый статистический тест для поиска взаимосвязи между категориальными переменными для оценки вероятности связи или корреляции между переменными.

Например: квалификация, пол и материнский статус.

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

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

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

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

Шаги по устранению рекурсивной функции:

- Строит модель, используя все независимые переменные.

- Рассчитать важность всех переменных.

- Каждая независимая переменная оценивается по ее важности.

- Отбросить менее значимую переменную

- Перестроить модель, используя оставшуюся переменную, и рассчитать точность модели.

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

Давайте теперь посмотрим, какая функция помогает в выборе исключения рекурсивных функций:

а. Линейная регрессия — ImFuncs

б. Случайный лес — rfFuncs

в. Военно-морской флот — nbFuncs

д. В мешках — treebagFuncs

Встроенный метод:

Он выполняет выбор функций во время обучения модели. Он реализуется алгоритмами, в которые встроены методы выбора признаков.

Пример: LASSOРегрессия, RIDGEРегрессия.

Счастливого обучения!!

Спасибо, Павитра Джаяшанкар.