我对随机森林中的树木构建有一点疑问。 我对树木结构的理解是这样的:
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 :(得分:0)
这是一般性答案,但应适用于任何随机的林代码实现。随机森林有一个称为节点大小的参数。节点大小是树的叶子中观察的数量,此时算法将不再保持分裂。因此,在您的示例中,如果具有4个观察值的节点的分割导致2个节点,每个节点具有2个观察值,并且节点大小为2,则算法将停止。
当然,物理意义上的最小节点大小是1,因此任何低于此值的值都应该被拒绝。
根据以上段落的阅读,您可能会想到一个小节点大小,例如: 1,将导致最佳模型。在实践中,情况并非总是如此。在某些时候,继续分裂可能不再提高模型的预测能力。因此,最佳节点大小是产生可靠模型的最大值。