gpt4 book ai didi

r - adaBoost 中 R 中的 GBM ~ predict() 值位于 [0,1] 之外

转载 作者:行者123 更新时间:2023-12-04 11:54:32 26 4
gpt4 key购买 nike

我目前正在尝试使用 gbm.fit 模型在 R 中拟合 adaBoost 模型。我已经尽我所能,但最后我的模型不断给我 [0,1] 之外的预测值。我知道 type = "response"仅适用于伯努利,但我一直在获得 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,
n.trees=5000,
type="response")

最佳答案

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

例如,对于二元类问题,y{-1,1},类标签将被签名为输出 y 的符号。所以如果你得到 y=0.9 或 y=1.9 会给你相同的结果——观察属于 y=1 类。然而,y=1.9 只是表明一个比 y=0.9 更有把握的结论。 (如果你想知道为什么,我建议你阅读 adaboost 基于边距的解释,你会发现与 SVM 的结果非常相似)。

希望这可以帮到你。

关于r - adaBoost 中 R 中的 GBM ~ predict() 值位于 [0,1] 之外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615279/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com