main idea:

计算每一个feature的重要性,选取重要性前k的feature;

衡量一个feature重要的方式:如果一个feature重要,则在这个feature上加上noise,会对最后performance影响很大。

1.feature selection的含义及优缺点

去除冗余的特征(比如,年龄和出生年月两个特征,根据出生年月能计算出年龄)

无关的特征(研究病人的病情,和他的医保类型没有关系)

优点(选好特征后):

a. 效率(feature变少,维度变低)

b. 泛化(坏的特征被剔除,相当于剔除了特征中noise)

c. 可解释性

缺点(特征选择时):

a. 特征组合的个数很多,如果遍历每种组合,计算量大

b. 如果没有选到合适的特征,用一些不怎么好的特征进行模型训练,会带来过拟合

c. 如果b中情况发生,则不具有可解释性

2.feature select方法

a.linear model

$W^tx$,$W_i$小,表示该特征不重要

b.permutation test

根据加上noise和没有加noise之间的performance差距衡量特征的重要性

使用permutation,在feature i上加noise(保持了feature i的分布):

保持其他feature不变,随机排列 $X_{ni}$ 的顺序

3.结合OOB做feature selection(针对 Random Forest)

根据上面的公式,可以知道,需要进行d+1次训练(d为特征的个数),原始数据上进行的训练+d(特征i上进行permutation)

据上进行的训练

当使用bagging时,会有一部分数据没有被使用,成为OOB数据,用这些数据进行OOB validation

在validation时,在OOB 数据上进行permutation

最新文章

  1. ctypes 调用 dll
  2. JAVASE02-Unit010: 多线程基础 、 TCP通信
  3. MVC中使用EF增删改查,简单的例子
  4. 64位win7硬盘安装64位ubuntu 13.04
  5. Codeforces Round #251 (Div. 2) C. Devu and Partitioning of the Array
  6. JS原型探索小记(一)
  7. ssh免密码登陆及其原理
  8. 14种网页图片和文字特效的jQuery插件代码
  9. Qt环境搭建(Qt Creator)
  10. tomcat version
  11. BootStrap2学习日记11---单选框多选框
  12. Node.js权威指南 (12) - Node.js中的其他模块
  13. Shortest Prefixes(trie树唯一标识)
  14. Oracle 字段是多个值的字符串的查询处理
  15. Cracking the coding interview--问题与解答
  16. [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件
  17. XOR (莫队)
  18. Vue实战笔记
  19. Python之路【第三篇】编码
  20. QSplineSeries QChartView绘制曲线

热门文章

  1. JIT和程序的首次执行
  2. 体验下Xcode5与ios7
  3. IPicture总结
  4. ASP.NET MVC4(Razor)从客户端中检测到有潜在危险的 Request.Form 值
  5. MarkDown基础使用教程-by sixleaves
  6. [x-means] 1.x-means简介
  7. Qt widgets deeps--烧鸡
  8. 安装oracle客户端(navicat for oracle)
  9. 杭电 HDU 4608 I-number
  10. Java反射及依赖注入简单模拟