chi2#
- sklearn.feature_selection.chi2(X, y)#
计算每个非负特征与类别之间的卡方统计量。
该分数可用于从X中选择具有最高卡方统计量值的
n_features
个特征,X必须仅包含**非负特征**,例如布尔值或频率(例如,文档分类中的词频),相对于类别。回想一下,卡方检验衡量随机变量之间的依赖性,因此使用此函数可以“剔除”最可能是独立于类别的特征,因此对于分类是不相关的。
更多信息请参阅 用户指南 。
- Parameters:
- X{array-like, sparse matrix},形状为 (n_samples, n_features)
样本向量。
- yarray-like,形状为 (n_samples,)
目标向量(类别标签)。
- Returns:
- chi2ndarray,形状为 (n_features,)
每个特征的卡方统计量。
- p_valuesndarray,形状为 (n_features,)
每个特征的P值。
See also
f_classif
分类任务中标签/特征之间的ANOVA F值。
f_regression
回归任务中标签/特征之间的F值。
Notes
该算法的复杂度为O(n_classes * n_features)。
Examples
>>> 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... ])
Gallery examples#
带有混合类型的列转换器