卡方 (chi2)#

sklearn.feature_selection.chi2(X, y)[原始碼]#

計算每個非負特徵和類別之間的卡方統計量。

此分數可用於從 X 中選擇具有最高卡方統計檢定值之 n_features 個特徵,X 必須僅包含非負特徵,例如布林值或頻率 (例如,文件分類中的詞項計數),相對於類別。

回想一下,卡方檢定衡量隨機變數之間的依賴關係,因此使用此函數會「去除」最有可能獨立於類別的特徵,因此與分類無關。

請在使用者指南中閱讀更多資訊。

參數:
X形狀為 (n_samples, n_features) 的 {類陣列, 稀疏矩陣}

樣本向量。

y形狀為 (n_samples,) 的類陣列

目標向量 (類別標籤)。

回傳:
chi2形狀為 (n_features,) 的 ndarray

每個特徵的卡方統計量。

p_values形狀為 (n_features,) 的 ndarray

每個特徵的 P 值。

另請參閱

f_classif

用於分類任務的標籤/特徵之間的 ANOVA F 值。

f_regression

用於迴歸任務的標籤/特徵之間的 F 值。

注意

此演算法的複雜度為 O(n_classes * n_features)。

範例

>>> import numpy as np
>>> from sklearn.feature_selection import chi2
>>> X = np.array([[1, 1, 3],
...               [0, 1, 5],
...               [5, 4, 1],
...               [6, 6, 2],
...               [1, 4, 0],
...               [0, 0, 0]])
>>> y = np.array([1, 1, 0, 0, 2, 2])
>>> chi2_stats, p_values = chi2(X, y)
>>> chi2_stats
array([15.3...,  6.5       ,  8.9...])
>>> p_values
array([0.0004..., 0.0387..., 0.0116... ])