【问题标题】:How to interpret this ROC AUC curve which does not start a zero如何解释这条不从零开始的 ROC AUC 曲线
【发布时间】:2020-09-26 12:07:43
【问题描述】:

我有一条 ROC 曲线,奇怪的是它不是从 0 开始的,我想知道这意味着什么? 此 ROC 曲线是从朴素贝叶斯分类器生成的

数据集可以从这里下载:https://drive.google.com/file/d/14HG2sQDeAo8iPnYcZjEXvAi7iuimKwyD/view?usp=sharing

library(tidyverse)
library(caret)
mammographic_masses<- read_csv("MyData.csv")
set.seed(123)
training.samples <- mammographic_masses$severity %>%
    createDataPartition(p = 0.8, list = FALSE)
trainData  <- mammographic_masses[training.samples, ]
testData <- mammographic_masses[-training.samples, ]
library(e1071)
nb_model = naiveBayes(as.factor(severity) ~., data=trainData)
nb_predicted <- predict(nb_model, testData)
nb_predicted <- as.numeric(levels(nb_predicted))[nb_predicted]
plotROC(testData$severity, nb_predicted)

【问题讨论】:

  • 请提供您的“trainData”或示例,以便我们复制您的情节。
  • 我已经提供了我的数据集
  • 您的代码没有运行。我对其进行了编辑以添加明显的library 调用,当您清楚地按名称使用列时,我不知道为什么您有col_names = FALSE。但我仍然得到Error: object 'plotROC' not found。有很多包提供了这个功能,请务必阅读stackoverflow.com/help/minimal-reproducible-example

标签: r graph naivebayes roc auc


【解决方案1】:

我不知道您使用的哪个包提供了plotROC 功能。

但解释很清楚:这是一个错误

ROC 曲线总是从左下角开始,到右上角结束。总是。这条规则也不例外。

这是pROC 包根据您的数据计算得出的正确 ROC 曲线:

library(pROC)
plot(roc(testData$severity, nb_predicted), print.auc = TRUE)

【讨论】:

    猜你喜欢
    • 2016-01-17
    • 2020-05-18
    • 2012-04-15
    • 1970-01-01
    • 2019-04-11
    • 2021-11-19
    • 2020-08-15
    • 2016-09-11
    • 2018-05-29
    相关资源
    最近更新 更多