加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

R中的GBM为adaBoost~predina()值位于[0,1]之外

发布时间:2020-12-16 06:59:55 所属栏目:百科 来源:网络整理
导读:我目前正在尝试使用gbm.fit模型在R中拟合adaBoost模型.我已尽力而为,但最后我的模型不断给出[0,1]以外的预测值.我知道type =“response”仅适用于bernoulli但我仍然在0,1之外获得值.有什么想法吗?谢谢! GBMODEL - gbm.fit( x=training.set,y=training.resp
我目前正在尝试使用gbm.fit模型在R中拟合adaBoost模型.我已尽力而为,但最后我的模型不断给出[0,1]以外的预测值.我知道type =“response”仅适用于bernoulli但我仍然在0,1之外获得值.有什么想法吗?谢谢!

GBMODEL <- gbm.fit(
               x=training.set,y=training.responses,distribution="adaboost",n.trees=5000,interaction.depth=1,shrinkage=0.005,train.fraction=1,)

predictionvalues = predict(GBMODEL,newdata=test.predictors,type="response")

解决方法

通过选择“adaboost”作为损失函数的gbm包获得[0,1]之外的y范围是正确的.
训练后,adaboost根据输出的符号预测类别.

例如,对于二进制类问题y {-1,1},类标签将被标记为输出y的符号.因此,如果你得到y = 0.9或y = 1.9会给你相同的结果 – 观察属于y = 1类.然而,y = 1.9只表明比y = 0.9更有信心的结论. (如果你想知道为什么,我建议你阅读基于边缘的adaboost解释,你会发现与SVM非常相似的结果).

希望这可以帮到你.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读