我在使用 gbm 包计算 ROC 分数 (AUC) 时遇到问题。我正在使用增强回归树。我正在运行的脚本是:
testing.tc5.lr005 <- gbm.step(data=ModelData,
gbm.x = 3:4,
gbm.y = 2,
family = "gaussian",
tree.complexity = 5,
learning.rate = 0.005,
bag.fraction = 0.5)
它应该产生“训练数据 ROC 分数”和“交叉验证 ROC 分数”以及其他相关参数。我没有得到 ROC 分数。我调用了 names(testing.tc5.lr005)
。它列出了 cv.roc.matrix
但如果我调用 testing.tc5.lr005$cv.roc.matrix
会产生以下内容:
[1] 0 0 0 0 0 0 0 0 0 0
我尝试通过 roc(TestData$TN,predTN)
计算 ROC AUC(TestData~用于预测的数据,即观察值;predTN~预测值)。结果为 [1]NA
。我不知道我做错了什么,尽管模型的其余部分似乎通过合理的测试和 CV 相关性和 SE 值做得很好。
任何关于我哪里错了或替代的指示都将不胜感激!
谢谢
最佳答案
首先,我认为您将 gbm 包与 dismo 包结合使用。正如 Calimo 所说,gbm.step 在 dismo 之外不存在。
我无法回答您关于如何计算 ROC 的问题(我不是专家——我有同样的问题,这就是我如何来到这里的),但我可以告诉您 dismo 不会计算它。我查看了 dismo 包中的代码,它们似乎不允许对高斯族进行 ROC 计算。
关于gbm包中的ROC分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22391547/