Используйте регуляризацию для удаления избыточных функций

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

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

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



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

Идея:

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

L2-регуляризация относится к штрафу, который эквивалентен квадрату величины коэффициентов, тогда как L1-регуляризация вводит штраф (количество усадки), эквивалентный сумме абсолютного значения коэффициентов.

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

Выполнение:

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

  • Прочтите набор данных и выполните проектирование функций (стандартизацию), чтобы сделать его пригодным для обучения модели логистической регрессии.
  • Обучите наиболее подходящую модель логистической регрессии на стандартизированной обучающей выборке.
  • Вычислите коэффициенты модели логистической регрессии, используя функцию model.coef_, которая возвращает вектор весов плоскости деления логистической регрессии.

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

  • Значения коэффициентов, равные 0, являются избыточными функциями и могут быть удалены из обучающей выборки. Как видно из приведенного выше снимка вектора коэффициентов, у нас есть 7 функций, у которых значения коэффициентов равны 0.
coef = model.coef_[0]
imp_features = pd.Series(X_std.columns)[list(coef!=0)]
X_train = X_train[imp_features]
X_test = X_test[imp_features]

До реализации выбора функций в обучающей выборке было 29 функций, которые были сокращены до 22 после удаления 7 избыточных функций.

Примечание:

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

Более высокое значение «C» может рассматривать важные функции как избыточные, тогда как более низкие значения «C» могут не исключать избыточные функции.

Вывод:

Лассо-регрессия (логистическая регрессия с L1-регуляризацией) может использоваться для удаления избыточных функций из набора данных. L1-регуляризация вносит разреженность в набор данных и уменьшает значения коэффициентов избыточных функций до 0.

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

Существуют различные другие методы выбора функций. Я обсуждал 7 таких приемов выбора функций в одной из своих предыдущих статей:



Использованная литература:

[1] Документация Scikit-learn: https://scikit-learn.org/stable/auto_examples/linear_model/plot_logistic_path.html

Спасибо за чтение