首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R: xgboost图roc曲线

R: xgboost图roc曲线
EN

Stack Overflow用户
提问于 2015-11-04 09:29:26
回答 1查看 9.5K关注 0票数 4

绘制roc曲线:

代码语言:javascript
复制
library(ROCR)
<data cleaning/scrubbing>
<train data>
.....
.....
rf.perf = performance(rf.prediction, "tpr", "fpr") #for RF
logit.perf = performance (logit.prediction, "tpr", "fpr") #for logistic reg
tree.perf = performance(tree.prediction, "tpr", "fpr") #for cart tree
...
plot(re.perf) #a RF roc curve

如果我想运行一个xgboost分类并随后绘制roc: objective =“二进制:物流”

我对xgboost的论点度量标准"auc“(CRAN手册的第9页)感到困惑,它说的是领域。如何用tpr和fpr绘制曲线进行模型比较?

我试着搜索net和github,重点是特性重要性图(对于xgboost)。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2017-09-01 09:36:17

让我先谈谈ROC曲线

ROC曲线是在不同阈值下绘制真实阳性率(TPR)和假阳性率(FPR)的曲线。

在python中,可以很容易地完成以下操作:

代码语言:javascript
复制
from sklearn import metrics
def buildROC(target_test,test_preds):
    fpr, tpr, threshold = metrics.roc_curve(target_test, test_preds)
    roc_auc = metrics.auc(fpr, tpr)
    plt.title('Receiver Operating Characteristic')
    plt.plot(fpr, tpr, 'b', label = 'AUC = %0.2f' % roc_auc)
    plt.legend(loc = 'lower right')
    plt.plot([0, 1], [0, 1],'r--')
    plt.ylabel('True Positive Rate')
    plt.xlabel('False Positive Rate')
    plt.gcf().savefig('roc.png')

在这里输入图像描述

例如,在上述图像中,在一定的阈值下,以假阳性率0.2为代价,可以得到接近0.96 ~ 0.97的真阳性。

关于中华民国的好文件

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33518129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档