在R程序包gbm
中,gbm对象的fit
元素是什么?
文档说,它是“一个包含回归函数规模拟合值的向量(例如,bernoulli的对数奇数比例,泊松的对数尺度)”。这似乎已经足够清楚了,但是我希望它与来自predict()
的预测应用于训练数据的预测相同,但事实并非如此。
示例:
library(gbm)
set.seed(1)
gbm.iris <- gbm(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,
data = iris, distribution = "multinomial",
bag.fraction = 1, n.trees = 3)
# What is gbm.iris$fit ?
predict(gbm.iris, n.trees = 3)[, , 1] - gbm.iris$fit # many entries are 0 but not all
# First 10 rows:
## setosa versicolor virginica
## [1,] 0.00000 0.0000000 0.0000000
## [2,] 1.15344 -0.4248330 0.0000000
## [3,] 1.15344 -0.2223908 -1.0816416
## [4,] 0.00000 0.0000000 0.0000000
## [5,] 0.00000 0.0000000 0.0000000
## [6,] 0.00000 0.0000000 0.0000000
## [7,] 0.00000 0.0000000 0.0000000
## [8,] 0.00000 0.0000000 0.0000000
## [9,] 0.00000 0.0000000 0.0000000
## [10,] 0.00000 0.0000000 0.0000000
我正在使用gbm
版本2.1.5。感谢您提供的任何帮助。
答案 0 :(得分:0)
因为这里没有答案,所以我在gbm GitHub页面上问了这个问题:https://github.com/gbm-developers/gbm/issues/41
其中一位作者Greg Ridgeway给出了以下答复:
我建议切换到github上发布的gbm3。而且我不会 建议使用gbm的多项式选项...我认为这从来没有 调试并出现了许多问题。我们实际上已将其从 gbm3。
由此我得出结论,示例中的意外行为可能是错误的结果。