今天在Kaggle的比赛中发现了有Extra Tree这个东西,查询了一下相关的文章,发现算法区别如下:
随机森林:随机选取m个特征变量 => 这些变量中所有的值(共计m x n个)作为split的候选对象 => 基于split rules (impurity reduction etc.) 进行split
Extra Tree:随机选取m个特征变量 => 对于每一个变量,随机在该变量的范围中生成一个值 =>基于这m个值,按照split rules(impurity reductions etc.) 进行split
Extra Tree 的具体算法如下:
效果测试:
直觉上来说,这种方法的计算代价更便宜。由于考察的是将随机生成的值作为split ,那么可以预见在其他条件不变的情况下,模型具有高偏误低方差的特性。事实上也确实如此。
The analysis of the algorithm and the determination of the optimal value of K on several test problem variants have shown that the value is in principle dependent on problem specifics, in particular