我正在使用R中gbm
包中的多项分布。当我使用predict
函数时,我得到一系列值:
5.086328 -4.738346 -8.492738 -5.980720 -4.351102 -4.738044 -3.220387 -4.732654
但我希望得到每个班级发生的概率。如何恢复概率?谢谢。
答案 0 :(得分:9)
predict.gbm(..., type='response')
未实现多项式,或实际上除bernoulli或poisson之外的任何分布。
所以你必须找到最可能的类(预测的矢量输出上的apply(.., 1, which.max)
),desertnaut wrote:
preds = predict(your_model, n.trees, newdata=...,type='response')
pred_class <- apply(preds, 1, which.max)
只需编写一个包含type =&#39; response&#39;的包装器。当它是一个多项模型时返回它。
答案 1 :(得分:1)
看一下?predict.gbm
,您会看到该函数有一个“type”参数。试试predict(<gbm object>, <new data>, type="response")
。