博客
关于我
Li‘s 影像组学视频学习笔记(15)-ROC曲线及其绘制
阅读量:563 次
发布时间:2019-03-09

本文共 986 字,大约阅读时间需要 3 分钟。

ROC曲线与AUC评价

ROC曲线全称为受试者工作特征曲线,它是用来衡量分类器性能的重要工具。ROC曲线通过图形化的方式展示分类器在不同阈值下的假阳率(FPR)和真阳率(TPR)之间的关系。

在ROC曲线中:

  • 横轴为假阳率(FPR),表示分类器预测出假阳性的比例。
  • 纵轴为真阳率(TPR),表示分类器预测出真阳性的比例。
  • 曲线上的每一点都对应着一个阈值,即当预测阳性概率达到或超过该阈值时,分类器会将样本判定为阳性。
  • 四个关键点:
    • (0,0):FPR=0,TPR=0,表示分类器对所有样本都预测为阴性。
    • (1,1):FPR=1,TPR=1,表示分类器对所有样本都预测为阳性。
    • (1,0):FPR=1,TPR=0,表示分类器对所有样本都预测错了。
    • (0,1):FPR=0,TPR=1,表示分类器对所有样本都预测对了。

AUC(Area Under Curve)即曲线下面积,用于量化分类器的整体性能。AUC得分越高,表示分类器的性能越好。通过计算ROC曲线下的面积,可以综合评估模型的 discrimination power(区分能力)。

以下是基于代码实现的ROC曲线与AUC计算:

from sklearn.metrics import roc_curve, roc_auc_score
# 假设y是实际标签,y_probs是模型预测的概率结果
y_probs = model_svm.predict_proba(X)
fpr, tpr, thresholds = roc_curve(y, y_probs[:, 1], pos_label=1)
plt.plot(fpr, tpr, marker='o')
plt.xlabel('FPR')
plt.ylabel('TPR')
plt.show()
auc_score = roc_auc_score(y, model_svm.predict(X))
print(auc_score)

通过上述代码可以绘制ROC曲线并计算AUC得分。通常,我们会选择AUC得分最高的模型作为最优模型。此外,可以通过调整阈值(thresholds)来优化分类器的性能,选择最优阈值时,可以通过最大化 TPR - FPR 来实现。

作者:北欧森林

来源:简书,已获授权转载

RadiomicsWorld.com “影像组学世界”论坛:

你可能感兴趣的文章
Node.js卸载超详细步骤(附图文讲解)
查看>>
Node.js卸载超详细步骤(附图文讲解)
查看>>
Node.js基于Express框架搭建一个简单的注册登录Web功能
查看>>
node.js学习之npm 入门 —8.《怎样创建,发布,升级你的npm,node模块》
查看>>
Node.js安装与配置指南:轻松启航您的JavaScript服务器之旅
查看>>
Node.js安装及环境配置之Windows篇
查看>>
Node.js安装和入门 - 2行代码让你能够启动一个Server
查看>>
node.js安装方法
查看>>
Node.js官网无法正常访问时安装NodeJS的方法
查看>>
node.js模块、包
查看>>
node.js的express框架用法(一)
查看>>
Node.js的交互式解释器(REPL)
查看>>
Node.js的循环与异步问题
查看>>
Node.js高级编程:用Javascript构建可伸缩应用(1)1.1 介绍和安装-安装Node
查看>>
nodejs + socket.io 同时使用http 和 https
查看>>
NodeJS @kubernetes/client-node连接到kubernetes集群的方法
查看>>
NodeJS API简介
查看>>
Nodejs express 获取url参数,post参数的三种方式
查看>>
nodejs http小爬虫
查看>>
nodejs libararies
查看>>