roc曲线是机器学习中十分重要的一种学习器评估准则,在sklearn中有完整的实现,api函数为sklearn.metrics.roc_curve(params)函数。

官方接口说明:http://scikit-learn.org/stable/modules/generated/sklearn.metrics.roc_curve.html

不过这个接口只限于进行二分类任务。!

下面主要是对官方接口做一下翻译。

接口函数   sklearn.metrics.roc_curve(y_truey_scorepos_label=Nonesample_weight=Nonedrop_intermediate=True)

参数说明

    y_true:数组,存储数据的标签,维度就是样本数,形如[0,1,1,0,1...]这样的,也可以是-1和1,只要有两个值

    y_score:数组,存储数据的预测概率值,维度也是样本数,形如[0.38,0.5,0.8]这样的

    pos_label:整型或字符串,当y_true中只有一个值时,比如都是1或者都是0,无法判断哪个是正样本,需要用一个数字或字符串指出

    sample_weight:采样权重,这个官方没有仔细说,是一个可选参数,有待考察

    drop_intermediate:丢掉一些阈值,以便画roc曲线图

返回值:一共三个,分别是fpr,tpr,thresholds

    fpr:数组,随阈值上涨的假阳性率

    tpr:数组,随阈值上涨的真正例率

    thresholds:数组,对预测值排序后的score列表,作为阈值,排序从大到小

举例

    

>>> 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.5,  0.5,  1. ])
>>> tpr
array([ 0.5,  0.5,  1. ,  1. ])
>>> thresholds
array([ 0.8 ,  0.4 ,  0.35,  0.1 ])

解释一下,样本标签为y,共有1和2两个值,预测值为scores,里面是预测为正样本的概率,正样本是什么呢,在函数中通过pos_label指定为2,然后便将score排序,

由大到小,也就有了后面的thresholds,按照这个顺序,依次将前面的样本预测为正样本,后面为负样本,这里看一下样本标签和预测值的一一对应

[1,1,2,2]->[0.1,0.4,0.35,0.8],共有两个正样本,两个负样本

以0.8为阈值,第一个假设为正样本,后面三个假设为负样本,0.8对应的确实为正样本,则真正例率为1/2,假阳性率为0,因为没有负样本被误判为正样本

然后以0.4为阈值,前两个假设为正样本,后两个假设为负样本,0.4对应的为负样本,则真正例数没有增加,于是仍为0.5,而假阳性增加一例,此时假阳性率为1/2

后面的依此类推,这就是这个api的基本使用说明。

补充下:tpr=tp/所有正样本,fpr=fp/所有负样本

转载于:https://www.cnblogs.com/wzyuan/p/9440017.html

sklearn.metrics.roc_curve使用说明相关推荐

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

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

  2. sklearn.metrics.roc_curve

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

  3. sklearn.metrics.roc_curve解析

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

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

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

  5. sklearn.metrics中的评估方法介绍(accuracy_score, recall_score, roc_curve, roc_auc_score, confusion_matrix)

    accuracy_score 分类准确率分数是指所有分类正确的百分比.分类准确率这一衡量分类器的标准比较容易理解,但是它不能告诉你响应值的潜在分布,并且它也不能告诉你分类器犯错的类型. 形式: skl ...

  6. sequential模型编译时的指标设置:sklearn.metrics:指标

    sklearn.metrics: Metrics 官网是最好的学习区. See the Model evaluation: quantifying the quality of predictions ...

  7. Python sklearn机器学习各种评价指标——Sklearn.metrics简介及应用示例

    Python Sklearn.metrics 简介及应用示例 利用Python进行各种机器学习算法的实现时,经常会用到sklearn(scikit-learn)这个模块/库. 无论利用机器学习算法进行 ...

  8. sklearn.metrics 用法详解

    1. 用法概览 1.1 分类 函数 功能 metrics.accuracy_score 准确率 metrics.balanced_accuracy_score 在类别不均衡的数据集中,计算加权准确率 ...

  9. 不平衡多分类问题模型评估指标探讨与sklearn.metrics实践

    我们在用机器学习.深度学习建模.训练模型过程中,需要对我们模型进行评估.评价,并依据评估结果决策下一步工作策略,常用的评估指标有准确率.精准率.召回率.F1分数.ROC.AUC.MAE.MSE等等,本 ...

  10. Sklearn.metrics函数

    Python Sklearn.metrics 简介及应用示例 利用Python进行各种机器学习算法的实现时,经常会用到sklearn(scikit-learn)这个模块/库. 无论利用机器学习算法进行 ...

最新文章

  1. 「机器学习」机器学习算法优缺点对比(汇总篇)
  2. 2、 db、tables_priv、columns_priv和procs_priv权限表
  3. 1.4编程基础之逻辑表达式与条件分支 21 苹果和虫子2
  4. 【连载】如何掌握openGauss数据库核心技术?秘诀一:拿捏SQL引擎(4)
  5. 建议考事业编吗?为什么?
  6. sklearn中CountVectorizer与TfidfVectorizer区别
  7. python基础:购物车代码
  8. 3年以上经验Java开发面试题
  9. 莫烦python看的顺序_莫烦Python笔记__Python多进程技巧
  10. 《大型网站技术架构:核心原理与案例分析》.pdf——架构系列必看20本技术书籍
  11. JVM 字节码 栈图(Stack Map Table) 学习笔记
  12. 《佛密诸事》第二章 宇宙诸现象
  13. 〇、什么是全栈工程师
  14. QPBOC——数据认证
  15. 软件测试基础 按照测试对象划分 界面测试(UI测试.响应式页面 可靠性测试 容错性测试 文档测试 平台测试 易用性测试等
  16. Linux调整网卡MAC地址(指令)
  17. js 解决Safari浏览器中实现支付宝网页支付无法拉取支付宝APP的问题
  18. 简单的数据库代理操作
  19. 问卷设计及问卷调查中的问题与技巧
  20. windebug(转载别人的节选)

热门文章

  1. asp.net 中http协议及相关知识(零碎知识记录)
  2. NLP人机对话与落地案例分享
  3. 【小知识点】分类机器学习中,某一标签占比太大(标签稀疏),如何学习?...
  4. 65 年来,全英国向他道歉三次
  5. 火山翻译亮相飞书未来无限大会,打造全新翻译体验
  6. 深度学习4-计算图机制详解
  7. Leetcode-链表
  8. 云原生时代,需要什么样的数据库?
  9. 卷积网络虽动人,胶囊网络更传“神”
  10. Spark:聚类算法