gpt4 book ai didi

ROC 的 R 编码

转载 作者:行者123 更新时间:2023-12-04 10:52:52 27 4
gpt4 key购买 nike

我很难将 ROC 的示例命令转换为我的数据集。这是用于 pROC 包

这是使用数据(aSAH)的例子

roc(aSAH$outcome, aSAH$s100b)
roc(outcome ~ s100b, aSAH)

所以...aSAH 应替换为我的数据集或数据子集的名称。正确吗?

outcome 应替换为我的结果变量名称。正确吗?

s100b 应替换为我的预测变量名称。正确的?如果我没有单个预测变量,而是试图确定树的 ROC,该怎么办?我确实尝试用我的树的名称替换 s100b,但这也没有用。

最佳答案

在 R 的 roc 命令中,第一个参数是实际观察到的响应,第二个参数是模型的分数。为了绘制 ROC 曲线,最简单的方法是应用 roc 曲线并将结果存储在其他变量中 - 让我们称之为分析。然后,需要从变量分析 中提取灵敏度1-特异性,因为这是 ROC 曲线所需要的。这可以在 plot 命令中完成:

plot(1-analysis$specificities,analysis$sensitivities,type="l")

请查看图片以及 R 中的结果。在图片下方,您可以找到此曲线的 R 代码并将其应用于您的问题。请注意,一开始我模拟了数据。

enter image description here

rm(list = ls()) # clear work space
##Simulate Data
set.seed(123456)
n <- 10000
q <- 0.8

#Simulate predictions
Real <- c(sample(c(0,1), n/2, replace = TRUE, prob = c(1-q,q)),
sample(c(0,1), n/2, replace = TRUE, prob = c(0.7,0.3)))

#Simulate Response
p <- c(rep(seq(0.4,0.9, length=100), 50),
rep(seq(0.2,0.6, length=100), 50))
p <- data.frame(cbind(Real, p))

#install and load package
install.packages("pROC")
library(pROC)

#apply roc function
analysis <- roc(response=p$Real, predictor=p$p)

#Plot ROC Curve
plot(1-analysis$specificities,analysis$sensitivities,type="l",
ylab="Sensitiviy",xlab="1-Specificity",col="black",lwd=2,
main = "ROC Curve for Simulated Data")
abline(a=0,b=1)
abline(v = opt_t) #add optimal t to ROC curve

关于ROC 的 R 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28660837/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com