【发布时间】:2014-04-18 22:48:18
【问题描述】:
我在使用 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 值方面做得很好。
任何关于我错在哪里或替代的指示将不胜感激!
谢谢
【问题讨论】:
-
我怀疑您使用的是
dismo包?你有任何输出吗? -
我正在使用
gbm。我得到所有其他输出都很好(即偏差、训练数据相关性、CV 相关性、CV SE 等)。它只是我没有得到的 ROC。 -
gbm中没有名为gbm.step的函数,因此您可能得到的唯一输出是Error: could not find function "gbm.step"。请发布你得到的输出。 -
我跑了:
testing.tc5.lr01 <- gbm.step(data=TNTPSumAbundVis1, + gbm.x = 3:4, + gbm.y = 2, + family = "gaussian", + tree.complexity = 5, + learning.rate = 0.01, + bag.fraction = 0.5),这是输出:GBM STEP - 2.9 版平均总偏差 = 0.815 平均残余偏差 = 0.499 估计 cv 偏差 = 0.637; se = 0.093 训练数据相关性 = 0.641 cv 相关性 = 0.46; se = 0.085 经过时间 - 0.05 分钟 -
我很抱歉这种格式的评论。仅作记录,我使用这篇论文 [onlinelibrary.wiley.com/doi/10.1111/j.1365-2656.2008.01390.x/… 作为参考。