文档章节

特征选择之卡方检验

剑行earth
 剑行earth
发布于 2017/04/30 10:58
字数 1167
阅读 1928
收藏 0

卡方检验(chi square test)能够是一种假设性检验的方法,它能够检验两个分类变量之间是否是独立无关的。它通过观察实际值和理论值的偏差来确定原假设是否成立,它按照以下步骤来检验两个分类变量是否是独立的。

无关性假设

    假如,有了一些新闻文章,这些新闻的文章已经标好了类别,所以可以得到以下统计的信息。通过下面的表格的第一行和第二行可以得出,文章的内容是否包含“篮球”的确对文章是否是体育类别的有统计上的差别。但是这个值要相差多大才能说明问题呢?这就要用到卡方检验了。

组别    体育 非体育 合计
包含“篮球” 34    10 44
不包含“篮球” 19 24 43
合计 53 34 87

    用抽样的概率近似与整体的概率,可以得到随机的一个新闻文章,其属于体育类别的概率是:(34 + 19)/ (34 + 19 + 10 + 24) = 0.609。

    无关性假设是:文章是否包含“篮球“文章是否属于体育类别是独立无关的。那么根据上面得到的概率,可以得到下面的表格。

理论值四格表

    如果文章是否包含“篮球“文章是否属于体育类别是独立无关的。且一个新闻文章属于体育类别的概率是0.609,那么可以得到下面的表格。因为文章是否包含“篮球“文章是否属于体育类别是独立无关的,所以不管文章中是不是包含”篮球“,其属于体育类别的概率都是0.609。

      如果两个分类变量真的是独立无关的,那么四格表的实际值与理论值得差值应该非常小(有差值的原因是因为抽样误差)。那么如何衡量实际值与理论值得差值呢?

组别 体育 非体育
包含”篮球“ 44 * 0.609 = 26.8 44 * 0.391 = 17.2
不包含”篮球“ 43 * 0.609 = 26.2 43 * 0.391 = 16.8

卡方检验公式

卡方检验的公式如下,其中A为实际值,也就是第一个四格表中的四个数据。T为理论值,也就是理论四格表中的四格数据。

    X2值用于衡量实际值与理论值得差异程度,包含了以下两个信息:

  • 实际值与理论值偏差的绝对大小(由于平方的存在,差异被放大了)
  • 差异值与理论值得相对大小。

    上述场景的CHI = 10.10

    上面的公式还可以进一步进行化简为下面的公式:

组别    体育 非体育 合计
包含“篮球” 34 (A)  10(B) 44(A+B)
不包含“篮球” 19(C) 24(D) 43(C+D)
合计 53(A+C) 34(B+D) 87(N)

 

卡方分布的临界值

    当通过上述的公式计算得到CHI的值以后,该如何判断我们的原假设是否成立呢?可以通过查询卡方分布的临界值表来查看我们的原假设是否成立。

    自由度F = (行数 - 1) * (列数 - 1) = 1,对于四格表,F = 1。

    由于自由度F = 1,所以只需要看分布表的第一行。可以看到,随着CHI的增大,原假设成立的概率就越小。因为10.10 > 6.64,所以原假设成立是概率是小于1%。反之,也就是说,原假设不成立(即两个分类变量不是独立无关)的概率大于99%。

如何应用于特征选择

    CHI值越大,说明两个变量越不可能是独立无关的,也就是说X2越大,两个变量的相关程序也就越高。对于特征变量x1,x2,...,xn,以及分类变量y。只需要计算CHI(x1, y)、CHI(x2, y)、...、CHI(xn, y),并按照CHI的值从大到小将特征排序,然后选择阈值,大于阈值的特征留下,小于阈值的特征删除。这样就筛选出一组特征子集了,接着使用这组特征子集去训练分类器,然后评估分类器的性能。

    因为只要比较CHI值得相对大小,所以上述的分布表就没用了。

参考:

卡方检验基础:http://blog.csdn.net/idatamining/article/details/8564966

卡方检验原理及应用:https://segmentfault.com/a/1190000003719712

卡方检验用于特征选择:http://blog.csdn.net/idatamining/article/details/8564981

© 著作权归作者所有

剑行earth
粉丝 0
博文 1
码字总数 1167
作品 0
福州
私信 提问
推荐系统那点事 —— 基于Spark MLlib的特征选择

在机器学习中,一般都会按照下面几个步骤:特征提取、数据预处理、特征选择、模型训练、检验优化。那么特征的选择就很关键了,一般模型最后效果的好坏往往都是跟特征的选择有关系的,因为模型...

青夜之衫
2017/12/04
0
0
[实例] 特征选择方法、网格搜索调参、不平衡处理、pu-learning

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/quiet_girl/article/details/85259086 注: 很多内容是网上学习而得,感谢大佬们的分享~ 本文所有代码,包括一...

nana-li
2018/12/28
0
0
机器学习中的特征选择及其Python举例

欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴...

天善智能
2018/11/27
0
0
机器学习之特征工程-特征选择

一个基本的数据挖掘场景如下: 数据挖掘.jpg 从上面的数据挖掘场景可知,当数据预处理完成后,我们需要选择有意义的特征,输入机器学习的算法模型进行训练。通常来说,从两个方面考虑来选择特...

jacksu在简书
2017/08/09
0
0
双样本T检验——机器学习特征相关性分析实战

最近在做数据分析方面的工作,经常需要检验两组样本之间是否存在差异,所以会遇到统计学中假设检验相关的知识。在机器学习特征工程这一步,笔者最常用到的是假设检验中的卡方检验去做特征选择...

王鹏你妹
04/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
50分钟前
5
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
52分钟前
5
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部