如何获取 ROC 曲线中 x 轴(FPR)和 y 轴(TPR)的值
Posted
技术标签:
【中文标题】如何获取 ROC 曲线中 x 轴(FPR)和 y 轴(TPR)的值【英文标题】:How do I get the values of x-axis(FPR) and y-axis(TPR) in ROC curve 【发布时间】:2020-04-04 12:05:40 【问题描述】:我正在尝试使用plotly.js
和在 R 中获得的值制作 ROC 曲线。
在plotly
中,我必须填写值(x 轴,y 轴)来制作绘图。
但是,当我使用逻辑回归函数glm
或multinom
(在nnet
包中)时,我不知道如何获取值。
df <- data.frame(age = c(10, 20, 30, 40, 50),height = c(150, 161, 141, 155, 180), house = c("0", "0", "0", "1", "1"))
smp_size <- floor(nrow(df) * (0.6))
train_idx <- sample(seq_len(nrow(df)), size = smp_size)
train <- df[train_idx, ]
validation <- df[-train_idx, ]
validation_x <- validation[c("age", "height")]
validation_y <- validation[["house"]]
m <- glm(house ~ age + height, data = train, family = 'binomial')
y_pred <- predict(m, validation_x)
library(plotROC)
plotROC(validation_y, y_pred)
我想知道如何获取ROC曲线中x轴(FPR)和y轴(TPR)的值
谢谢。
【问题讨论】:
哦!我不知道这个功能。感谢您的有用回答! 【参考方案1】:使用包pROC
中的函数roc()
:
# install.packages("pROC")
library(pROC)
my.roc <- roc(validation_y, y_pred)
roc()
返回一个记录特异性(x 轴)、敏感性(y 轴)、阈值、AUC 和其他信息的列表。您可以使用$
提取它们:
my.roc$specificities
my.roc$sensitivities
【讨论】:
以上是关于如何获取 ROC 曲线中 x 轴(FPR)和 y 轴(TPR)的值的主要内容,如果未能解决你的问题,请参考以下文章