这一个部分都将只涉及到选择特征的某个子集的方法,将高纬度的特征空间映射到低维度空间的方法(如PCA)都不会涉及到。

一. 单变量

优点:运算速度快,独立于分类器

缺点:忽略的特征之间的联系,忽略了与分类器的联系(在训练模型的时候不能调参来提高性能)

1.  卡方检验

主要内容参考来自 http://blog.sina.com.cn/s/blog_6622f5c30101datu.html

卡方检验的思想是同过观察实际值与理论值的偏差来确定理论正确与否。原假设H0( null hypothesis) 假设观察值与理论值没有区别。首先假设原假设成立,基于此算出卡方值,它表示观察值与理论值的偏离程度。根据卡方分布及自由度可以确定在H0假设成立的情况下获得当前统计量及更极端情况P。如果P值很小,应当拒绝无效假设。否则就不能拒绝无效假设。

在特征选择中,我们可以假设原假设H0: 第i个特征与类别C 不相关,这样,算出的卡方值越大就说明这个特征与类别C越相关,也就是说这个特征越重要。

特征选择

属于DNA-binding protein

不属于DNA-binding protein

总计

包含”AA”

A

B

A+B

不包含”AA”

C

D

C+D

总数

A+C

B+D

N

A:表示包含AA片段的DNA-binding protein的个数

B:表示包含AA片段的non DNA-binding protein的个数

C:表示不包含AA片段的DNA-binding protein的个数

D:表示不包含AA片段的non DNA-binding protein的个数

原假设:AA片段与DNA-binding protein不相关。

根据原假设,出现在DNA-bindig protein包含的AA的比例应该和所有文档中包含AA的比例相同,所以,理论值应该是:

同理可以计算D12,D21,D22.

因为我们只需要相对值,所以:

comment: 因为在计算中,并没有考虑到在一条蛋白质中某个片段出现的频率,所以一个片段某类蛋白质所有的样本中出现一次的卡方值会大于,在该类蛋白质99%的样本中出现10次的片段。这就是“低频词缺陷”。

在bioinformatics 中应用卡方检验来检验某种特征对特定类别的作用,我想是可行的。但是有个问题,是不是正样本和负样本都会包含AA这个片段呢?只是频度的区别?如果是这样,那么这种方法就不可行了。因为它并没有考虑到某一个蛋白质序列中某个特征的频度。但是我还是觉得这个方法可以研究的,需要检查一下我们组的特征提取方法,看看是否适用。

Feature Selection 其一 —— Filter Approach的更多相关文章

  1. Feature Engineering and Feature Selection

    首先,弄清楚三个相似但是不同的任务: feature extraction and feature engineering: 将原始数据转换为特征,以适合建模. feature transformat ...

  2. 机器学习-特征选择 Feature Selection 研究报告

    原文:http://www.cnblogs.com/xbinworld/archive/2012/11/27/2791504.html 机器学习-特征选择 Feature Selection 研究报告 ...

  3. the steps that may be taken to solve a feature selection problem:特征选择的步骤

    參考:JMLR的paper<an introduction to variable and feature selection> we summarize the steps that m ...

  4. [Feature] Feature selection

    Ref: 1.13. Feature selection Ref: 1.13. 特征选择(Feature selection) 大纲列表 3.1 Filter 3.1.1 方差选择法 3.1.2 相关 ...

  5. 特征选择与稀疏学习(Feature Selection and Sparse Learning)

    本博客是针对周志华教授所著<机器学习>的"第11章 特征选择与稀疏学习"部分内容的学习笔记. 在实际使用机器学习算法的过程中,往往在特征选择这一块是一个比较让人模棱两可 ...

  6. 【转】[特征选择] An Introduction to Feature Selection 翻译

    中文原文链接:http://www.cnblogs.com/AHappyCat/p/5318042.html 英文原文链接: An Introduction to Feature Selection ...

  7. 单因素特征选择--Univariate Feature Selection

    An example showing univariate feature selection. Noisy (non informative) features are added to the i ...

  8. 10-3[RF] feature selection

    main idea: 计算每一个feature的重要性,选取重要性前k的feature: 衡量一个feature重要的方式:如果一个feature重要,则在这个feature上加上noise,会对最后 ...

  9. Feature Selection Can Reduce Overfitting And RF Show Feature Importance

    一.特征选择可以减少过拟合代码实例 该实例来自机器学习实战第四章 #coding=utf-8 ''' We use KNN to show that feature selection maybe r ...

随机推荐

  1. 【前端阅读】——《编程之魂》摘记&读后感&思维导图

    前言:这本书全名叫<编程之魂——与27为编程语言创始人对话>,它的内容以采访对话为主,以图通过和顶级大师的真实交流来调查:大师们为什么要创建某种编程语言,它的技术如何开发.如何教授和学习, ...

  2. Ubuntu下的计划任务 -- cron的基本知识

    下面不完全: 参考:http://blog.csdn.net/cuker919/article/details/6336457 cron是一个Linux下的后台进程,用来定期的执行一些任务.因为我用的 ...

  3. MySQL经常使用命令--create命令使用

    切换数据库的字符集 在mysql中的配置文件里: 使用vim /etc/mysql/my.cnf [client] default-character-set = utf8 [mysqld] char ...

  4. Android世界第一个activity启动过程

    Android世界第一个activity启动过程 第一次使用Markdown,感觉不错. Android系统从按下开机键一直到launcher的出现,是一个如何的过程,中间都做出了什么操作呢.带着这些 ...

  5. 聚合数据 iOS 项目开发实战:条码查询器

    记录下,聚合数据 iOS 项目开发实战:条码查询器:视频地址:http://www.jikexueyuan.com/course/324.html 条码查询API:https://www.juhe.c ...

  6. 【C语言学习】封装和模块化思想

    刚学习完C后,做的关于C的课程设计是在一个源文件里放了几百行代码,并且各个功能之间都是相互依赖的,这样就会非常麻烦. 由于当我要改动某个地方的时候,就会牵连着要改动喝多的地方.而在实际的程序设计中.这 ...

  7. Node.app让Nodejs平台在iOS和OS X系统上奔跑

    首先呢,欢迎大家去查看相同内容的链接:http://www.livyfeel.com/nodeapp/. 由于那个平台我用的markdown语法,我也懒得改动了,就这样黏贴过来了. 这是一个惊人的恐怖 ...

  8. Redis学习手册(List数据类型)(转)

    一.概述: 在Redis中,List类型是按照插入顺序排序的字符串链表.和数据结构中的普通链表一样,我们可以在其头部(left)和尾部(right)添加新的 元素.在插入时,如果该键并不存在,Redi ...

  9. 使用构建工具gradle打包时,遇到的中文问题和解决方式

    1.使用gradle  clean  war 命令将项目打成war包.这一过程gradle没有提示报错. 2.将得到的myapp.war复制到tomcat下webapps(部署war包) 3.启动to ...

  10. 小白学习python之路(一):安装python3

    引言 作为一个python小白,之前学的是java,不过听说python很流行,功能很强大,可以用很少的代码实现更强的功能,因此我也是被吸引了过来,并且把我的学习经历记录下来.     当然了,要学习 ...