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

中文原文链接:http://www.cnblogs.com/AHappyCat/p/5318042.html

英文原文链接: An Introduction to Feature Selection

下面的中文译文侧重从原理上进行解释,但是在实际的应用中往往侧重的是实现过程,

可以看考这个链接,描述的比较详细,需要细细的学习:http://blog.csdn.net/bryan__/article/details/51607215

【中文原文】

你需要哪些特征来构建一个预测模型?

这是一个困难的问题,需要这个领域的深度知识.

自动选择你的数据中的那些对要解决的问题最有用的或者最相关的特征是可能的. 这个过程叫做特征选择.

在这篇文章中,你会发现特征选择的方法和类型, 下一次你需要为机器学习模型选择特征的时候, 你可以使用和遵循这些方法的一个列表.

什么是特征选择

特征选择也被叫做变量选择或者属性选择.

它是自动选择你数据的一些属性的方法,而这些属性是和你要解决的预测模型问题特别相关的.

¨特征选择是一个选择相关特征子集,用于构建模型的过程¨

---Wikipedia entry

特征选择和降维不同.两种方法都是为了减少数据集的属性数量,但是降维是通过创建新的属性组合,特征选择包含和排除数据中的属性而并不改变它们. (降维可能改变数据属性,特征选择不改变它们)

降维的例子包括PCA(主成份分析),SVD(奇异值分解)和Sammon‘s mapping (Sammon映射).

"特征选择对于本身是有用的,但它主要是作为一个过滤器, 它屏蔽掉那些没用的特征,同时保护你的那些现有的特征."

-- Robert

特征选择解决的问题

特征选择辅助你创建一个准确的预测模型. 它们帮助你选择特征, 这些特征能够用更少的数据给你很好的或者更好的精度.

特征选择能够被用于鉴定和移掉不需要的,不相关的和冗余的属性,这些属性并不能提高预测模型精度或者可能事实上减少模型精度.

你需要更少的属性,因为它能够降低模型复杂度,而且一个更简单的模型能够被更简单的理解和解释.

"变量选择的目的有三个方面:提高预测器的预测性能, 提供更快和更低成本的预测器, 和提供更好的了解产生的数据的基本过程."

-- Guyon

特征选择算法

有三种一般类的特征选择算法: 过滤算法,包装算法和嵌入式算法.

1. 过滤算法

过滤特征选择方法运用统计方法将一个分值分配给每个特征.这些特征按照分数排序,然后决定是被保留还是从数据集中删除.这个方法通常是单变量且独立的考虑每个特征,或者考虑其依赖变量.

一些过滤方法包括Chi squared test(方卡检验),information gain(信息增益)和correlation coefficient scores(相关系数得分).

2. 包装算法

包装方法考虑一族特征作为搜索问题,不同的组合被准备,检验并和其他组合比较. 我们使用一个预测模型评估特征的组合,然后根据模型精度给每个特征组合一个分数.

这个搜索过程可能有条不紊的例如best-fist搜索算法, 它可能随机例如random hill-climbing 算法.或者它可能是启发式的例如前向和后向传递增添和删除特征的.

一个例子就是递归特征消除算法.

3. 嵌入式算法

嵌入式算法在模型创建的时候,学习哪些特征对于模型精度的贡献最大.最典型的嵌入式特征选择方法是正则化方法.

正则化方法也被称为引入附加约束到预测算法(例如回归算法)的优化,它偏向于较低复杂度的模型.

正则规划算法的例子是Lasso,Elastic Net和Ridge Regression.

特征选择教程和方法

在本文之前,我们已经看到许多特征选择的例子了.

选择特征时的陷阱


特征选择是另一个的应用机器学习过程的重要部分, 如模型选择. 你不可以放弃和忘记.

考虑特征选择在模型选择过程中很重要.如果你不能,你可能会在无意中带入偏见到你的模型中,最终导致过拟合.

"...应该在你的训练集以外做特征选择...不这样做,你将会导致训练数据的过拟合."

-- Ben

例如,当你使用精度估测方法,例如交叉验证的适合,你必须包含特征选择在每个内循环中. 这意味着特征选择是在模型训练前就已经在准备好的fold中执行了. 准备数据时先做特征选择,然后在模型选择和训练时执行是错误的. (??)

"如果我们运用合适的流程,在每个fold上执行特征选择,就不再会有关于特征和fold相关影响的信息".

--Dikran

其原因是,做出特征选择的决定是基于整个训练集的,这反过来传递到模型了.这可能会导致一个模型和其他模型相比,被所选择的特征而增强影响,看起来获得更好的结果,而事实上是有偏见的结果.

"如果你在所有数据上执行特征选择,然后交叉验证,再在交叉验证过程的每个fold的测试数据同样被用来选择特征, 这就造成了性能分析的偏见.

--Dikran

特征选择列表:

Esabelle Guyon 和 Andre Elisseeff  (“An Introduction to Variable and Feature Selection” 的作者)提供了一个特别好的列表, 下次你要为你的模型问题做数据特征选择的时候可以使用这张列表.

我已经把清单的重要部分转载过来啦:

1. 你是否有领域知识? Yes, 那就构建一个更好的特定设置的特征

2. 你的特征相配(尺度)吗? No, 那就归一化这些特征.

