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

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

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

Как помогает выбор функций?

  1. Это повышает производительность и точность модели — когда мы сохраняем только важные функции, наша модель работает хорошо, она дает почти одинаковый результат для набора данных для обучения и набора тестовых данных.
  2. Уменьшает переоснащение. Поскольку нет шансов, что модель очень хорошо подойдет к набору обучающих данных и плохо подойдёт к набору обучающих данных.

Техники:-

  1. Все в
  2. Обратное устранение.
  3. Выбор вперед.
  4. Двунаправленное устранение
  5. Гибридный отбор

Предварительное требование: вы должны быть знакомы с проверкой гипотез и понятиями P-значения.

Все в-

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

Как реализовать обратное устранение в python: -

а. Нам нужно импортировать библиотеку statsmodels.formula.api, которая используется для оценки различных статистических моделей, таких как OLS (Обычный метод наименьших квадратов).

б. Нам нужно выбрать уровень значимости, чтобы остаться в модели. (Уровень значимости — это вероятность отклонения нулевой гипотезы). В соответствии с процессом обратного исключения нам нужно выбрать значимый уровень (0,5), а затем нужно подогнать модель со всеми возможными предикторами. Итак, для подгонки модели мы создадим объект regressor_OLS нового класса OLS библиотеки statsmodels. Затем мы подгоним его с помощью метода fit().

в. Нам нужно сопоставить полную модель со всеми независимыми переменными. Нам нужно p-value для сравнения со значением SL, поэтому для этого мы будем использовать метод summary() для получения сводки. таблица всех значений. мы получаем столбец, который показывает сравнение p-значения с уровнем значимости. Мы удаляем эту переменную и повторяем процесс, пока не получим тот набор признаков, который меньше или равен нашему уровню значимости.

Затем, наконец, мы используем установленные переменные, уровень значимости которых меньше или равен выбранному нами уровню значимости.

Выбор форвардов:-