R指标auc()错误消息

尖叫猫头鹰

我正在尝试计算,auc但是有一个奇怪的问题。当我运行此脚本时:

rm(list = ls(all = T))
gc()

library(Metrics)
library(glmnet)

nrows <- 92681
set.seed(456)
df1 <- data.frame(act1 = round(runif(nrows), 0), pred1 = runif(nrows))

Metrics::auc(df1$act1, df1$pred1)
glmnet::auc(df1$act1, df1$pred1)

我得到:

> Metrics::auc(df1$act1, df1$pred1)
[1] 0.4930949
> glmnet::auc(df1$act1, df1$pred1)
[1] 0.4930949

当我再添加一行并运行此命令时:

rm(list = ls(all = T))
gc()

library(Metrics)
library(glmnet)

nrows <- 92682
set.seed(456)
df1 <- data.frame(act1 = round(runif(nrows), 0), pred1 = runif(nrows))

Metrics::auc(df1$act1, df1$pred1)
glmnet::auc(df1$act1, df1$pred1)

我得到:

> Metrics::auc(df1$act1, df1$pred1)
[1] NA
Warning message:
In n_pos * n_neg : NAs produced by integer overflow
> glmnet::auc(df1$act1, df1$pred1)
[1] 0.5011554

知道这里发生了什么吗?

乔索普

Metrics::auc使用包含(n_pos * n_neg)分母中的值的公式,在本例中为'sum(actual == 1)* sum(actual == 0)',其计算结果为整数 46308 * 46374 = 2147487192,该整数超过了您可以处理的最大整数(即.Machine$integer.max) 。

例如:

46308 * 46374
#> 2147487192

as.integer(46308) * as.integer(46374)
#> [1] NA
#> Warning message:
#> In as.integer(46308) * as.integer(46374) : NAs produced by integer overflow

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

抑制R中的错误消息

来自分类Dev

抑制R中的错误消息

来自分类Dev

指标-便签404错误

来自分类Dev

指标-便签404错误

来自分类Dev

在R中回归中解释错误消息

来自分类Dev

R错误消息中的函数sweep()

来自分类Dev

cxxfunction错误消息,内联R包

来自分类Dev

Plotly(在R中)关于“标记”的错误消息

来自分类Dev

无法抑制R Markdown中的错误消息?

来自分类Dev

R 启动时出现错误消息

来自分类Dev

R 中的错误消息“以下对象被屏蔽了...”

来自分类Dev

R中的指标功能

来自分类Dev

R中的指标功能

来自分类Dev

添加指标Quantstrat R

来自分类Dev

如何手动启动指标消息?

来自分类Dev

错误消息

来自分类Dev

Spark中二进制分类的评估指标:AUC和PR曲线

来自分类Dev

模型评估:model.score Vs. ROC曲线(AUC指标)

来自分类Dev

在R中创建指标变量

来自分类Dev

返回指标在R中的排名

来自分类Dev

我在R中使用xml时发现此错误消息

来自分类Dev

如果R错误消息中的其他语句

来自分类Dev

如何强制For loop()或lapply()在R中显示错误消息

来自分类Dev

从R中的`stop()`调用修改错误消息

来自分类Dev

如何仅访问R中的异常错误消息

来自分类Dev

R中出现错误消息“试图在NULL上设置属性”

来自分类Dev

在R中找不到glmmadmb()消息错误'C:/ Program'

来自分类Dev

将 .pdf 文件下载到 R,收到错误消息

来自分类Dev

并行比较多个AUC(R)