Мы все теперь знаем, насколько важно выбрать лучшие функции, чтобы получить максимально возможную оценку точности для нашей модели. И тут на помощь приходит PhikSelector.
𝜙k — это хороший способ измерить коэффициент корреляции данных, учитывая тот факт, что он, безусловно, имеет улучшения по сравнению с коэффициентом корреляции Пирсона и другими, такими как работа с порядковыми, категориальными и непрерывными переменными. встроенный метод шумоподавления, если речь идет о статистических изменениях, он может улавливать нелинейные зависимости. Таким образом, это действительно хороший инструмент для выбора функций.
Использование 𝜙k с PhikSelector от Kydavra
В первую очередь вам потребуется установить библиотеку Kydavra:
pip install kydavra
Не забудьте обновить его, если он уже установлен:
pip install — upgrade kydavra
Теперь нам нужно импортировать модель, сгенерировать селектор, а затем применить его к нашему набору данных:
from kydavra import PhikSelector phks = PhikSelector() phks.select(df, 'target')
Функция выбора принимает фрейм данных и заданный целевой столбец в качестве параметров. Что касается селектора, то он принимает следующие параметры:
- min_corr (с плавающей запятой, от 0 до 1, по умолчанию = 0,5): минимальное положительное значение корреляции, которое должно быть у функции с целевым значением.
- max_corr(число с плавающей запятой, от 0 до 1, по умолчанию = 0,8): максимальное положительное значение корреляции, которое должно иметь свойство с целевым значением.
- erase_corr (логическое значение, по умолчанию = False): Если установлено значение False, селектор не стирает функции, которые сильно коррелируют между собой. Если установлено значение True, селектор стирает функции, которые сильно коррелируют между собой
Давайте попробуем:
Давайте проверим производительность PhikSelector на наборе данных UCI болезней сердца:
Теперь мы применим линейную регрессию для следующих функций:
['age' 'sex' 'cp' 'trestbps' 'chol' 'fbs' 'restecg' 'thalach' 'exang' 'oldpeak' 'slope' 'ca' 'thal']
Мы получаем следующую среднюю абсолютную ошибку: 0,323376589727377.
После применения PhikSelector мы видим, что лучшими функциями в соответствии с ним являются:
['age', 'sex', 'cp', 'thalach', 'exang', 'oldpeak', 'ca', 'thal']
Итак, мы повторно используем линейную регрессию и получим следующую среднюю абсолютную ошибку: 0,2936848634351146.
Как видим, ошибка уменьшилась, чего мы и добивались.
Заключение
PhikSelector — действительно полезный инструмент, если вы хотите обучить свою модель лучшим функциям, чтобы добиться отличного результата (или, по крайней мере, приемлемого).
Сделано с помощью ❤ от Sigmoid.
Если вы пробовали кидавру, приглашаем вас поделиться своим впечатлением, заполнив эту форму.
Полезные ссылки :
- https://towardsdatascience.com/phik-k-get-familiar-with-the-latest-correlation-coefficient-9ba0032b37e7
- https://arxiv.org/abs/1811.11440
Подпишитесь на нас: