chi2#
- sklearn.feature_selection.chi2(X, y)[源代码]#
计算每个非负特征和类别之间的卡方统计数据。
此分数可用于选择
n_features
X测试卡方统计量具有最高值的要素,该要素必须仅包含 non-negative integer feature values 例如布尔值或频率(例如,文档分类中的术语计数),相对于类。如果您的某些功能是连续的,则需要将它们分类,例如使用
KBinsDiscretizer
.回想一下,卡方测试衡量随机变量之间的依赖性,因此使用该函数“剔除”了最有可能独立于类、因此与分类无关的特征。
阅读更多的 User Guide .
- 参数:
- X形状(n_samples,n_features)的{类数组,稀疏矩阵}
样本载体。
- y形状类似阵列(n_samples,)
目标向量(类标签)。
- 返回:
- chi2形状的nd数组(n_features,)
每个特征的卡方2统计。
- p_values形状的nd数组(n_features,)
每个特征的P值。
参见
f_classif
分类任务的标签/特征之间的方差分析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... ])