8

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

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

但我想获得每个班级发生的概率。如何恢复概率?谢谢你。

4

2 回答 2

10

predict.gbm(..., type='response')不适用于多项式或除伯努利或泊松以外的任何分布。

所以你必须找到最有可能的类(apply(.., 1, which.max)在预测的向量输出上),正如desertnaut 所写

preds = predict(your_model, n.trees, newdata=...,type='response')

pred_class <- apply(preds, 1, which.max)

只需编写一个接受 type='response' 的包装器,并在它是多项式模型时返回它。

于 2015-05-31T20:46:12.867 回答
1

看一下?predict.gbm,您会看到该函数有一个“类型”参数。试试看predict(<gbm object>, <new data>, type="response")

于 2013-08-15T17:06:35.213 回答