# 计算方式,将prob从大到排列,prob = [0.9,0.8,0.7,0.3,0.2],对应

# truth=[1,1,0,1,1],然后取prob的第一个元素到最后一个元素作为阀值,

# 当大于这个阀值为正样本否则为负样本(如取0.9,则pred=[0,0,0,0,0]),

# 构建混淆矩阵 计算 tpr = tp/(tp+fn) 和 fpr = fp/(fp+tn)

from sklearn.metrics import roc_curve, auc, mean_squared_error, accuracy_score

def check_fit(truth, prob):

"""

truth: 真实的值 [1,0,1,1,1]

prob: 预测的值 [0.9,0.7,0.8,0.2,0.3]

"""

fpr, tpr, _ = roc_curve(truth, prob) # drop_intermediate:(default=True)

roc_auc = auc(fpr, tpr) # 计算auc值,roc曲线下面的面积 等价于 roc_auc_score(truth,prob)

plt.figure()

plt.plot(fpr, tpr, color='darkorange', lw=2, label='ROC curve (area = %0.2f)' % roc_auc)

plt.plot([0, 1], [0, 1], color='navy', lw=2, linestyle='--')

plt.xlim([-0.1, 1.05])

plt.ylim([-0.1, 1.05])

plt.xlabel('False Positive Rate')

plt.ylabel('True Positive Rate')

plt.title('Receiver operating characteristic example')

plt.legend(loc="lower right")

plt.show()

print('results are RMSE, accuracy, ROC')

predics = [1 if i>=0.5 else 0 for i in prob]

print(math.sqrt(mean_squared_error(truth, prob)), accuracy_score(truth, predics), roc_auc)

画出来的图类似于下面的。

需要注意的是:    计算fpr和tpr时候, 参数drop_intermediate若默认,则会去除掉一些值

drop_intermediate : boolean, optional (default=True)

Whether to drop some suboptimal thresholds which would not appear

on a plotted ROC curve. This is useful in order to create lighter

ROC curves.

python roc计算_Python计算ROC相关推荐

  1. python roc曲线_python画roc

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 以下是使用scikit learn预测.做出决策边界并画出roc曲线的一个示例, ...

  2. python笛卡尔_Python 计算笛卡尔积

    Python 计算笛卡尔积 计算多个集合的笛卡尔积,有规律可循,算法和代码也不难,但是很多语言都没有提供直接计算笛卡尔积的方法,需要自己写大段大段的代码计算笛卡尔积,python 提供了一种最简单的计 ...

  3. python概率游戏_Python计算斗牛游戏的概率

    Python计算斗牛游戏的概率 过年回家,都会约上亲朋好友聚聚会,会上经常会打麻将,斗地主,斗牛.在这些游戏中,斗牛是最受欢迎的,因为可以很多人一起玩,而且没有技术含量,都是看运气(专业术语是概率). ...

  4. python的计算_python 计算方位角实例(根据两点的坐标计算)

    知道两点坐标,怎么计算两点方向的方位角? 答:首先计算坐标增量dx,dy(两个对应坐标分量相减,终点的减始点的). 若dx,dy中有一个为零时,根据另一个的正负决定方位角(0,90,180,270这四 ...

  5. python判断天数_Python计算两个日期相差天数的方法示例

    本文实例讲述了Python计算两个日期相差天数的方法.分享给大家供大家参考,具体如下: #!/usr/bin/python import time import sys def dateinput() ...

  6. python 画三角函数_Python计算三角函数之asin()方法的使用

    asin()方法返回x的反正弦,以弧度表示. 语法 以下是asin()方法语法: asin(x) 注意:此函数是无法直接访问的,所以我们需要导入math模块,然后需要用math的静态对象来调用这个函数 ...

  7. python中e怎么计算_python计算e

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 开发准备下载和安装 python sdk . 首次使用批量计算,参考 开始前的准 ...

  8. python星期计算_python 计算一年内的所有周的具体日期

    #!/usr/bin/env python # -*- coding:utf-8 -*- import datetime import collections def get_date_list(st ...

  9. python 移动平均线_Python 计算EMA(指数移动平均线)

    总结 使用递归和循环两种方法来完成 python环境下循环相比于递归更快,更适应极端样本情况 递归 def _ema(arr,i=None): N = len(arr) α = 2/(N+1) #平滑 ...

最新文章

  1. AI实验室•西安站 教你用人脸识别打造爆款应用
  2. WIN7重装IE的步骤
  3. 手动实现SPring中的AOP(1)
  4. 次梯度(subgradient)
  5. 干货分享:如何使用Kubernetes的Ingress API
  6. Solarized ----vim配色方案
  7. ajax长轮询 java web_网页实时聊天之js和jQuery实现ajax长轮询
  8. 【Redis】Redis 乐观锁
  9. .NET导入导出Excel
  10. 神经网络的 Delta 学习规则(learning rule)
  11. About 产量数据选取问题
  12. linux内核远程漏洞,Linux内核远程DoS漏洞 (CVE-2019-11477) 预警分析
  13. 稚晖君教你制作全球最迷你的自平衡机器人
  14. 手机端html怎么复制到剪贴板,移动端和pc端的复制到剪贴板功能
  15. 企业个人所得税网上申报系统_增值税、企业所得税、个人所得税申报难点梳理...
  16. 学习QT之位置相关函数
  17. 二极管工作原理讲解(转载)
  18. [推荐]白纸上的黑点和黑纸上的白点
  19. 一键禁用windows defender
  20. 百度SEO浏览器插件开发,能够实时显示百度搜索排名的一款插件 seo.lantianye3.top出品

热门文章

  1. 2017第22届中国国际厨房、卫浴设施展览会会刊(参展商名录)
  2. android 换肤框架
  3. Y470 Y570 UEFI 2.12BIOS(64位)
  4. 输入法快捷键_Mac新手必看:使用频率较高的快捷键
  5. Wordpress之发表文章之后查看显示404
  6. “亏本”营销:电商“鱼塘”中最好的“鱼饵”
  7. python opencv实现灰度图的符号化(仿qgis单波段伪彩色)
  8. Python爬虫利器二之Beautiful Soup的用法
  9. C++学习总结12--构造函数和成员初始化表
  10. 惊呆了!这个APP是他做的?