卡方 (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... ])