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

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

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

Модели линейной регрессии принимают вид

где 𝒚 обозначает целевое значение прогноза, 𝑤 - коэффициенты, а 𝑥 - переменные или характеристики.

Для простоты воспользуемся наивным примером: спрогнозируем price_of_a_house на основе трех характеристик: age_of_a_house, num_of_rooms и square_feet.

Набор данных выглядит следующим образом:

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

Теперь мы подходим к исходному вопросу: В чем важность наших функций: age_of_a_house, num_of_rooms и square_feet? Насколько они полезны для прогнозирования price_of_a_house? Можно ли сказать, что их важность равна коэффициентам: [20, 49, 150]?

Стандартизированный набор данных или нет

Ответ: ТОЛЬКО ЕСЛИ набор данных был стандартизирован перед обучением, коэффициенты можно использовать как важность функции.

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

Причина в том, что переменные часто находятся на разных уровнях. num_of_rooms в основном находится в диапазоне [1,10], тогда как square_feet может находиться в диапазоне [500, 4000 ]. В этом случае переменные необходимо масштабировать до одной и той же единицы измерения. Коэффициенты важны для линейных моделей, если набор данных был стандартизирован.

У линейных моделей разные мнения

Различные линейные модели могут иметь совершенно разные мнения о важности функций. В приведенном выше примере обычная линейная модель имеет коэффициенты [20, 49, 150]. Модель регрессии гребня может иметь коэффициенты [1820, 23, 90], которые значительно отличаются от обычной регрессии. На практике я бы предложил использовать ансамблевую стратегию для объединения идей из разных моделей.

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

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

Проверка стабильности с помощью c ross-валидации

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

В этой статье мы используем упрощенный прогноз цен на жилье в качестве примера, чтобы объяснить четыре часто игнорируемых, но решающих ловушки важности функций в линейных моделях. Если есть только одна вещь, которую вы бы убрали, я бы хотел, чтобы это контрольный список 👍🦖🥊💎🏅:

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

Запишитесь на курс Udemy 🦞:

Рекомендательная система с машинным обучением и статистикой