參考:JMLR的paper《an introduction to variable and feature selection》

we summarize the steps that may be taken to solve a feature selection problem in a check list:

1. Do you have domain knowledge?

If yes, construct a better set of “ad hoc” features.

2. Are your features commensurate(能够同单位度量的)?

If no, consider normalizing them.

3. Do you suspect interdependence of features? If yes, expand your feature set by constructing conjunctive features or products of features(通过构建联合特征<应该是多个variables当做一个feature>或高次特征。扩展您的功能集), as much as your computer resources
allow you(see example of use in Section 4.4).

4. Do you need to prune(裁剪) the input variables (e.g. for cost, speed or data understanding reasons)? If no, construct disjunctive features or weighted sums of features(构建析取特征<应该是一个variables当做一个feature>或加权和特征) (e.g. by clustering or matrix factorization, see
Section 5).

5. Do you need to assess features individually(单独评估每一个feature) (e.g. to understand their influence on the system or because their number is so large that you need to do a first filtering)? If yes, use a variable ranking method (Section 2 and Section 7.2); else,
do it anyway to get baseline results.

6. Do you need a predictor? If no, stop.

7. Do you suspect your data is “dirty” (has a few meaningless input patterns and/or noisy outputs or wrong class labels)? If yes, detect the outlier examples using the top ranking variables obtained in step 5 as representation; check and/or discard them(注意:这里的them是example的意思,不是feature。

。).

8. Do you know what to try first? If no, use a linear predictor. Use a forward selection method(Section 4.2) with the “probe” method as a stopping criterion (Section 6) or use the L0-norm embedded
method (Section 4.3). For comparison, following the ranking of step 5, construct a sequence of predictors of same nature using increasing subsets of features. Can you match or improve performance with a smaller subset?

If yes, try a non-linear predictor with
that subset.

9. Do you have new ideas, time, computational resources, and enough examples? If yes, compare several feature selection methods, including your new idea, correlation coefficients, backward selection and embedded methods (Section 4). Use linear and non-linear
predictors. Select the best approach with model selection (Section 6).

10. Do you want a stable solution (to improve performance and/or understanding)? If yes, sub-sample your data and redo your analysis for several “bootstraps” (Section 7.1)

Section 2:describing
filters that select variables by ranking them with correlation coefficients.(经常使用的标准有皮尔逊相关系数、互信息等)

Section 3:Limitations of such approaches(filters) are illustrated by a set of constructed examples. (通过以上标准每次筛选一个“最好的”variable是有局限的,由于variables的组合往往能够比一个variable效果好。即使是看起来无用的variable。怎样和实用的variables结合。或者几个无用的variables结合,都能够provide
a significant performance improvement)

