私は実際に、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 node), 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;
- - Age 属性を使用すると、しきい値 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
これは私の 2 番目の質問です。CART はどのようにしてこれら 2 つの値を持つ分割属性を選択できますか?