3. 你是否怀疑特征独立性? Yes, 通过构建联合特征或者特征的乘积,只要你的计算机资源允许.

4. 你需要修剪输入变量吗? No, 构建析取特征或者加权特征.

5. 你需要单独评估特征吗? Yes, 使用一个变量排序方法;否则无论怎样都去获取一个基本结果.

6. 你需要一个预测器吗? No, 停止.

7. 你怀疑你的数据"脏"吗? Yes, 检测异类例子,使用step5排在顶端的变量;检查和丢弃他们.

8. 你知道什么需要先测试吗? No, 使用一个线性预测器.  使用前向选择方法,用probe作为停止标准; 或者在step5 之后, 使用0范数嵌入方法作为比较, 用增加的特征子集建立一个相同特征的预测器序列. 你能用一个更小子集匹配或者提高性能吗? 如果能的话, 用那个子集尝试一个线性预测器.

9. 你有新的想法,时间,时间资源和足够的例子吗?Yes, 比较一些特征选择方法,包括你的想法,相关参数,后向选择和嵌入式算法. 使用线性和非线性预测器. 用模型选择选择最好的方法.

10. 你需要一个稳定的解吗? Yes, 二次采样你的数据,并为一些"bootstrap"重做你的分析.

更多阅读

为了在这个课题中有更深的理解, 你可以选择这个话题的一本书, 如下:

特征选择是特征工程的一个子课题. 你可能会喜欢深入看一下特征工程的话题. “Discover Feature Engineering, How to Engineer Features and How to Get Good at It“ , 下一篇博文就是这篇文章的翻译.

时间: 2024-10-14 06:34:25

【转】[特征选择] An Introduction to Feature Selection 翻译的相关文章

数据挖掘文章翻译--Mining Emerging Patterns by Streaming Feature Selection

学习数据挖掘,可以用到的工具-机器学习,SPSS(IBM),MATLAB,HADOOP,建议业余时间都看文章,扩充视野,下面是本人翻译的一篇文章,供大家学习.另外,本人感兴趣的领域是机器学习,大数据,目标跟踪方面,有兴趣的可以互相学习一下,本人Q Q邮箱 657831414.,word格式翻译和理解可以发邮件 " 原文题目是Mining Emerging Patterns by Streaming Feature Selection 通过流特征的选择挖掘显露模式 俞奎,丁薇,Dan A. Sim

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" fea

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

An example showing univariate feature selection. Noisy (non informative) features are added to the iris data and univariate feature selection(单因素特征选择) is applied. For each feature, we plot the p-values for the univariate feature selection and the cor

Feature Selection 特征选择

Feature Selection 1. Filter: Scoring each feature, filter out good features. 1.1 Chi-Square 卡方检验 1.2 Correlation 相关检验 1.3 Information Gain 信息获取 2. Wrapper: Use subset(wrapper) of the feature to do modelling, then compare with other subsets. 1.1 Recur

Graph Regularized Feature Selection with Data Reconstruction

Abstract • 从图正则数据重构方面处理无监督特征选择: • 模型的思想是所选特征不仅通过图正则保留了原始数据的局部结构,也通过线性组合重构了每个数据点: • 所以重构误差成为判断所选特征质量的自然标准. • 通过最小化重构误差,选择最好保留相似性和判别信息的特征: 1  Introduction  • 目前有两大类无监督特征选择算法:Similarity preserving 和 clustering performance maximization:Similarity preserv

10-3[RF] feature selection

main idea: 计算每一个feature的重要性,选取重要性前k的feature: 衡量一个feature重要的方式:如果一个feature重要,则在这个feature上加上noise,会对最后performance影响很大. 1.feature selection的含义及优缺点 去除冗余的特征(比如,年龄和出生年月两个特征,根据出生年月能计算出年龄) 无关的特征(研究病人的病情,和他的医保类型没有关系) 优点(选好特征后): a. 效率(feature变少,维度变低) b. 泛化(坏的特

scikit-learn(工程中用的相对较多的模型介绍):1.13. Feature selection

参考:http://scikit-learn.org/stable/modules/feature_selection.html The classes in the sklearn.feature_selection module can be used for feature selection/dimensionality reduction on sample sets, either to improve estimators' accuracy scores or to boost

(转载)Feature Selection

原帖:http://blog.sina.com.cn/s/blog_4d3a41f40101akfd.html 1 介绍 在计算机视觉.模式识别.数据挖掘很多应用问题中,我们经常会遇到很高维度的数据,高维度的数据会造成很多问题,例如导致算法运行性能以及准确性的降低.特征选取(Feature Selection)技术的目标是找到原始数据维度中的一个有用的子集,再运用一些有效的算法,实现数据的聚类.分类以及检索等任务. 特征选取的目标是选择那些在某一特定评价标准下的最重要的特征子集.这个问题本质上是

机器学习-特征工程-Feature generation 和 Feature selection

概述:上节咱们说了特征工程是机器学习的一个核心内容.然后咱们已经学习了特征工程中的基础内容,分别是missing value handling和categorical data encoding的一些方法技巧.但是光会前面的一些内容,还不足以应付实际的工作中的很多情况,例如如果咱们的原始数据的features太多,咱们应该选择那些features作为咱们训练的features?或者咱们的features太少了,咱们能不能利用现有的features再创造出一些新的与咱们的target有更加紧密联系