基于python实现ROC曲线绘制广场解析
ROC
结果
源数据:鸢尾花数据集(仅采用其中的两种类别的花进行训练和检测)
Summary
features:['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)']
实例:[5.1, 3.5, 1.4, 0.2]
target:'setosa' 'versicolor' (0 , 1)
采用回归方法进行拟合得到参数和bias
model.fit(data_train, data_train_label)
对测试数据进行预测得到概率值
res = model.predict(data[:100])
与训练集labels匹配后进行排序(从大到小)
pred labels 68 0.758208 1 87 0.753780 1 76 0.745833 1 50 0.743156 1 65 0.741676 1 75 0.739117 1 62 0.738255 1 54 0.737036 1 52 0.733625 1 77 0.728139 1 86 0.727547 1 74 0.726261 1 58 0.725150 1 71 0.724719 1 36 0.724142 0 14 0.723990 0 31 0.721648 0 41 0.720308 0 72 0.717723 1 79 0.712833 1 97 0.705148 1 51 0.702838 1 35 0.702203 0 98 0.701731 1 92 0.701106 1 82 0.700661 1 53 0.700465 1 18 0.699350 0 16 0.696915 0 64 0.693333 1 .. ... ... 33 0.658937 0 96 0.656761 1 30 0.656279 0 57 0.655673 1 4 0.652616 0 85 0.648620 1 59 0.648586 1 19 0.646965 0 70 0.646262 1 88 0.644482 1 8 0.643191 0 38 0.642704 0 3 0.640933 0 55 0.640630 1 47 0.640444 0 95 0.639552 1 13 0.639050 0 22 0.638485 0 29 0.635590 0 90 0.634376 1 37 0.632224 0 6 0.631119 0 46 0.630037 0 11 0.629718 0 66 0.627807 1 42 0.624795 0 44 0.621703 0 32 0.614932 0 24 0.603874 0 84 0.603249 1
计算训练集中正确的个数与非正确的个数
运用一下的算式进行TPR和FPR的计算
index = 0 for i in sorted_mat.values: if i[1] == 0: TPR.append(TPR[index]) FPR.append(FPR[index] + 1.0/F_num) else: TPR.append(TPR[index] + 1.0/T_num) FPR.append(FPR[index]) index += 1
最后进行TPR和FPR的描绘
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
python 多进程并行编程 ProcessPoolExecutor的实现
使用 ProcessPoolExecutor from concurrent.futures import ProcessPoolExecutor, as_completed import random 斐波那契数列 当 n 大于 30 时抛出异常 def fib(n): if n > 30: raise Exception('can not > 30, now %s' % n) if n <= 2: return 1 return fib(n-1) + fib(n-2) 准备数组 nu
-
python中的subprocess.Popen()使用详解
从python2.4版本开始,可以用subprocess这个模块来产生子进程,并连接到子进程的标准输入/输出/错误中去,还可以得到子进程的返回值. subprocess意在替代其他几个老的模块或者函数,比如:os.system os.spawn* os.popen* popen2.* commands.* 一.subprocess.Popen subprocess模块定义了一个类: Popen class subprocess.Popen( args, bufsize=0, executable
-
python3光学字符识别模块tesserocr与pytesseract的使用详解
OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由字符稍加扭曲变换得到的内容,我们可以使用OCR技术来讲其转化为电子文本,然后将结果提取交给服务器,便可以达到自动识别验证码的过程 tesserocr与pytesseract是Python的一个OCR识别库,但其实是对tesseract做的一层Python API封装,pytesseract是Goog
-
python使用梯度下降和牛顿法寻找Rosenbrock函数最小值实例
Rosenbrock函数的定义如下: 其函数图像如下: 我分别使用梯度下降法和牛顿法做了寻找Rosenbrock函数的实验. 梯度下降 梯度下降的更新公式: 图中蓝色的点为起点,橙色的曲线(实际上是折线)是寻找最小值点的轨迹,终点(最小值点)为 (1,1)(1,1). 梯度下降用了约5000次才找到最小值点. 我选择的迭代步长 α=0.002α=0.002,αα 没有办法取的太大,当为0.003时就会发生振荡: 牛顿法 牛顿法的更新公式: Hessian矩阵中的每一个二阶偏导我是用手算算出来的.
-
python3安装OCR识别库tesserocr过程图解
OCR简介 OCR,即Optical Character Recognition,光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程,对应图形验证码来说,它们都是一些不规则的字符,这些字符是由字符稍加扭曲变换得到的内容,我们可以使用OCR技术来讲其转化为电子文本,然后将结果提取交给服务器,便可以达到自动识别验证码的过程. window环境 环境材料准备 Window10 Python-3.7.3.tgz tesserocr安装包 安装tesserocr 1.打开链接,http
-
Python多进程multiprocessing、进程池用法实例分析
本文实例讲述了Python多进程multiprocessing.进程池用法.分享给大家供大家参考,具体如下: 内容相关: multiprocessing: 进程的创建与运行 进程常用相关函数 进程池: 为什么要有进程池 进程池的创建与运行:串行.并行 回调函数 多进程multiprocessing: python中的多进程需要使用multiprocessing模块 多进程的创建与运行: 1.进程的创建:进程对象=multiprocessing.Process(target=函数名,args=(参
-
解决windows下python3使用multiprocessing.Pool出现的问题
例如: from multiprocessing import Pool def f(x): return x*x pool = Pool(processes=4) r=pool.map(f, range(100)) pool.close() pool.join() 在spyder里运行直接没反应:在shell窗口里,直接报错,如下: Process SpawnPoolWorker-15: Traceback (most recent call last): File "C:\Anaconda3
-
python multiprocessing多进程变量共享与加锁的实现
python多进程和多线程是大家会重点了解的部分,因为很多工作如果并没有前后相互依赖关系的话其实顺序并不是非常的重要,采用顺序执行的话就必定会造成无谓的等待,任凭cpu和内存白白浪费,这是我们不想看到的. 为了解决这个问题,我们就可以采用多线程或者多进程的方式,(多线程我们之后再讲),而这两者之间是有本质区别的.就内存而言,已知进程是在执行过程中有独立的内存单元的,而多个线程是共享内存的,这是多进程和多线程的一大区别. 利用Value在不同进程中同步变量 在多进程中,由于进程之间内存相互是隔离的
-
基于python实现ROC曲线绘制广场解析
ROC 结果 源数据:鸢尾花数据集(仅采用其中的两种类别的花进行训练和检测) Summary features:['sepal length (cm)', 'sepal width (cm)', 'petal length (cm)', 'petal width (cm)'] 实例:[5.1, 3.5, 1.4, 0.2] target:'setosa' 'versicolor' (0 , 1) 采用回归方法进行拟合得到参数和bias model.fit(data_train, data_tra
-
Python中ROC曲线绘制
首先以支持向量机模型为例 先导入需要使用的包,我们将使用roc_curve这个函数绘制ROC曲线! from sklearn.svm import SVC from sklearn.metrics import roc_curve from sklearn.datasets import make_blobs from sklearn. model_selection import train_test_split import matplotlib.pyplot as plt %matplot
-
解析ROC曲线绘制(python+sklearn+多分类)
目录 ROC曲线绘制要点(仅记录) 提取数据(标签值和模型预测值) 多分类的ROC曲线画出来并不难 ROC曲线绘制要点(仅记录) 1.ROC用于度量模型性能 2.用于二分类问题,如若遇到多分类也以二分类的思想进行操作. 3.二分类问题代码实现(至于实现,文档说的很清楚了:官方文档) 原理看懂就好,实现直接调用API即可 提取数据(标签值和模型预测值) from sklearn.metrics import roc_curve, auc fpr, tpr, thresholds = roc_cur
-
python如何将多个模型的ROC曲线绘制在一张图(含图例)
目录 多条ROC曲线绘制函数 绘制效果 调用格式与方法 详细解释和说明 1.关键函数 2.参数解释 需要注意的小小坑 补充 总结 多条ROC曲线绘制函数 def multi_models_roc(names, sampling_methods, colors, X_test, y_test, save=True, dpin=100): """ 将多个机器模型的roc图输出到一张图上 Args: names: list, 多个模型的名称 sampling_methods: li
-
利用Python画ROC曲线和AUC值计算
前言 ROC(Receiver Operating Characteristic)曲线和AUC常被用来评价一个二值分类器(binary classifier)的优劣.这篇文章将先简单的介绍ROC和AUC,而后用实例演示如何python作出ROC曲线图以及计算AUC. AUC介绍 AUC(Area Under Curve)是机器学习二分类模型中非常常用的评估指标,相比于F1-Score对项目的不平衡有更大的容忍性,目前常见的机器学习库中(比如scikit-learn)一般也都是集成该指标的计算,但
-
基于Python检测动态物体颜色过程解析
本篇文章将通过图片对比的方法检查视频中的动态物体,并将其中会动的物体定位用cv2矩形框圈出来.本次项目可用于树莓派或者单片机追踪做一些思路参考.寻找动态物体也可以用来监控是否有人进入房间等等场所的监控.不仅如此,通过对物体的像素值判断分类,达到判断动态物体总体颜色的效果. 引言 物体检测,是一种基于目的几何学和统计资料特点的影像拆分,它将目的的拆分和辨识,其准确度和实时性是整个该系统的一项最重要战斗能力.特别是在是在简单桥段中的,必须对多个目的展开实时处理时,目的系统会萃取和辨识就变得尤其最重要
-
基于python实现破解滑动验证码过程解析
前言: 很多小伙伴们反馈,在web自动化的过程中,经常会被登录的验证码给卡住,不知道如何去通过验证码的验证.今天专门给大家来聊聊验证码的问题,一般的情况下遇到验证码我们可以都可以找开发去帮忙解决,关闭验证码,或者给一个万能的验证码!那么如果开发不提供帮助的话,我们自己有没有办法来处理这些验证码的问题呢?答案当然是有的,常见的验证码一般分为两类,一类是图文验证码,一类是滑动验证码! 今天我们主要来聊聊滑动验证码如何去识别破解. 滑动验证破解思路 关于滑动验证码破解的思路大体上来讲就是以下两个步骤:
-
基于python SMTP实现自动发送邮件教程解析
最近工作中的一个项目需要自动发送一些信息邮件到指定邮箱的需求,那么如何实现Python自动发送邮件的功能呢?接下来我们就来简单的介绍下如何利用Python来实现自动发送邮件的功能. Python SMTP发送邮件 SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议 ,说白了就是发送邮件的协议,python的smplib库对SMTP协议进行了简单的封装,提供了对SMTP的支持,可以发送纯文本邮件.HTML文件以及带附件的邮件. 首先我们构建一个SendEmai
-
基于Python pyecharts实现多种图例代码解析
词云图 from pyecharts.charts import WordCloud def word1(): words= [ ("Sam S Club", 10000), ("Macys", 6181), ("Amy Schumer", 4386), ("Jurassic World", 4055), ("Charter Communications", 2467), ("Chick Fil
-
基于python实现获取网页图片过程解析
环境:python3, 要安装bs4这个第三方库 获取请求头的方法 这里使用的是Chrome浏览器. 打开你想查询的网站,按F12,或者鼠标右键一下选择检查.会弹出如下的审查元素页面: 然后点击上方选项中的Network选项: 此时在按Ctrl+R: 选择下方框中的第一个,单击: 选择Headers选项,其中就会有Request Headers,包括你需要的信息. 介绍:这个程序是用来批量获取网页的图片,用于新手入门 注意:由于是入门的程序在获取某些网页的图片时会出问题!!!!! import
随机推荐
- iOS App开发中UITextField组件的常用属性小结
- node.js中的fs.fstat方法使用说明
- fdupe 查找重复文件的Perl脚本代码
- phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
- Python中使用不同编码读写txt文件详解
- Python新手入门最容易犯的错误总结
- shell脚本递归遍历目录及子目录的例子分享
- 在IE,Firefox,Safari,Chrome,Opera浏览器上调试javascript
- C/C++ 浅拷贝和深拷贝的实例详解
- 用ASP实现MSSQL用户密码破解
- Shell中取今天、昨天、前天的时间操作代码
- 用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
- 浅析jQuery Ajax请求参数和返回数据的处理
- Bootstrap基本样式学习笔记之图片(6)
- Android版本更新实例详解
- 用C语言模仿Python函数的一种简单实现方法
- Android中RecyclerView实现分页滚动的方法详解
- css ol有序列表
- Vue2.0学习之详解Vue 组件及父子组件通信
- vue引入ueditor及node后台配置详解