1、二分模型

考虑一个二分问题,即将实例分成正类(Positive)或负类(Negative)。对一个二分问题来说,会出现四种情况:
TP: 如果一个实例是正类并且也被预测成正类,即为真正类(True Positive);
FP: 如果一个实例是负类而被预测成正类,即为假正类(False Positive);
TN: 如果一个实例是负类并且也被预测成负类,即为真负类(True Negative);
FN: 如果一个实例是正类而被预测成负类,即为假负类(False Negative)。

2、ROC曲线

ROC曲线:ROC曲线一系列根据不同的二分类方式(阈值或分界值),以真阳性率TPR(灵敏度)为纵坐标,假阳性率FPR(1-特异度)为横坐标绘制的曲线。

TPR: 在所有实际为阳性的样本中,被正确地判断为阳性的比率 TRP = TP / (TP + FN)。TPR也被称为正样本的召回率,或者覆盖率。
FPR: 在所有实际为阴性的样本中,被错误地判断为阳性的比率 FPR = FP / (FP + TN)。FPR也被称为负样本的召回率,或者取伪率。

举例:
给定一个二元分类模型和它的阈值,就能从所有样本的真实值和预测值计算出一个坐标点。
样本的真实类别y_true = [1, 1, 0, 0, 1]
y_score = [0.5, 0.6, 0.55, 0.4, 0.7 ]
现在分别选择阈值(0.4、0.5、0.55、0.6、0.7),如果大于等于选定阈值则归为类别1,如果小于选定则归为类别0.

Threhold y_pred TP FP TN FN TPR FPR
0.4 [1, 1, 1, 1,] 3 2 0 0 1 1
0.5 [0, 1, 1, 1,] 3 1 1 0 1 0.5
0.55 [0, 0, 1, 1,] 2 1 1 1 0.67 0.5
0.6 [0, 0, 0, 1,] 2 0 2 1 0.67 0
0.7 [0, 0, 0, 1,] 1 0 2 2 0.33 0

以这FPR和TPR分别作为x值和y值,作散点图,得到ROC曲线如下:

顺便把Python代码附上:

import numpy as np
from sklearn.metrics import roc_curve
from sklearn.metrics import roc_auc_score
from matplotlib import pyplot as plty_true = np.array([1, 1, 0, 0, 1])
y_score = np.array([0.5, 0.6, 0.55, 0.4, 0.7 ])
fpr, tpr, thresholds = roc_curve(y_true, y_score, pos_label=1)
AUC_ROC = roc_auc_score(y_true, y_score)roc_curve =plt.figure()
plt.plot(fpr,tpr,'-',label='Area Under the Curve (AUC = %0.4f)' % AUC_ROC)
plt.title('ROC curve')
plt.xlabel("FPR (False Positive Rate)")
plt.ylabel("TPR (True Positive Rate)")
plt.legend(loc="lower right")

3、PR曲线


待续

