随机森林就是要将这我们之前学的两个算法进行结合:bagging能减少variance(通过g们投票),而decision tree的variance很大,资料不同,生成的树也不同。
为了得到不同的g,除了用bootstrap用不同的资料得到不同的g外,还可以采用随即选择特征的方式:
为了增加特征的随机性,将特征投影到任意方向上:
bagging中,没有被选中的资料被称为OOB:
在N次选择中都没有被选中的概率是:
可以用OOB来做validation,不同的是,不需要对每个g来做,可以用G-来做,然后取平均值,最后衡量的是Eoob
OOB选择模型和validation选择模型的区别:validation要经过两次的训练,OOB只需要一次:
特征选择:对于线性模型,可以根据重要性对特征进行选择。RF是非线性模型,该如何选择呢?
对于RF,可以使用如下方式来衡量某个特征的重要性:
可以采用permutation+OOB的方式来进行RF的特征选择:
可以参考这位博主的博客:http://blog.csdn.net/lho2010/article/details/43732935