GBM多项分布,如何使用predict()来获得预测类?

时间:2013-08-15 16:56:49

标签: r prediction categorical-data multinomial gbm

我正在使用R中gbm包中的多项分布。当我使用predict函数时,我得到一系列值:

5.086328 -4.738346 -8.492738 -5.980720 -4.351102 -4.738044 -3.220387 -4.732654

但我希望得到每个班级发生的概率。如何恢复概率?谢谢。

2 个答案:

答案 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")