"Машинное обучение"

Простой в использовании выбор функции корреляции с помощью Kydavra

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

Корреляция Пирсона.

Коэффициент корреляции Пирсона в ковариации двух переменных, деленный на произведение их стандартных отклонений.

Его значение составляет от -1 до 1, отрицательные значения означают обратное отношение, а положительные - обратное. Часто мы просто берем абсолютное значение. Таким образом, если абсолютное значение выше 0,5, ряд может иметь (да, может иметь) отношение. Однако мы также устанавливаем вертикальный предел 0,7 или 0,8, потому что, если значения слишком коррелированы, возможно, один ряд является производным от другого (например, возраст в месяцах от возраста в годах) или просто может привести нашу модель к переобучению.

Использование Kydavra PearsonCorrelationSelector.

Во-первых, вам следует установить кидавру, если она еще не установлена.

pip install kydavra

Затем мы должны создать abject и применить его к набору данных Hearth Disease UCI.

from kydavra import PearsonCorrelationSelector
selector = PearsonCorrelationSelector()
selected_cols = selector.select(df, ‘target’)

Применение настройки селектора по умолчанию в наборе данных Hearth Disease UCI даст нам пустой список. Это связано с тем, что никакая функция не имеет корреляции с целевой функцией выше 0,5. Поэтому настоятельно рекомендуем поэкспериментировать с параметрами селектора:

  • min_corr (float, от 0 до 1, по умолчанию = 0,5) минимальное значение коэффициента корреляции, которое следует выбрать в качестве важной характеристики.
  • max_corr (float, от 0 до 1, по умолчанию = 0,5) минимальное значение коэффициента корреляции, которое следует выбрать в качестве важной характеристики.
  • erase_corr (логическое, по умолчанию = False), если установлено значение True, тогда алгоритм удалит столбцы, которые коррелированы между сохранением только включения, если False, тогда он сохранит все столбцы.

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

['sex', 'cp', 'thalach', 'exang', 'oldpeak', 'slope', 'ca', 'thal']

а оценка перекрестной проверки остается прежней - 0,81. Хороший результат.

Корреляция Спирмена.

Когда корреляция Пирсона основана на предположении, что данные распределены нормально, ранговый коэффициент Спирмена не делает этого предположения. Значит, ценности разные. Тем не менее, ранговый коэффициент Спирмена также варьируется от -1 до 1. Математические детали того, как он рассчитывается, выходят за рамки этой статьи, поэтому ниже приведены некоторые статьи, в которых он анализируется (и следующий тип корреляции в более подробной информации). деталь).

Итак, теперь давайте применим SpermanCorrelationSelector к нашему набору данных.

from kydavra import SpermanCorrelationSelector
selector = SpermanCorrelationSelector()
selcted_cols = selector.select(df, ‘target’)

Используя настройку по умолчанию, селектор также возвращает пустой список. Но установка min_corr на 0,3 дает тот же столбец, что и PearsonCorrelation. Параметры одинаковы для всех селекторов корреляции.

Корреляция рангов Кендалла.

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

from kydavra import KendallCorrelationSelector
selector = KendallCorrelationSelector()
selected_cols = selector.select(df, ‘target’)

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

Если вы использовали или пробовали Кядавру, мы настоятельно приглашаем вас заполнить эту форму и поделиться своим опытом.

Сделано с ❤ от Sigmoid.

Ресурсы