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

本文共 977 字,大约阅读时间需要 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-RED订阅MQTT主题并调试数据
查看>>
Node-RED通过npm安装的方式对应卸载
查看>>
node-request模块
查看>>
node-static 任意文件读取漏洞复现(CVE-2023-26111)
查看>>
Node.js 8 中的 util.promisify的详解
查看>>
node.js debug在webstrom工具
查看>>
Node.js HTTP模块详解:创建服务器、响应请求与客户端请求
查看>>
Node.js RESTful API如何使用?
查看>>
node.js url模块
查看>>
Node.js Web 模块的各种用法和常见场景
查看>>
Node.js 之 log4js 完全讲解
查看>>
Node.js 函数是什么样的?
查看>>
Node.js 函数计算如何突破启动瓶颈,优化启动速度
查看>>
Node.js 切近实战(七) 之Excel在线(文件&文件组)
查看>>
node.js 初体验
查看>>
Node.js 历史
查看>>
Node.js 在个推的微服务实践:基于容器的一站式命令行工具链
查看>>
Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
查看>>
Node.js 异步模式浅析
查看>>
node.js 怎么新建一个站点端口
查看>>