文章目录

  • 1.案例
  • 2.y_score讨论
    • 1)y_score是标签数据
    • 2)y_score是概率值
from sklearn.metrics import roc_curveroc_curve(y_true, y_score, *, pos_label=None, sample_weight=None,drop_intermediate=True)- Parameters(参数)y_true : ndarray of shape (n_samples,)二进制标签,真实数据结果;如果标签既不是{-1,1}也不是{0,1},则应该明确给出pos_labely_score : ndarray of shape (n_samples,)预测结果数据,可以是标签数据也可以是概率值;与y_true形状一致pos_label : int or str, default=None正类的标签。当pos_label=None时,如果y_true在{- 1,1}或{0,1}中,则将pos_label设置为1,否则将引发错误    sample_weight : array-like of shape (n_samples,), default=None样本权重drop_intermediate : bool, default=True是否降低一些不会出现在绘制的ROC曲线上的非最佳阈值- Returns(返回)fpr——假正率tpr——召回率threshold——阈值

1.案例

>>> import numpy as np
>>> from sklearn import metrics
>>> y = np.array([1, 1, 2, 2])
>>> scores = np.array([0.1, 0.4, 0.35, 0.8])
>>> fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2)
>>> fpr
array([0. , 0. , 0.5, 0.5, 1. ])
>>> tpr
array([0. , 0.5, 0.5, 1. , 1. ])
>>> thresholds
array([1.8 , 0.8 , 0.4 , 0.35, 0.1 ])

2.y_score讨论

1)y_score是标签数据

# y_score是标签数据
import numpy as np
from sklearn.metrics import roc_curvey_true = np.array([0, 1, 1, 0])
y_score = np.array([0, 1, 0, 0])
fpr, tpr, threshold = roc_curve(y_true, y_score)
print('fpr=', fpr)
print('tpr=', tpr)
print('threshold=', threshold)# fpr= [0. 0. 1.]
# tpr= [0.  0.5 1. ]
# threshold= [2 1 0]
  • threshold返回结果是y_score内的元素去重后加入’最大值+1’的值,然后降序排序后组成的数据,每一个元素为一个阈值

  • tpr与fpr为在不同阈值下的值.当阈值为2时,y_score = np.array([0, 0, 0, 0]);此时,TP=0,FP=0,故,tpr=0/2=0,fpr=0/2=0。其余的同理

2)y_score是概率值

# y_score是概率数据
import numpy as np
from sklearn.metrics import roc_curvey_true = np.array([0, 1, 1, 0])
y_score = np.array([0.1, 0.3, 0.6, 0.8])
fpr, tpr, thresholds = roc_curve(y_true, y_score)
print('fpr=', fpr)
print('tpr=', tpr)
print('threshold=', thresholds)# fpr= [0.  0.5 0.5 1. ]
# tpr= [0. 0. 1. 1.]
# threshold= [1.8 0.8 0.3 0.1]
  • threshold返回结果自己对应理解

  • 当以0.8为阈值时,即y_score中大于等于0.8的为阳性(1),其余的为阴性(0) = >y_score=[0,0,0,1];tpr=0/2=0,fpr=1/2=0.5。其余同理。

2.3 sklearn中的metrics.roc_curve评价指标相关推荐

  1. sklearn中的metrics.roc_auc_score评价指标

    参数说明 from sklearn.metrics import roc_auc_score roc_auc_score(y_true, y_score, *, average='macro', sa ...

  2. sklearn中的metrics

    文章目录 MSE 交叉验证 准确率.精度.召回率.F1.AUC 准确率 混淆矩阵 精度.召回率.F1 ROC & AUC 阈值衡量.ROC曲线 阈值选择 ROC曲线 多分类的metrix问题, ...

  3. sklearn.metrics.roc_curve

    官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics 首先认识单词:metrics: ['mɛ ...

  4. sklearn.metrics.roc_curve解析

    官方网址:http://scikit-learn.org/stable/modules/classes.html#module-sklearn.metrics 首先认识单词:metrics:  ['m ...

  5. sklearn.metrics.roc_curve使用简要说明

    sklearn.metrics.roc_curve使用简要说明 一.背景说明 二.TP.TN.FP.FN概念 四.roc_curve运行机制简单剖析 4.1.roc_curve简单介绍 4.1.1 重 ...

  6. sklearn中的支持向量机SVM(下)

    1 二分类SVC的进阶 1.1 SVC用于二分类的原理复习 sklearn中的支持向量机SVM(上) 1.2 参数C的理解进阶 有一些数据,可能是线性可分的,但在线性可分状况下训练准确率不能达到100 ...

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

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

  8. sklearn中的聚类算法K-Means

    1 概述 1.1 无监督学习与聚类算法 决策树.随机森林.逻辑回归虽然有着不同的功能,但却都属于"有监督学习"的一部分,即是说,模型在训练的时候,既需要特征矩阵XXX,也需要真实标 ...

  9. sklearn中一些参数

    转载:http://www.cnblogs.com/chenyaling/p/7826229.html 1.监督学习 1.1.广义线性模型 1.1.1.普通最小二乘法  class sklearn.l ...

  10. curve函数 roc_sklearn.metrics.roc_curve使用说明

    roc曲线是机器学习中十分重要的一种学习器评估准则,在sklearn中有完整的实现,api函数为sklearn.metrics.roc_curve(params)函数. 不过这个接口只限于进行二分类任 ...

最新文章

  1. 大丈夫不可一日无权啊!——项目经理的误区(转)
  2. Python Qt GUI快速编程第六章代码分析
  3. oh,我的老伙计,你看看这近五十个dapr视频
  4. app访问java web_Java Web App体系结构
  5. php常用算法的时间复杂度,php的几个经典排序算法及时间复杂度和耗时​
  6. 黑客攻防技术宝典Web实战篇第2版—第1章Web应用程序安全与风险
  7. c语言fread malloc,流操作之读写(fread、fwrite、fopen、malloc)
  8. MyEclipse中搭建spring-boot+mybatis+freemarker框架
  9. PHP的性能大坑--strtotime函数
  10. 按下组合键 可以迅速锁定计算机,Win7锁定计算机快捷键是什么?Win7使用锁定计算机快捷键的方法...
  11. HDU2027 统计元音【文本处理】
  12. Python ICMP扫描
  13. c语言教师工资管理系统源程序设计,C语言教师工资管理系统
  14. 60个经典电脑使用技巧
  15. 网站实现GNSS数据批量下载
  16. 算法工程师的职业发展前景思考和总结
  17. 斯坦福大学公开课:iOS 7应用开发 (二)
  18. 基于Python的个人博客系统设计与实现 报告+项目源码
  19. 中国移动的指令大全!(不再需要人工台)
  20. Java中如何实现添加用户信息_如何通过Java客户端在Active Directory中创建新用户并将其添加到现有组...

热门文章

  1. 自定义形状的ImageView制作
  2. C语言——判断一个数是否为素数(2种方法)
  3. 反馈抑制器使用场景与市场
  4. java sqlldr_sqlldr使用(转)
  5. linux下如何创建oracle数据库实例,Linux下新建Oracle数据库实例
  6. windows系统好用的输入法推荐
  7. Mysql 分页,排序 打字练习
  8. mina框架详解-小白收藏
  9. 【python写一个AI对战五子棋游戏】
  10. ec6108v9a精简刷机包_华为悦盒无安装限制固件下载|华为悦盒EC6108V9A第三方精简流畅无安装限制固件 下载 - 巴士下载站...