回归树 - 如何决定分裂

机器算法验证 回归 大车
2022-04-01 05:16:15

1)我们如何决定我们是分成2个子节点还是更多?还是总是2?

2)我们如何确定临界值是多少?具体来说,你有一个连续变量,你是做二分搜索,还是如何决定截止值?

1个回答

好吧,这取决于您使用的实现。我假设我们正在谈论原始的 CART 论文 [1]

1)那么总是有一个分裂导致两个孩子。

2) 用于拆分的值是通过测试每个变量的每个值来确定的,选择最小化平方和误差 (SSE) 的值:

SSE=iS1(yiy¯1)2+iS2(yiy¯2)2

在上面的等式中yi是你的预测值和y¯1y¯2可能拆分的左侧和右侧的平均值。

当将以下数据矩阵馈送到 CART 例程时,每个变量/特征/列(此处为 A、B 和 C)的每个值都将使用 SSE 进行测试。

    A     B     C     y    
    0.05  0.31  0.51  0.97 
    0.32  0.41  0.88  0.89 
    0.76  0.61  0.48  0.11 
    0.81  0.94  0.85  0.19

将选择最佳最小化 SSE 的那个进行拆分。CART 将使用变量的所有值A(0.05、0.32、0.76 和 0.81)测试所有可能的拆分,然后使用变量B,然后C

[1] 布雷曼、利奥等人。分类和回归树。CRC 出版社,1984 年。