Python 卡方检验演算

1 声明

本文的数据来自网络,部分代码也有所参照,这里做了注释和延伸,旨在技术交流,如有冒犯之处请联系博主及时处理。

2 卡方检验简介

卡方统计检验用于检测两个分类向量的独立性,也就是说该统计量是一个用于统计分类特征的每个类别中观测到的数量与我们所期望(特征与目标向量独立或者无关时)之间的差异。

其中O代表观测或者样本的值,i代表第i个分类,E代表期望值。

3 卡方检验代码示例

from sklearn.feature_selection import SelectKBest
from sklearn.preprocessing import LabelBinarizer
import sklearn.feature_selection as selection
import scipy
#Step1 定义数据X和y
X = np.array([3.4, 3.4, 3. , 2.8, 2.7, 2.9, 3.3, 3. , 3.8, 2.5])
y = np.array([0, 0, 0, 1, 1, 1, 2, 2, 2, 2])
#Step2 二值化数据
y = LabelBinarizer().fit_transform(y)
#Step3 点积,实际得到的是y的每个分类的汇总和
observed = y.T.dot(X)
#Step4 reshape成1行未知列,对所有X求和,记作Total
feature_count = X.sum(axis=0).reshape(1, -1)
#计算每个分类的占比,这里只要对二值化的数据求均值即可。
class_prob = y.mean(axis=0).reshape(1, -1)
#Step5 计算每个分类对应的期望值,即每个y分类的占比乘以Total
expected = np.dot(class_prob.T, feature_count)
#Step6 计算卡方,方法见下:
chi2 = ((observed.reshape(-1,1) - expected) ** 2 / expected).sum(axis=0)#power((9.8-9.24),2)/9.24
#+power((8.4-9.24),2)/9.24
#+power((12.6-12.32),2)/12.32
print("卡方值\tP值")
# p值
p = scipy.special.chdtrc(3 - 1, chi2)
print(chi2,p)# 对比SelectKBest,chi2
s = SelectKBest(selection.chi2, k=1)
s.fit(X.reshape(-1,1),y)
print(s.scores_, s.pvalues_)

4 总结

Python 卡方检验演算相关推荐

  1. python卡方检验关键词,Python卡方检验

    本篇文章帮大家学习python卡方检验,包含了Python卡方检验使用方法.操作技巧.实例演示和注意事项,有一定的学习价值,大家可以用来参考. 卡方检验是确定两个分类变量是否具有显着相关性的统计方法. ...

  2. python 卡方检验 特征选择_结合Scikit-learn介绍几种常用的特征选择方法

    特征选择(排序)对于数据科学家.机器学习从业者来说非常重要.好的特征选择能够提升模型的性能,更能帮助我们理解数据的特点.底层结构,这对进一步改善模型.算法都有着重要作用. 特征选择主要有两个功能: 减 ...

  3. Python 卡方检验、克雷姆值

    卡方检验是一种用途很广的计数资料的假设检验方法.它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析.其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合 ...

  4. python卡方检验关键词,特征选择——卡方检验(使用Python sklearn进行实现)

    在看这篇文章之前,如果对卡方检验不熟悉,可以先参考:卡方检验 Python有包可以直接实现特征选择,也就是看自变量对因变量的相关性.今天我们先开看一下如何用卡方检验实现特征选择. 1. 首先impor ...

  5. python 卡方检验批量筛选_卡方检验(python代码实现)

    医药统计项目QQ:231469242 分类变量检验方法 卡方分布绘图 如果多个符合正态分布的独立随机变量z1,z2,z3.....zk, z1+z2+z3+....z_k呈现卡方分布,自由度k. 有几 ...

  6. python卡方检验kf_data_统计学中的各种检验-scipy.stats和statsmodels.stats的使用

    这里会罗列一些统计学中的检验方法,当然顺序以笔者遇到的为准. 1.方差分析 1.1 概述 对于均值的检验,一般分为以下几种情况: 某样本均值与常数的比较 两个样本均值的比较 两个以上样本均值的比较 对 ...

  7. Python 卡方检验

    卡方检验是一种用途很广的计数资料的假设检验方法.它属于非参数检验的范畴,主要是比较两个及两个以上样本率( 构成比)以及两个分类变量的关联性分析.其根本思想就是在于比较理论频数和实际频数的吻合程度或拟合 ...

  8. python 卡方检验批量筛选_用python和Excel进行列联表分析(卡方检验)

    用python和Excel进行列联表分析 卡方检验回顾(独立性检验) 行(\(r_i\))列(\(c_j\)) \(j=1\) \(j=2\) \(\cdots\) 合计 \(i=1\) \(f_{1 ...

  9. python卡方检验kf_data_常用统计检验的Python实现

    正态性检验 正态性检验是检验数据是否符合正态分布,也是很多统计建模的必要步骤,在Python中实现正态性检验可以使用W检验(SHAPIRO-WILK TEST) 检验原假设:样本服从正态分布 Pyth ...

最新文章

  1. 4个月原生weex混合开发终结()
  2. php 浅复制 和 深复制(clone)
  3. bazel 链接第三方动态库_Linux 动态库与静态库制作及使用详解
  4. nyist 541最强DE 战斗力
  5. 笔记(用Python做些事情)--变量(日期和时间)
  6. 图解Spring循环依赖,看过之后再也不怕面试被问到了!
  7. DXperience,不能不爱
  8. python字符串常量有什么区别_Python经典面试题:is与==的区别
  9. 松鼠聚会(洛谷-P3964)
  10. 判断手机是否有虚拟按钮,获取虚拟按钮的高度
  11. [原创]Nexus5 内核编译烧录过程记录
  12. HihoCoder-1174拓扑排序
  13. 数字信号处理matlab——FIR浅析1
  14. 迅雷远程与服务器失去响应,#原创新人# 彻底解决迅雷关闭接口对群晖NAS的影响...
  15. matleb2016A安装教程
  16. 数据结构题集(C语言版 清华大学出版社)
  17. GIS和RS数据查找下载网址整合
  18. 商务短信通平台建设实施方案
  19. 苹果的傲慢与堕落,从iPhone XS的发布谈起!
  20. 04_从啤酒与尿布,聊关联规则推荐

热门文章

  1. VTK:演示调用数据的用法实战
  2. wxWidgets:wxToggleButton类用法
  3. wxWidgets:wxGenericProgressDialog类用法
  4. boost::remove_copy相关的测试程序
  5. boost::johnson_all_pairs_shortest_paths用法的测试程序
  6. boost::graph模块实现内部属性图的测试程序
  7. Boost:以协程的方式实现带有单个默认值的echo服务器的实例
  8. ITK:创建高斯内核
  9. DCMTK:列出dicom文件的内容
  10. VTK:可视化之VisualizeImageData