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非常相似的结果). 希望这可以帮到你. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |