ML | Тест хи-квадрат для выбора функции
Выбор функций также известен как выбор атрибутов - это процесс извлечения наиболее релевантных функций из набора данных с последующим применением алгоритмов машинного обучения для повышения производительности модели. Большое количество нерелевантных функций увеличивает время обучения в геометрической прогрессии и увеличивает риск переобучения.
Тест хи-квадрат для извлечения признаков:
Тест хи-квадрат используется для категориальных функций в наборе данных. Мы вычисляем хи-квадрат между каждой функцией и целью и выбираем желаемое количество функций с лучшими показателями хи-квадрат. Он определяет, будет ли связь между двумя категориальными переменными выборки отражать их реальную связь в генеральной совокупности.
Оценка хи-квадрат определяется по формуле:
где -
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