1 - 基于卡方检验的特征选择

本文介绍了基于卡方检验的特征选择方法,用于在生物和金融等领域中找到相关特征。通过计算(chi^2)值来评估特征与目标变量的独立性,大(chi^2)值表示特征与类别关联性强。文章通过实例展示了如何计算(chi^2)值,并讨论了如何将(chi^2)值转换为p-value,以及在Matlab中的实现代码。
摘要由CSDN通过智能技术生成

基于卡方检验的特征选择,更多也可参考http://nlp.stanford.edu/IR-book/html/htmledition/feature-selectionchi2-feature-selection-1.html

———————— 原理简介 ————————

卡方检验(\(\chi ^2\) test),是一种常用的特征选择方法,尤其是在生物和金融领域。\(\chi ^2\) 用来描述两个事件的独立性或者说描述实际观察值与期望值的偏离程度。\(\chi ^2\)值越大,则表明实际观察值与期望值偏离越大,也说明两个事件的相互独立性越弱。

以下表我们简单说明一下,\(\chi ^2\) test的意思:

比如我们现在有一个生物学问题,我们需要从采样的5个基因 \(gene1,…,gene5\) 中找到某种疾病的1个致病基因。下表我们分别统计了患病和不患病人群5种基因的出现频率。当我们把一种基因看做一种特征的时候,找到致病基因就可以看做是选择一种特征使得患病-不患病的二分类问题准确率最高。

gene1 gene2 gene3 gene4 gene5
患病 0.73 0.24 0.21 0.54
不患病 0.71 0.26 0.87 0.55

首先,我们做出假设 “患病与gene_x无关”

以gene1为例,分布比较稳定, \(\chi ^2\) 值应该比较小,即两事件相互独立性比较强,即假设成立。

再以gene3为例,分布偏差很大, \(\chi ^2\) 值应该很大,即两事件相互独立性很弱,即假设不成立,因此最后我们选择gene3作为致病基因。

上述的例子比较简单,也存在一些不合常理的地方,仅仅用于帮助大家理解。

———————— 计算 \(\chi ^2\) 值 ————————

接下来我们讲怎样具体地计算 \(\chi ^2\) 值。

先直接上公式:

\(X^2(t,c) =
\sum_{e_t \in { 0,1 } }
\sum_{e_c \in { 0,1 } }
\frac{(N_{e_t e_c}-E_{e_t e_c})^2}{E_{e_t e_c}}\)

其中\(t:term\),即某个特征有或无,\(c: class\) ,即类别1或0(这里只支持2分类)。\(N\) 是观察值, \(E\) 是期望值。则 \(E_{11}\) 表示出现特征 \(t\) 且 类别 \(c=1\)。

现在,我们以第一节中的 gene3 为例,来计算 \(\chi ^2\) 值,当然按照公式我们

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值