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

你可能感兴趣的文章
OpenResty(5):Openresty 模板渲染
查看>>
OpenSearch 使用二三事
查看>>
OpenSessionInView模式
查看>>
openshift搭建Istio企业级实战
查看>>
OpenSLL
查看>>
Openssh Openssl升级
查看>>
openssh 加固
查看>>
OPENSSH升级为7.4
查看>>
ViewPager切换滑动速度修改
查看>>
OpenSSL 引入了新的治理模式和项目,来增强社区参与和决策
查看>>
openssl内存分配,查看内存泄露
查看>>
OpenSSL创建SSL证书
查看>>
openssl在cygwin下编译错误:CPU不支持x86_64(CPU you selected does not support x86-64 instruction set )
查看>>
openssl安装
查看>>
openssl安装
查看>>
OpenSSL生成root CA及签发证书
查看>>