ML | Тест хи-квадрат для выбора функции

Опубликовано: 25 Июля, 2021

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

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

где -

Observed frequency = No. of observations of class
Expected frequency = No. of expected observations of class if there was no relationship between the feature and the target.

Реализация Python выбора функции хи-квадрат:




# Load libraries
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
# Load iris data
iris_dataset = load_iris()
# Create features and target
X = iris_dataset.data
y = iris_dataset.target
# Convert to categorical data by converting data to integers
X = X.astype( int )
# Two features with highest chi-squared statistics are selected
chi2_features = SelectKBest(chi2, k = 2 )
X_kbest_features = chi2_features.fit_transform(X, y)
# Reduced features
print ( 'Original feature number:' , X.shape[ 1 ])
print ( 'Reduced feature number:' , X_kbest.shape[ 1 ])

Выход:

 Номер оригинальной функции: 4
Уменьшенное количество функций: 2