ОТБОР ВАЖНЫХ ПРИЗНАКОВ



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

Представим, что мы решаем задачу банковского телефонного маркетинга. Объектом здесь будет являться телефонный звонок потенциальному клиенту с предложением открыть вклад в банке, целевой переменной – согласие или отказ клиента. Представим, что мы владеем набором данных, где присутствуют признаки, описывающие потенциального клиента: пол, доход, наличие ипотеки и так далее. Нам поставили задачу отобрать n важных признаков из этого признакового описания (пусть признаков 100, тогда n < 100). Это можно сделать следующими способами…



Первый способ. Давайте назовем его «жадным». Он похож на кросс-валидацию Leave-One-Out. Мы будем отбирать по одному признаку из нашей выборки, обучать модель и смотреть, при каком признаке ухудшения качества было наибольшим, следовательно, такой признак важен.



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



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



Четвертый способ. Можно считать t-статистику для каждого признака. Давайте здесь подробнее про нее поговорим (заглядывайте в карусель). Такой метод называют «методов фильтрации». Мы будем отбирать признаки через подсчёт некоторой функции для каждого признака. На основании значений этой функции будем оставлять наиболее важные признаки.



Важно отметить, что при использовании методов, которые мы обсуждали выше, нужно использовать отнормированные признаки.



Upd: j также подаётся на вход в метод answers



Друзья, а какими способами пользуетесь вы? Делитесь в комментариях