机器学习:用随机森林来选择特征

   

引言

   

之前了解到决策树在选择最好的特征进行数据集的划分就说到这种方法可以用来进行特征选择,然后看了breiman主页上相关的介绍,觉得这不愧是权威啊,不愧是随机森林算法的提出者,讲的很清楚,网址如下

   

http://www.stat.berkeley.edu/~breiman/RandomForests/cc_home.htm

   

   

特征重要性

   

在随机森林中某个特征X的重要性的计算方法如下:

   

首先对于随机森林中的每一颗决策树,使用相应的OOB(袋外数据)数据来计算它的袋外数据误差,记为errOOB1.这样每棵决策树可以得到一个errOOB1K棵决策树就由KerrOOB1

   

然后就是要遍历所有的特征,来考察该特征的重要性,考察重要性的方式是,随机地对袋外数据OOB所有样本的特征X加入噪声干扰(可以理解为随机的改变样本在特征X处的值),再次计算它的袋外数据误差,记为errOOB2.这样每棵决策树可以得到一个errOOB2K棵决策树就由KerrOOB2

   

之所以可以用这个表达式来作为相应特征的重要性的度量值是因为:若给某个特征随机加入噪声之后,袋外的准确率大幅度降低,则说明这个特征对于样本的分类结果影响很大,也就是说它的重要程度比较高。

   

那么对于特征X的重要性=(errOOB2-errOOB1)/Ktree,

posted @ 2015-04-28 20:13  keedor  阅读(4084)  评论(0编辑  收藏  举报