5

R の gbm 勾配ブースト マシン パッケージでツリーがどのように構成されているかを理解するのに苦労しています。具体的には、pretty.gbm.tree Which features do the index in SplitVarpoint toの出力を見てください。

データセットで GBM をトレーニングしました。これは、ツリーの 1 つの上部 ~4 分の 1 です。次の呼び出しの結果ですpretty.gbm.tree

   SplitVar SplitCodePred LeftNode RightNode MissingNode ErrorReduction Weight   Prediction
0         9  6.250000e+01        1         2          21      0.6634681   5981  0.005000061
1        -1  1.895699e-12       -1        -1          -1      0.0000000   3013  0.018956988
2        31  4.462500e+02        3         4          20      1.0083722   2968 -0.009168477
3        -1  1.388483e-22       -1        -1          -1      0.0000000   1430  0.013884830
4        38  5.500000e+00        5        18          19      1.5748155   1538 -0.030602956
5        24  7.530000e+03        6        13          17      2.8329899    361 -0.078738904
6        41  2.750000e+01        7        11          12      2.2499063    334 -0.064752766
7        28 -3.155000e+02        8         9          10      1.5516610     57 -0.243675567
8        -1 -3.379312e-11       -1        -1          -1      0.0000000     45 -0.337931219
9        -1  1.922333e-10       -1        -1          -1      0.0000000     12  0.109783128
```

ここでは、 how を見てから、インデックスが 0 ベースであり、異なる行LeftNode, RightNodeMissingNode指しているように見えます。データサンプルを使用してこれをテストし、ツリーをたどって予測をたどると、 1ベースのインデックスSplitVarを使用していると考えると正しい答えが得られます。

しかし、私が構築した多くのツリーの 1 つは、列にゼロがあります。SplitVarこのツリーは次のとおりです。

SplitVar SplitCodePred LeftNode RightNode MissingNode ErrorReduction Weight    Prediction
0         4  1.462500e+02        1         2          21      0.41887   5981  0.0021651262
1        -1  4.117688e-22       -1        -1          -1      0.00000    512  0.0411768781
2         4  1.472500e+02        3         4          20      1.05222   5469 -0.0014870985
3        -1 -2.062798e-11       -1        -1          -1      0.00000     23 -0.2062797579
4         0  4.750000e+00        5         6          19      0.65424   5446 -0.0006222011
5        -1  3.564879e-23       -1        -1          -1      0.00000   4897  0.0035648788
6        28 -3.195000e+02        7        11          18      1.39452    549 -0.0379703437

gbm のツリーで使用されるインデックスを表示する正しい方法は何ですか?

4

1 に答える 1