2017-09-01 135 views
0

我对随机森林中树的构建有个疑问。 我的树结构的理解是这样的:随机森林树的终点

Suppose 
----------- 
N (total records of data set) =1000 
M (total features) =30 
n (Subset) = 500 
m (fixed features to be used in RF) = 3 

First Tree 
----------- 
1) Random sample data S1 (n) 
2) Take m features from M eg: m2, m16, m29 
3) Identify the best attribute – eg: m16 --> root node 
4) Split S1 on m16 – gives 2 new subsets eg: S1_a and S1_b 

5) For S1_a, select m eg: m1,m5,m10 
6) Identify the best attribute – eg: m1 
7) Split S1_a into S1_a1, S1_a2 

8) For S1_b, select m eg: m11,m15,m10 
9) Identify the best attribute – eg: m15 
10) Split S1_b into S1_b1, S1_b2 


Question is : When does this splitting get over ? 
i.e.After step 7, does S1_a1, and S1_a2 further split ? When does it end ? 

Regards 

Sri 

回答

0

这是一个普遍的回答,而应该适用于任何随机森林代码实现。随机森林有一个称为节点大小的参数。节点大小是算法将不再继续分裂的树的叶子中的观察值的数量。因此,在你的例子中,如果一个有4个观测值的节点分裂得到2个节点,每个节点有2个观测值,并且节点大小为2,那么算法将停止。

当然,物理意义上最小的节点大小是1,所以小于这个值应该被拒绝。

根据阅读上面的段落,你可能会试图得出结论:一个小的节点尺寸,例如1,会导致最好的模式。实际上,情况并非总是如此。在某些时候,继续分裂可能不再会提高模型的预测能力。所以最好的节点大小是产生可靠模型的最大值。

+0

谢谢蒂姆。现在它是有道理的。因为大多数教程都谈论了构建树的方法,但没有人谈论何时结束它。当我试图绘制树木构建过程时,它似乎一直在继续。关于拆分大小(节点大小),是否有任何默认值? – Sri

+0

这取决于你正在使用的实现。对于R的'randomForest'包,我相信回归模式的默认节点大小是5。 –