实际上,我正在逐步计算 CART(分类和回归树)如何使用此训练数据集选择最佳属性拆分:
Car Age Children Location
1 sedan 23 0 yes
2 sports 31 1 no
3 sedan 36 1 no
4 truck 25 2 no
5 sports 30 0 no
6 sedan 36 0 no
7 sedan 25 0 yes
8 truck 36 1 no
9 sedan 30 2 yes
10 sedan 31 1 yes
11 sports 25 0 no
12 truck 45 0 yes
R给出的结果:
- n= 12 节点), split, n, loss, yval, (yprob) * 表示终端节点
- 1) 根 12 5 无 (0.5833333 0.4166667)
- 2) Car=sports,truck 6 1 no (0.8333333 0.1666667)
- 4) 年龄
- 5) 年龄>=40.5 1 0 是 (0.0000000 1.0000000) *
- 3) 汽车=轿车 6 2 是 (0.3333333 0.6666667)
- 6) 年龄>=33.5 2 0 无 (1.0000000 0.0000000) *
- 7) 年龄
对于根节点 Gini(root)=0.486
- - 汽车属性 GainGini(Car)=0.1255;
- - 使用年龄属性,我在阈值 27.5 和 33.5 时获得了相同的增益。因此,如果 GainGini(Age) 将被最大化,该选择哪一个。
- - 带有 Children 属性。2 个子节点非常纯,所以 GainGini(Children)=0.486
我的第一个问题是为什么在这个情节上我得到了 Car 属性用于拆分?
- 对于第一个右子节点:Gini(node2)=0.444
- - 使用 Age 属性:阈值 33.5 得到 GainGini(Age)=0.444
- - 带有 children 属性:与根节点相同(所有实例都是纯的) GainGini(children)=0.444
这是我的第二个问题 CART 如何设法选择具有这两个值的拆分属性?