我正在玩 R 中的 GBM 包:
library(gbm)
gbmfit <- gbm( UVIndex ~ UVI + UVA + VIS + UVIVIS + UVIUVA + CosSZA + ShadeTemp, data = df, distribution = "gaussian", n.trees = 1000, shrinkage = 0.1, cv.folds = 10)
pred <- predict(gbmfit, data = df , n.trees = 1)
pretty.gbm.tree(gbmfit,i.tree = 1)
给我 :
SplitVar SplitCodePred LeftNode RightNode MissingNode ErrorReduction Weight
0 0 380.50000000 1 2 3 471.9606 214
1 -1 -0.11805471 -1 -1 -1 0.0000 140
2 -1 0.19417906 -1 -1 -1 0.0000 74
3 -1 -0.01008602 -1 -1 -1 0.0000 214
Prediction
0 -0.01008602
1 -0.11805471
2 0.19417906
3 -0.01008602
当我查看 pred 与 UVI 的散点图时,我确实看到了大约 380 的分裂,两个终端值为 2.717099 和 3.029333。(1)如何将这些终端值与树的参数相协调?我应该能够从 SplitCodePred 派生它们,但我看不到连接 (2) 即使我的数据没有缺失值,缺失节点是否正常?(3)我对权重(“该节点中的观察总数”)感到困惑。为什么节点 3 的权重为 214,虽然没有丢失数据?
非常感谢,
罗兰