Новый улучшенный и быстрый способ выбора лучших функций в наборе данных

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

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

Featurewiz

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

а. СУЛОВ:

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

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

б. Рекурсивный XGBoost

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

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

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

Установка Featurewiz

Как и любую другую библиотеку Python, мы установим featurewiz с помощью следующей команды.

pip install featurewiz

Импорт необходимых библиотек

Мы импортируем панды, чтобы загрузить наш набор данных, и featurewiz, чтобы применить выбор функций.

import pandas as pd
from featurewiz import featurewiz

Загрузка набора данных

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

df = pd.read_csv("boston.csv")
df.head()

Использование Featurewiz

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

features = featurewiz(df, target='medv', corr_limit=0.70, 
                                verbose=2)

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

Попробуйте featurewiz на разных наборах данных и поделитесь своим опытом в разделе ответов. Вы можете ознакомиться с более подробной информацией о featurewiz здесь.

Прежде чем ты уйдешь

Спасибо за чтение! Если вы хотите связаться со мной, свяжитесь со мной по адресу [email protected] или в моем профиле LinkedIn. Вы можете просмотреть мой профиль Github для различных проектов по науке о данных и руководств по пакетам. Кроме того, не стесняйтесь изучать мой профиль и читать разные мои статьи, связанные с наукой о данных.