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 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:特征选择的步骤的更多相关文章
- Solve one floodlight install problem
参考: Floodlight安装 SDNLAB Floodlight官网 Installation Guide 问题: 在follow安装教程安装Floodlight的过程中,ant编译时出现了: [ ...
- [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 ...
- python data analysis | python数据预处理(基于scikit-learn模块)
原文:http://www.jianshu.com/p/94516a58314d Dataset transformations| 数据转换 Combining estimators|组合学习器 Fe ...
- 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 ...
- 3 Steps(二分图)
C - 3 Steps Time limit : 2sec / Memory limit : 256MB Score : 500 points Problem Statement Rng has a ...
- (转) [it-ebooks]电子书列表
[it-ebooks]电子书列表 [2014]: Learning Objective-C by Developing iPhone Games || Leverage Xcode and Obj ...
- 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 ...
- (转)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 ...
- Common Pitfalls In Machine Learning Projects
Common Pitfalls In Machine Learning Projects In a recent presentation, Ben Hamner described the comm ...
随机推荐
- 【Codeforces Round #424 (Div. 2) C】Jury Marks
[Link]:http://codeforces.com/contest/831/problem/C [Description] 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对 ...
- hdparm
https://www.douban.com/note/244813504/ http://blog.sina.com.cn/s/blog_413d250e0101jtr7.html http://m ...
- 【LeetCode-面试算法经典-Java实现】【008-String to Integer (atoi) (字符串转成整数)】
[008-String to Integer (atoi) (字符串转成整数)] [LeetCode-面试算法经典-Java实现][全部题目文件夹索引] 原题 Implement atoi to co ...
- Redis安装以及配置
下载 http://redis.io/download 解压 tar zxvf redis-2.8.17.tar.gz 编译并安装 1 2 3 4 cd redis-2.8.17 make cd sr ...
- #学习笔记#——JavaScript 数组部分编程(三)
3.在数组 arr 末尾添加元素 item.不要直接修改数组 arr,结果返回新的数组 主要考察数组的concat方法,代码如下: arr.concat(item); concat 方法不修改原数组. ...
- Java-Spring-WebService最基础的配置示例
很早很早之前,就初步学习了WebService,感觉还是比较"好"的. 使用Web服务,感觉就像普通API一样,和HTTP接口比较起来. WebService有个很大的局限,就 ...
- android基于开源网络框架asychhttpclient,二次封装为通用网络请求组件
网络请求是全部App都不可缺少的功能,假设每次开发都重写一次网络请求或者将曾经的代码拷贝到新的App中,不是非常合理,出于此目的,我希望将整个网络请求框架独立出来,与业务逻辑分隔开,这样就能够避免每次 ...
- HDU 1043 八数码(A*搜索)
在学习八数码A*搜索问题的时候须要知道下面几个点: Hash:利用康托展开进行hash 康托展开主要就是依据一个序列求这个序列是第几大的序列. A*搜索:这里的启示函数就用两点之间的曼哈顿距离进行计算 ...
- Elasticsearch中JAVA API的使用
1.Elasticsearch中Java API的简介 Elasticsearch 的Java API 提供了非常便捷的方法来索引和查询数据等. 通过添加jar包,不需要编写HTTP层的代码就可以开始 ...
- Spark通过YARN提交任务不成功(包含YARN cluster和YARN client)
无论用YARN cluster和YARN client来跑,均会出现如下问题. [spark@master spark-1.6.1-bin-hadoop2.6]$ jps 2049 NameNode ...