二分类模型评估之 ROC曲线和PR曲线相关推荐

  1. [机器学习] 二分类模型评估指标---精确率Precision、召回率Recall、ROC|AUC

    一 为什么要评估模型? 一句话,想找到最有效的模型.模型的应用是循环迭代的过程,只有通过持续调整和调优才能适应在线数据和业务目标. 选定模型时一开始都是假设数据的分布是一定的,然而数据的分布会随着时间 ...

  2. 分类模型-评估指标(2):ROC曲线、 AUC值(ROC曲线下的面积)【只能用于二分类模型的评价】【不受类别数量不平衡的影响;不受阈值取值的影响】【AUC的计算方式:统计所有正负样本对中的正序对】

    评价二值分类器的指标很多,比如precision.recall.F1 score.P-R曲线等.但这些指标或多或少只能反映模型在某一方面的性能.相比而言,ROC曲线则有很多优点,经常作为评估二值分类器 ...

  3. 02_混淆矩阵、准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F值(F-Measure) +Roc曲线和PR曲线+sklearn中分类模型评估API+ 自己补充整理

    此博文参考: 关于ROC绘制参考博文: https://blog.csdn.net/u011630575/article/details/80250177 Python+ROC相关的博文: https ...

  4. 视频|分类模型评估:精确率、召回率、ROC曲线、AUC与R语言生存分析时间依赖性ROC实现

    最近我们被客户要求撰写关于分类模型的研究报告,包括一些图形和统计输出. 本文将帮助您回答以下问题: ROC曲线是什么? 曲线下的面积是多少? 二元分类的决策阈值是多少? 分类模型可接受的 AUC值是多 ...

  5. python 两点曲线_python机器学习分类模型评估

    python机器学习分类模型评估 1.混淆矩阵 在分类任务下,预测结果(Predicted Condition)与正确标记(True Condition)之间存在四种不同的组合,构成混淆矩阵(适用于多 ...

  6. 机器学习分类模型评价指标之ROC 曲线、 ROC 的 AUC 、 ROI 和 KS

    前文回顾: 机器学习模型评价指标之混淆矩阵 机器学习模型评价指标之Accuracy.Precision.Recall.F-Score.P-R Curve.AUC.AP 和 mAP 图裂的话请参考:ht ...

  7. 分类模型评估---从混淆矩阵到ROC,AUC,GINI,KS,Lift,Gain,MSE

    4.4.2分类模型评判指标(一) - 混淆矩阵(Confusion Matrix) https://blog.csdn.net/Orange_Spotty_Cat/article/details/80 ...

  8. 衡量二分类模型的统计指标(TN,TP,FN,FP,F1,准确,精确,召回,ROC,AUC)

    文章目录 - 衡量二分类问题的统计指标 分类结果 混淆矩阵 准确率 精确率 召回率 F1评分 推导过程 ROC曲线.AUC - 衡量二分类问题的统计指标 分类结果   二分类问题,分类结果有以下四种情 ...

  9. AI:神经网络IMDB电影评论二分类模型训练和评估

    AI:Keras神经网络IMDB电影评论二分类模型训练和评估,python import keras from keras.layers import Dense from keras import ...

  10. 多分类f1分数_机器学习之分类模型评估总结

    一.概述 在机器学习模型搭建好之后,需要对模型进行评估,针对不同的算法模型有不同的评估方法,比如:分类算法.回归算法.聚类算法等,本文主要是针对分类算法的模型评估方法进行总结整理,便于自己对评估方法的 ...

最新文章

  1. python运行excel高级筛选怎么用_懂点EXCEL就行!教你利用Python做数据筛选(上)...
  2. 教你如何定位及优化SQL语句的性能问题
  3. linux mysql 8安装教程,MySQL8系列安装与配置教程(Linux环境)
  4. s:property=a value=/取的s:debug/s:debug中的value stack中的属性值
  5. Map循环/迭代/遍历效率、性能问题。
  6. Mac下Android相关配置
  7. 成都信息工程大学上岸软件工程专硕经验分享
  8. PDF417数据容量
  9. 贝叶斯公式的理解【转】
  10. 编辑图片加文字的软件哪个好?这三个软件还不错
  11. excel入门,如何玩转excel,你早该这么玩Excel笔记9
  12. Nginx无证书反向代理
  13. saiku 升级备份恢复
  14. 2022年美赛D题思路分享+翻译
  15. Ubuntu更换登录界面壁纸
  16. 令人头大的慢查询分析
  17. 玩玩CUBLAS(1)——hello cublas
  18. java吐泡泡过关,java代码,鱼吐泡泡程序
  19. Android SDK Android NDK 官方下载地址(zt)
  20. SpringMVC下载上传Excel文件

热门文章

  1. ISIS协议基础知识
  2. 校园网认证破解教程(某数字科技学院)
  3. Tmall商城系统后台管理订单模块分析
  4. 常用编程语言应用、前景及学习方法
  5. android微信朋友圈相册背景,Android 仿微信朋友圈图片拖拽返回
  6. 免费的网络验证系统插件
  7. 深入了解Excel工作表中的控件
  8. ubuntu挂载windows分区
  9. C#数组和集合类详解
  10. ESXi下虚拟机迁移至PVE