Предоставление нам оценить точность важной функции.

Привет, как жизнь. Я надеюсь, у него все отлично? Точно так же сегодня я познакомлю вас с новым процессом выбора признаков с использованием дивергенции Брегмана.

Что такое дивергенция Брегмана?

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

Его можно рассчитать с помощью квадрата евклидова расстояния:

Мы можем выбирать объекты в наборе данных на основе расхождения между ними и целью. Вот что делает BregmanDivergenceSelector

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

Что такое ItakuraSaitoSelector?

Опять же, это селектор, основанный на расхождении Итакура-Сайто, который измеряет разницу между исходным спектром и его аппроксимацией. Спектр можно рассматривать как непрерывное распределение.

Как он рассчитывается?

Дивергенция Итакура-Сайто - это дивергенция Брегмана, порожденная минус-логарифмической функцией. Его можно рассчитать по следующей формуле:

где p и q — распределения.

Начнем?

Для этой демонстрации мы будем использовать простой набор данных о состоянии здоровья сердца Kaggle.

Доступно по адресу: https://www.kaggle.com/rupakroy/heart-analysis

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

#pip install sklearn==1.0.1
#pip install kydavra==0.3.1

Теперь загрузите набор данных

import pandas as pd
df = pd.read_csv('heart.csv')
#select numeric data types or convert it
df = df.select_dtypes('number')
df.head()

Время установить наш пакет

pip install auto-feat-selection==0.0.8

#import the package
from auto_feat_select_rupakbob import auto_feat_selection
#Get the important features list
#index 0 = BregmanDivergenceSelector, index 1 = ItakuraSaitoSelector
cols_BregmanDivergenceSelector = auto_feat_selection.grid_feat_search(df,'target',5)[0]
cols_ItakuraSaitoSelector = auto_feat_selection.grid_feat_search(df,'target',5)[1]

Вывод: важные характеристики ['пол', 'cp', 'fbs', 'restecg', 'exang', 'oldpeak', 'slope', 'ca', 'thal']

#grid_feat_search(dataframe, ‘target_column_name’, max_divergence (по умолчанию = 0, max = 10) принято расхождение с целевым столбцом)

min_divergence (int, по умолчанию: 0): минимально допустимое расхождение с целевым столбцом

max_divergence (int, по умолчанию: 10): максимально допустимое расхождение с целевым столбцом

ОЦЕНИТЬ

auto_feat_selection.evaluate_grid_feat_search(df,cols_BregmanDivergenceSelector,target ='target')
auto_feat_selection.evaluate_grid_feat_search(df,cols_ItakuraSaitoSelector,target ='target')

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

#evaluate_grid_feat_search (фрейм данных, 'taget_column_name')

Вывод:

Вот и все! мы ясно видим разницу. С важными функциями и без них.

Собираем все части вместе.

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

Еще раз спасибо за уделенное время. Если вам понравилась эта короткая статья, в моем среднем репозитории есть множество тем по расширенной аналитике, науке о данных и машинному обучению. https://medium.com/@bobrupakroy

Некоторые из моих альтернативных сайтов в Интернете Facebook, Instagram, Udemy, Blogger, Issuu, Slideshare, Scribd и другие.

Также доступно на Quora @ https://www.quora.com/profile/Rupak-Bob-Roy

Дайте мне знать, если вам нужно что-нибудь. Говорите Скоро.

Репозиторий пакетов: https://pypi.org/project/auto-feat-selection/0.0.8/

Реализация Kaggle: https://www.kaggle.com/rupakroy/auto-feature-selection-using-bregman-divergence/notebook