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

  统计/机器学习 模型验证 R    浏览次数:2695        分享
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 auc?   2回答

python里什么模块可以计算精度-召回(precision-recall)的AUC?   1回答

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

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

二元分类什么时候用LogLoss、什么时候用ROC AUC?如何选择?   1回答

roc auc小于0.5是什么情况?   3回答

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

多元分类的roc auc   1回答

精度召回precision recall auc是什么?   1回答

如何通俗地解释中餐馆过程(Chinese restaurant process)?   1回答

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

sklearn.preprocessing.StandardScaler采用的是哪种标准化的方法?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!