闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码。在python环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy包。事实证明,实践是检验真理的唯一标准,在手写代码的过程中,才能真正体会到这两个评判标准的一些小细节,代码记录如下。
一、模拟一个预测结果
因为两个曲线都是用来判断一个分类器分类性能的,所以这里直接用随机数生成一组类别和对应的置信度。类别有0、1两个类别。置信度从0到1随机生成。
data_len = 50 label = np.random.randint(0, 2, size=data_len) score = np.random.choice(np.arange(0.1, 1, 0.01), data_len) 复制代码
生成结果如下:其中第一行代表真实的类别,第二行代表分类器判断目标是类别1的置信度。
label 1 0 1 0 0 1 1 …… score 0.22 0.31 0.92 0.34 0.37 0.18 0.51 …… 因为我们的置信度是随机生成的,所以得到的结果等同于一个二分类器“瞎猜”的结果。
二、PR曲线
不管是PR曲线还是ROC曲线,首先要选定一个类别,然后针对这个类别具体计算。
该曲线的横坐标是召回率(R),纵坐标是精确度(P),故命名为PR曲线。 举一个简单的例子来说明P和R的定义:假设一个二分类器需要预测100个样本,这些样本中有80个类别1,20个类别0。当把置信度取某一个值S时,假设此时分类器认为有60个样本是类别1,在预测的这60个人样本中,有50个样本预测正确,其余10个样本预测错误。那么

python 计算曲线面积_利用Python中的numpy包实现PR曲线和ROC曲线的计算!相关推荐

  1. python画pr曲线代码_利用Python中的numpy包实现PR曲线和ROC曲线的计算

    闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在 python 环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy ...

  2. python绘制pr曲线图_利用Python中的numpy包实现PR曲线和ROC曲线的计算!

    闲来无事,边理解PR曲线和ROC曲线,边写了一下计算两个指标的代码.在python环境下,sklearn里有现成的函数计算ROC曲线坐标点,这里为了深入理解这两个指标,写代码的时候只用到numpy包. ...

  3. python代码物理_利用python求解物理学中的双弹簧质能系统详解

    前言 本文主要给大家介绍了关于利用python求解物理学中双弹簧质能系统的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 物理的模型如下: 在这个系统里有两个物体,它们的质 ...

  4. python共享文件权限_利用Python实现在同一网络中的本地文件共享方法

    本文利用Python3启动简单的HTTP服务器,以实现在同一网络中共享本地文件. 启动HTTP服务器 打开终端,转入目标文件所在文件夹,键入以下命令: $ cd /Users/zero/Documen ...

  5. python汇率转换_利用Python中的Xpath实现一个在线汇率转换器

    前言 在之前的语法里面,我们记得有一个初识Python之汇率转换篇,在那个程序里面我们发现可以运用一些基础的语法写一个汇率计算,但是学到后面的小伙伴就会发现这个小程序有一定的弊端. 首先,它不可以实时 ...

  6. python绘图库_利用python中的绘图库绘图的方法介绍

    matplotlib是Python最著名的绘图库,本文给大家分享了利用matplotlib+numpy绘制多种绘图的方法实例,其中包括填充图.散点图(scatter plots).. 条形图(bar ...

  7. python 计算曲线面积_微积分到底有多神?能完成多少不可思议,难以测量的计算?他简直强大的让人害怕!...

    首先这边文章主要还是针对非数学专业学生的兴趣类文章.对文章中出现的一些公式和计算方式没有做严格的证明和推导,单纯讨论微积分的应用.同时微积分的应用范围之广,实在是难以一一列举,甚至连冰山一角都难以摸透 ...

  8. python椭圆面积_利用matplotlib实现2个椭圆的重叠区域

    你不能用matplotlib来计算交集的面积(至少据我所知不是这样),但是你可以用shapely来计算,然后用matplotlib将结果可视化.下面是一个快速演示:from matplotlib im ...

  9. python高斯求和_利用Python进行数据分析(3)- 列表、元组、字典、集合

    本文主要是对Python的数据结构进行了一个总结,常见的数据结构包含:列表list.元组tuple.字典dict和集合set. image 索引 左边0开始,右边-1开始 通过index()函数查看索 ...

最新文章

  1. 编译原理习题(含答案)——2程序设计语言及其文法——MOOC哈尔滨工业大学陈鄞配套
  2. [开源]jquery.ellipsis根据宽度(不是字数)进行内容截断,支持多行内容
  3. 监听js变量的变化_JS监听事件型爬虫
  4. 工作流实战_02_flowable 流程模板导入
  5. C#+OpenGL+FreeType显示3D文字(3) - 用PointSprite绘制文字
  6. 线性代数笔记5——平面方程与矩阵
  7. 4.14 在数字的左侧进行补零 [原创Excel教程]
  8. ActionForm 原理 参考百度百科
  9. android模拟器玩手游,手游模拟器使用说明 手游在电脑上玩的方法介绍
  10. 网页端、移动端导航设计模式全解
  11. linux系统桌面环境选择,你应该选择Cinnamon作为Linux桌面环境的十个理由
  12. 【owt-server】 只sync webrtc-m79并构建
  13. Python实现猫脸识别 | 喵主子福利
  14. 中兴5G解决方案打造新体验,构建新生态
  15. 在那刹那间,俺的世界一片灰暗~~~
  16. 山西二级计算机考试报名时间,2020年山西计算机等级考试网上报名步骤介绍
  17. 今天高考╮(╯_╰)╭
  18. 自主专利 养护式洗车 净车侠以创新开启财富盛宴
  19. SYMTCP: Eluding Stateful Deep Packet Inspection with Automated Discrepancy Discovery论文翻译
  20. 长红50电视android,等比看电视:长虹50吋大平板

热门文章

  1. 男孩女孩 ---《美 好》
  2. 网络信息安全攻防学习平台 上传,解密通关writeup
  3. kryo、fst实现序列化
  4. spark视频-Spark Docker
  5. linux suid提权
  6. linux suid提权原理,linux关于suid提权笔记
  7. 苹果公司发布声明哀悼乔布斯辞世(图)
  8. Codeforces Beta Round #52 (Div. 2) D. Changing a String DP输出方案
  9. 视觉检测中如何提高图片处理速度与质量
  10. computed 接收参数