我正在使用gbm
R 包中的多项分布。当我使用该predict
函数时,我得到一系列值:
5.086328 -4.738346 -8.492738 -5.980720 -4.351102 -4.738044 -3.220387 -4.732654
但我想获得每个班级发生的概率。如何恢复概率?谢谢你。
我正在使用gbm
R 包中的多项分布。当我使用该predict
函数时,我得到一系列值:
5.086328 -4.738346 -8.492738 -5.980720 -4.351102 -4.738044 -3.220387 -4.732654
但我想获得每个班级发生的概率。如何恢复概率?谢谢你。
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' 的包装器,并在它是多项式模型时返回它。
看一下?predict.gbm
,您会看到该函数有一个“类型”参数。试试看predict(<gbm object>, <new data>, type="response")
。