博客
关于我
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 “影像组学世界”论坛:

你可能感兴趣的文章
python | unoconv,一个超厉害的 Python 库!
查看>>
python | urllib3,一个超强的 Python 库!
查看>>
python | webassets,一个超强的 Python 库!
查看>>
python | werkzeug,一个不可思议的 Python 库!
查看>>
python | xlsxwriter,一个实用的 Python 库!
查看>>
python | xlwings,一个非常实用的 Excel 相关的 Python 库!
查看>>
python | xmltodict,一个非常厉害的 关于XML数据 Python 库!
查看>>
python | xonsh,一个超酷的 Python 库!
查看>>
python | yagmail,一个实用的 Python 库!
查看>>
python | 一文掌握Python的上下文管理器和with语句
查看>>
python | 一文看懂Python闭包机制与变量作用域规则
查看>>
python读取含中文的json
查看>>
python | 如何用Python锁避免并发错误?
查看>>
python | 提升代码迭代速度的Python重载方法
查看>>
python | 深入理解Python并发编程中的GIL限制与解决方案
查看>>
Python | 爬虫实战——亚马逊搜索页监控(附详细源码)
查看>>
python | 高效使用Python工具自动生成模块文档的秘诀
查看>>
python 一个list去除另一个list中的值
查看>>
python 三大框架的 介绍。
查看>>
Python 下载的 11 种姿势,一种比一种高级!
查看>>