卡方检验针对分类变量,是统计样本的实际观测值与理论推断值之间的偏离程度,实际观测值与理论推断值之间的偏离程度就决定卡方值的大小,如果卡方值越大,二者偏差程度越大;反之,二者偏差越小;若两个值完全相等时,卡方值就为0,表明理论值完全符合。
使用iris数据集,在sklearn库中使用卡方检验筛选与目标变量相关的特征
1、导入包
from sklearn.datasets import load_iris
from sklearn.feature_selection import SelectKBest
from sklearn.feature_selection import chi2
2、卡方检验iris数据集选取2个最佳特征
iris = load_iris() # 载入iris数据
X, y = iris.data, iris.target # iris.data是特征数据,iris.target是标签数据
model = SelectKBest(chi2, k=2) # 使用卡方检验选择k个最佳特征
X_new = model.fit_transform(X, y) # 选择k个最佳特征,作为新的X
SelectKBest.fit_transform方法先fit后transform,选出卡方检验后的2个最佳特征作为新的array。
3、输出观察结果
print(iris.data)
print(iris.target)
———————