R里有没有package可以画ROC,计算AUC的?

  统计/机器学习 模型验证 R    浏览次数:8051        分享
3

R里有没有package可以画ROC,计算AUC的?能够有例子如何使用更好!

谢谢!

 

大王来巡山   2017-04-04 13:05



   2个回答 
6

可以用pROC 

#加载pROC
library(pROC)

#画出ROC曲线
plot.roc(actual, prediction)

#计算ROC AUC
auc(actual, prediction)


SofaSofa数据科学社区DS面试题库 DS面经

可爱多   2017-04-04 21:01

It should be "plot.roc" function. - Sophia   2017-04-05 02:19
谢谢修正!我编辑一下 - 可爱多   2017-04-05 07:11
2

pROC比较慢,github上有人贴出了一个更快的版本。代码如下:

fastROC <- function(probs, class) {
    class_sorted <- class[order(probs, decreasing=T)]
    TPR <- cumsum(class_sorted) / sum(class)
    FPR <- cumsum(class_sorted == 0) / sum(class == 0)
    return(list(tpr=TPR, fpr=FPR))
}

# Helpful function adapted from: https://stat.ethz.ch/pipermail/r-help/2005-September/079872.html
fastAUC <- function(probs, class) {
    x <- probs
    y <- class
    x1 = x[y==1]; n1 = length(x1); 
    x2 = x[y==0]; n2 = length(x2);
    r = rank(c(x1,x2))  
    auc = (sum(r[1:n1]) - n1*(n1+1)/2) / n1 / n2
    return(auc)
}


SofaSofa数据科学社区DS面试题库 DS面经

木子周   2018-02-19 10:28



  相关讨论

roc space是什么意思?

roc auc小于0.5是什么情况?

为什么非平衡的数据更适合用精度-召回曲线,而不是roc auc?

为什么负样本的auc会和正样本的auc不一样呢?

如何利用python画分类器的ROC曲线?

怎么直观理解ROC AUC的概率统计意义?

问一下roc和logistic回归有啥联系区别

精度召回precision recall auc是什么?

sklearn.metrics.auc里提到的梯形法则是什么意思?

sklearn里计算roc_auc_score,报错ValueError: bad input shape

  随便看看

numpy里矩阵乘法matmul,@和dot的区别?

在使用PCA降维时,有哪些坑?

请问在sklearn怎么在已有的模型的基础上训练新的数据?

自助法(bootstrap)的0.632是怎么来的?

统计学中的自变量和因变量分别是什么意思?