NLP相关学术内容:卡方检验

卡方检验
https://blog.****.net/snowdroptulip/article/details/78770088
NLP相关学术内容:卡方检验
卡方检验的的公式中,A为实际值T为理论值,x2用于衡量实际值和理论值的偏差程度。在我们算出来上述例子中卡方值之后,我们应该如何确定是否喝牛奶与感冒独立无关呢?答案是,通过查询卡方分布的临界值表。
自由度等于V = (行数 - 1) * (列数 - 1),对四格表,自由度V = 1。对V = 1,喝牛奶和感冒95%概率不相关的卡方分布的临界概率是:3.84。即如果卡方大于3.84,则认为喝牛奶和感冒有95%的概率不相关。显然1.077<3.84,没有达到卡方分布的临界值,所以喝牛奶和感冒独立不相关的假设不成立。
NLP相关学术内容:卡方检验
我们想知道吃晚饭和不吃晚饭是否对体重下降有影响,所以我们先认为他们彼此独立没有影响,这样的话,吃晚饭而且体重下降的人应该是(168/741)*590=133.765,以此类推算出所有的预测值。之后我们计算卡方值为5.498大于自由度1对应的界限值3.84,因此被拒绝,认为他们是相关的,而且程度很高。(a为显著性水平,默认0.05)
NLP相关学术内容:卡方检验
python中我们如何使用卡方分布?先引入我们需要的包,关键是chi2
from sklearn.feature_selection import chi2
from sklearn.feature_selection import SelectKBest
用熟悉的iris数据集做例子
NLP相关学术内容:卡方检验
model1 = SelectKBest(chi2,k=2) #我们将选择保留k个特征,保留标准是卡方分布
model1.fit_transform(iris.data, iris.target) #拟合iris的特征和他的分类值,他们都是二维数组。
NLP相关学术内容:卡方检验
可以看出保留了后面两个特征的值,如果想看到所有特征的评分,我们可以使用model1.scores_
NLP相关学术内容:卡方检验
这样你就无发可说了。