gpt4 book ai didi

r - 在使用逻辑回归时避免 R 中的 for 循环以尝试评估真阳性/阴性的百分比

转载 作者:行者123 更新时间:2023-12-04 11:55:16 25 4
gpt4 key购买 nike

我得到的:一个矩阵,我从中得到结果的预测概率(来自逻辑回归模型)和已知结果。对于那些好奇的人,我实际上有两个回归模型和一个独立的测试数据集,我希望通过这样做来比较这两个模型。

> head(matrixComb)
probComb outComb
[1,] 0.9999902 1
[2,] 0.9921736 0
[3,] 0.9901175 1
[4,] 0.9815581 0
[5,] 0.7692992 0
[6,] 0.7369990 0

我想要的:一张图表,我可以在其中绘制我的预测模型产生正确结果的频率(一条线表示正值,一条线表示负值)作为概率截止值的函数。我的问题是,如果不切换到 Perl 并使用 For 循环遍历矩阵,我无法弄清楚如何执行此操作。

在 Perl 中,我将从概率 0.1 开始,然后在 for 循环的运行中将值增加 0.1。在第一次迭代中,我将所有概率 <0.1 和结果 = 0 视为真阴性,概率 < 0.1 和结果 1 为假阴性,概率 > 0.1 和结果 = 0 为误报,概率 > 0.1 和结果 = 1 为真阳性。

然后将重复该过程,每次迭代的结果将打印为 [概率,真阳性/总阳性,真阴性/总阴性]。因此,我可以很容易地在 open office calc 中打印出来。

我问这个的原因是这个操作太复杂了,我无法在 stackoverflow 或教程中找到类似的案例。但我真的很想学习一种在 R 环境中高效执行此操作的方法。

最佳答案

你可以让R画出基于ROC分析的曲线。这是使用 ROCR 包的原始版本,可以很容易地变得更漂亮

ss <- 1000   # sample size
mydf <- data.frame(probComb = runif(ss)) # predictions illustration
mydf$outComb <- 0 + (runif(ss) < mydf$probComb) # actuals illustration

library(ROCR)
pred <- prediction(mydf$probComb, mydf$outComb)
perfp <- performance(pred, "tpr")
perfn <- performance(pred, "tnr")
plot(perfp, col="green", ylab="True positive (green) and true negative (red) rates")
plot(perfn, col="red", ylab="True negative rate", add=TRUE)

生产

enter image description here

如果需要,您可以在perfpperfn 中找到数据。

关于r - 在使用逻辑回归时避免 R 中的 for 循环以尝试评估真阳性/阴性的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6768974/

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