Section 4:Subset selection methods are then introduced. These include wrapper methods that assess subsets
of variables according to their usefulness to a given predictor(就是很easy的逐步添加或者候选消除:http://blog.csdn.net/mmc2015/article/details/47426437). We show how some
embedded methods implement

the same idea, but proceed more efficiently by directly optimizing a two-part objective function with

a goodness-of-fit term and a penalty for a large number of variables(就是所谓的L0-norm、L1-norm等).

Section 5:We then turn to the problem of feature construction, whose goals include increasing the predictor performance and building more compact
feature subsets. All of the previous steps benefit from reliably assessing the statistical significance of the relevance of features. (常见的方法有:聚类,本质思想是。将多个相似的variables用他们的聚类中心取代,最经常使用的是k-mean和层次聚类;矩阵分解法,本质思想是对输入的variables进行线性转换,如PCA/SVD/LDA等;非线性变换,kernel方法。

。。)

Section 6:We briefly review model selection methods and statistical tests used to that effect.

Section 7:Finally, we conclude the paper with a discussion section in which we go over more advanced issues.

we recommend using a linear predictor of your choice (e.g. a linear SVM) and select variables in two alternate ways: (1) with a variable ranking method using a correlation coefficient or mutual information; (2) with a nested
subset selection method performing forward or backward selection or with multiplicative updates

the steps that may be taken to solve a feature selection problem:特征选择的步骤的更多相关文章

  1. Solve one floodlight install problem

    参考: Floodlight安装 SDNLAB Floodlight官网 Installation Guide 问题: 在follow安装教程安装Floodlight的过程中,ant编译时出现了: [ ...

  2. [Algorithms] Using Dynamic Programming to Solve longest common subsequence problem

    Let's say we have two strings: str1 = 'ACDEB' str2 = 'AEBC' We need to find the longest common subse ...

  3. python data analysis | python数据预处理(基于scikit-learn模块)

    原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...

  4. 6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python)

    6 Easy Steps to Learn Naive Bayes Algorithm (with code in Python) Introduction Here’s a situation yo ...

  5. 3 Steps(二分图)

    C - 3 Steps Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement Rng has a ...

  6. (转) [it-ebooks]电子书列表

    [it-ebooks]电子书列表   [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...

  7. Deep Learning in a Nutshell: History and Training

    Deep Learning in a Nutshell: History and Training This series of blog posts aims to provide an intui ...

  8. (转)Let’s make a DQN 系列

    Let's make a DQN 系列 Let's make a DQN: Theory September 27, 2016DQN This article is part of series Le ...

  9. Common Pitfalls In Machine Learning Projects

    Common Pitfalls In Machine Learning Projects In a recent presentation, Ben Hamner described the comm ...

随机推荐

  1. win10 WmiPrvSE.exe WMI Provider 占用CPU过高的问题

    重启 Windows Management Instrumentation 服务 重启 WMI service.   + ,输入: "services.msc" ,按 . 在 服务 ...

  2. C# ArcGIS Engine 使当前选中的操作失效(清除当前鼠标事件)

    问题描述: 前提:我用的ENGINE9.3开发,拖了一个ToolbarControl控件,加了一些常用操作的工具(平移,放大,缩小)在上边. 问题:我做了一个增加点的按钮.当我平移完地图之后,点击增加 ...

  3. DataTable填充实体类返回泛型集合

    昨天找坤哥看到我的一段代码.例如以下: 略微解释下,这段代码时D层查询结束后,将datatable查询到的结果赋值给实体对象的属性,然后返回实体的过程.坤哥看了之后问我.假设实体有500多个属性.难道 ...

  4. 深入理解 GRE tunnel

    深入理解 GRE tunnel 时间 2012-11-08 19:05:22  A Geek's Page 原文  http://wangcong.org/blog/archives/2149 主题  ...

  5. js---12数据类型,数据类型转换,NaN,

    <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...

  6. js插件---layer.js使用体验是怎样

    js插件---layer.js使用体验是怎样 一.总结 一句话总结:只有jquery和js,没有css,使用各种弹出层掉用各种函数特别方便,特别简单,特别好用. 引入只需要引入这两个,css都不需要, ...

  7. SpringBoot与Dubbo的整合-zookeeper和监控中心搭建

    对于Dubbo的应用已经是十分普遍,自从阿里巴巴开源以来,国内许多公司就采用了dubbo的架构来开发项目.不过再dubbo十分火的时候,突然就停止更新了, 只有当当网还在其基础进行了拓展(dubbox ...

  8. 刘汝佳 算法竞赛-入门经典 第二部分 算法篇 第六章 2(Binary Trees)

    112 - Tree Summing 题目大意:给出一个数,再给一颗树,每个头节点的子树被包含在头节点之后的括号里,寻找是否有从头节点到叶子的和与给出的数相等,如果有则输出yes,没有输出no! 解题 ...

  9. SQL事务+异常

    BEGIN TRAN BEGIN TRY --这里写代码 --这里写代码 END TRY BEGIN CATCH ROLLBACK TRAN END CATCH COMMIT TRAN

  10. Activemq去除认证

    0.背景介绍 由于项目安全性的约束,不能在配置文件中暴露一些密码信息.   默认情况下,ActiveMQ在进行接发消息的时候会用户认证.通过ActiveMQ-client初始化ActiveMQConn ...