【问题标题】:Error in prediction when plotting an ROC curve in R?在R中绘制ROC曲线时预测错误?
【发布时间】:2019-12-03 23:30:14
【问题描述】:

所以我正在尝试使用 ROCR 包在 R 中绘制 ROC 曲线。我有一个名为 Health 的二元结果和一个名为 test_result 的连续变量。

dat$health <- as.numeric(dat$health == "healthy") 
mod <- glm(health ~ test_result, data=dat, family="binomial")
pred1 <- prediction(predict(mod), dat$health)

当我尝试运行 prediction() 的最后一行时,我收到一条错误消息

Number of predictions in each run must be equal to the number of labels for each run.

所以我查找了 predict(mod) 和 dat$health 的长度,分别得到了 1306 和 1366。这种长度差异会导致错误吗?如果是这样,为什么 predict(mod) 的长度小于结果变量的长度?任何帮助将不胜感激!

【问题讨论】:

  • 可能您的数据中有缺失值,并且由于您无法预测缺失值,因此您的预测向量比实际向量短。排除具有缺失值的行应该会有所帮助。 dat[compete.cases(day), ] 应该可以解决问题。
  • @TimTeaFan 哇,你是对的……那太愚蠢了……
  • 这是一个常见错误,我自己也经常遇到;)

标签: r prediction roc


【解决方案1】:

这里有一个错误。您在预测函数中没有任何数据的情况下进行预测。应该是这样的

pred1 <- prediction(predict(mod, dat), dat$health)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2017-06-19
    • 1970-01-01
    • 2016-10-01
    • 2014-09-27
    • 2013-08-10
    • 2017-09-11
    相关资源
    最近更新 更多