问题标签 [proc-r-package]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - 使用 ROCR 和 pROC (R) 计算平均 AUC 的差异
我正在使用caret
包生成的 SVM-RFE 模型中的交叉验证数据(10 倍重复 5 次)。我知道包在计算指标时caret
与pROC
包一起使用,但我需要使用ROCR
包来获得平均 ROC。但是,我注意到使用每个包时的平均 AUC 值并不相同,所以我不确定是否应该不加区分地使用两个包。
我用来证明的代码是:
结果略有不同:
我注意到在许多情况下,平均 AUC 计算给了我不同的结果,例如在[5]
和[22]
中[25]
:
我尝试过使用其他 SVM-RFE 模型,但问题仍然存在。为什么会这样?难道我做错了什么?
r - 在 RFE 过程(插入符号)中更改 ROC 计算 (pROC) 的默认参数 - R
我正在计算一个使用函数(包)"ROC"
作为度量的 SVM-RFE 模型。据我所知,该算法使用包的函数及其预定义的参数来优化 AUC 值。但是,我想将参数设置为,而不是因为在某些情况下,结果平均 AUC 是反向计算的(我的数据不是很好......)。此处的答案中解释了此问题:使用 ROCR 和 pROC (R) 计算平均 AUC 的差异rfe
caret
rfe
roc
pROC
direction
"<"
"auto"
如何roc
在rfe
计算中更改函数的默认参数值?
我试过这个简单的选项,但它不起作用:
r - 在 pROC 包中指定正类
我想使用 pROC 包计算不同的分类指标(敏感性、特异性)。为此,我可以将包中的coords
函数pROC
用作:
在这里它被认为1
是积极的类,即可能是最流行的类,但我不确定。我想知道,是否可以使用“0”作为正类。例如,您可以在caret
包的confusionMatrix
功能中这样做:
因为1
积极和
作为0
正类。我正在使用 pROC 包,因为它提供了其他功能,例如确定最佳截止值等,这在插入符号中是不可能的。但是,有没有办法在包中指定正负类pROC
?
r - 使用 plot.roc() 函数在 R 图中的白色边距
我试图创建一个类似于网站上的图形。但是,我遇到了一个更基本的问题:我的 R 图中有一些我想去掉的空白。这是使用包pROC
。我提供了一个可重现的示例来说明该问题:
上面的代码最终看起来像下图:
如您所见,图像在 y 轴和图的最左侧部分之间有很多空白区域,图的右侧也是如此。该问题仅在使用时出现plot.roc()
。我什至尝试制作我试图模拟的情节(使用网站上提供的代码),但最终还是得到了不同的图像(第一段中描述的图像的代码包含在下面):
我的 R 设置可能有问题,尽管在第二台计算机上运行代码时问题仍然存在。有人可以提供帮助吗?
r - R 和随机森林:插入符号和 pROC 如何处理正负类?
在过去的几天里,我一直在分析 R 实现随机森林的性能以及可用的不同工具,以获得:
- 曲线下面积
- 灵敏度
- 特异性
因此,我使用了两种不同的方法:
- 来自pROC库的mroc 和 coords以获得模型在不同截止点的性能。
- 插入符号库中的混淆矩阵,以获得模型的最佳性能(AUC、准确度、灵敏度、特异性……)
关键是我已经意识到两种方法之间存在一些差异。
我开发了以下代码:
如果比较结果和准确度数据变量,可以看到敏感性和特异性之间的关系是相反的。
也就是说,confusionMatrix的结果是:
但是如果我在坐标计算中寻找这样的敏感性和特异性,我发现它们交换了:
显然,灵敏度和特异性在坐标和混淆矩阵中是相反的。
考虑到confusionMatrix 正确识别了正类,我假设这是对敏感性和特异性的良好解释。
我的问题是:有什么方法可以强制坐标以我想要的方式解释正负类?
r - 使用 for 循环或 sapply 创建 ROC 曲线
经过大量搜索,我找不到我的问题的答案。我想使用 for 循环或 sapply 使用 pROC 包生成 ROC 曲线。
我的数据库看起来像这样(只有 26 列和 74 行):
我可以“手动”制作 ROC 曲线:
对于“自动”,我尝试过:
第一条 roc 曲线总是 mnT1G:
添加其他 roc 曲线(data$Img 是来自另一个数据帧的所有图像名称(如 T1G、T01 等))。我知道他们都将是蓝色的:
但我得到这个错误:
roc.default(cor.datT$PA, cor.datT[paste("mn", i, sep = "")], 中的错误:预测器必须是数字或有序的。
for 循环也会发生同样的情况:
我检查了这些列,它们都是数字的。所以也许我的脚本中的类出了点问题?
r - ROCR 错误:预测格式无效
从 glmnet 获得我的预测后,我尝试使用“ROCR”包中的“预测”函数来获取 tpr、fpr 等,但出现此错误:
我已经输出了 glmnet 预测和标签,它们看起来格式相似,因此我不明白这里什么是无效的。
代码如下,输入可以在这里找到input。这是一个小数据集,运行时间应该不会太长。
感谢你的帮助!
r - 更改 ROC 图的比例
在运行逻辑回归后,我正在使用以下代码绘制 ROC 曲线。
绘制的 ROC 曲线如下所示(参见下面的链接)
- x 轴刻度不填充 who 图表。
- 如何更改 x 轴以报告 1 - 特别是?
r - 如何在 ROC 曲线上绘制特定点
我正在使用pROC 包使用以下函数绘制接收器操作曲线:
我还想突出显示与特定 p 值相对应的曲线上的点。假设我知道哪些预测值对应于我的特定 p 值。我怎样才能做到这一点?