AUC计算方法与Python实现代码


Posted in Python onFebruary 28, 2020

-AUC计算方法

-AUC的Python实现方式

AUC计算方法

AUC是ROC曲线下的面积,它是机器学习用于二分类模型的评价指标,AUC反应的是模型对样本的排序能力。它的统计意义是从所有正样本随机抽取一个正样本,从所有负样本随机抽取一个负样本,当前score使得正样本排在负样本前面的概率。

AUC的计算主要以下几种方法:

1、计算ROC曲线下的面积。这是比较直接的一种方法,可以近似计算ROC曲线一个个小梯形的面积。几乎不会用这种方法

2、从AUC统计意义去计算。所有的正负样本对中,正样本排在负样本前面占样本对数的比例,即这个概率值。

具体的做法就是它也是首先对prob score从大到小排序,然后令最大prob score对应的sample 的rank为n,第二大score对应sample的rank为n-1,以此类推。

然后把所有的正类样本的rank相加,再减去M-1种两个正样本组合的情况。

得到的就是所有的样本中有多少对正类样本的score大于负类样本的score。

最后再除以M×N。

公式如下:

AUC计算方法与Python实现代码

AUC的Python实现

通过上面方法二的公式,AUC计算的Python实现如下:

def calAUC(prob,labels):
  f = list(zip(prob,labels))
  rank = [values2 for values1,values2 in sorted(f,key=lambda x:x[0])]
  rankList = [i+1 for i in range(len(rank)) if rank[i]==1]
  posNum = 0
  negNum = 0
  for i in range(len(labels)):
    if(labels[i]==1):
      posNum+=1
    else:
      negNum+=1
  auc = 0
  auc = (sum(rankList)- (posNum*(posNum+1))/2)/(posNum*negNum)
  print(auc)
  return auc

其中输入prob是得到的概率值,labels是分类的标签(1,-1)

以上这篇AUC计算方法与Python实现代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python网络编程学习笔记(二):socket建立网络客户端
Jun 09 Python
python检测某个变量是否有定义的方法
May 20 Python
Python实现读取json文件到excel表
Nov 18 Python
利用pyecharts实现地图可视化的例子
Aug 12 Python
python程序 创建多线程过程详解
Sep 23 Python
python selenium 执行完毕关闭chromedriver进程示例
Nov 15 Python
tornado+celery的简单使用详解
Dec 21 Python
使用tensorflow DataSet实现高效加载变长文本输入
Jan 20 Python
Python之关于类变量的两种赋值区别详解
Mar 12 Python
matlab中二维插值函数interp2的使用详解
Apr 22 Python
PyTorch安装与基本使用详解
Aug 31 Python
详解Python之Scrapy爬虫教程NBA球员数据存放到Mysql数据库
Jan 24 Python
Python编程快速上手——Excel表格创建乘法表案例分析
Feb 28 #Python
Python计算IV值的示例讲解
Feb 28 #Python
Python编程快速上手——PDF文件操作案例分析
Feb 28 #Python
Python自动采集微信联系人的实现示例
Feb 28 #Python
python代码实现TSNE降维数据可视化教程
Feb 28 #Python
Python range与enumerate函数区别解析
Feb 28 #Python
使用python的turtle函数绘制一个滑稽表情
Feb 28 #Python
You might like
简单的方法让你的后台登录更加安全(php中加session验证)
2012/08/22 PHP
php实现的Captcha验证码类实例
2014/09/22 PHP
JavaScript中__proto__与prototype的关系深入理解
2012/12/04 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
JS函数this的用法实例分析
2015/02/05 Javascript
微信小程序 开发工具快捷键整理
2016/10/31 Javascript
Nodejs进阶:核心模块net入门学习与实例讲解
2016/11/21 NodeJs
jQuery文字轮播特效
2017/02/12 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
JS实现的检验身份证格式并输出出生日期,年龄,性别,出生地示例
2019/05/17 Javascript
JS随机密码生成算法
2019/09/23 Javascript
解决vue-router 二级导航默认选中某一选项的问题
2019/11/01 Javascript
关于vue3.0中的this.$router.replace({ path: '/'})刷新无效果问题
2020/01/16 Javascript
js禁止查看源文件屏蔽Ctrl+u/s、F12、右键等兼容IE火狐chrome
2020/10/01 Javascript
Vue+Spring Boot简单用户登录(附Demo)
2020/11/12 Javascript
微信小程序实现滚动Tab选项卡
2020/11/16 Javascript
星球大战与Python之间的那些事
2016/01/07 Python
详解Python列表赋值复制深拷贝及5种浅拷贝
2019/05/15 Python
详解Python GUI编程之PyQt5入门到实战
2020/12/10 Python
css3的过滤效果简单实例
2016/08/03 HTML / CSS
使用css3做0.5px的细线的示例代码
2018/01/18 HTML / CSS
复古风格的女装和装饰品:ModCloth
2017/12/29 全球购物
营销主管自我评价怎么写
2013/09/19 职场文书
在职人员函授期间自我评价分享
2013/11/08 职场文书
劳动竞赛活动方案
2014/02/20 职场文书
2014两会学习心得:时代的发展
2014/03/17 职场文书
产品质量承诺书
2014/03/27 职场文书
差生评语大全
2014/05/04 职场文书
影子教师研修方案
2014/06/14 职场文书
2014县委书记党的群众路线教育实践活动对照检查材料思想汇报
2014/09/22 职场文书
先进个人总结范文
2015/02/15 职场文书
应届生简历自我评价
2015/03/11 职场文书
人事行政助理岗位职责
2015/04/11 职场文书
大学学生会主席竞选稿怎么写?
2019/08/19 职场文书
浅谈Nginx 中的两种限流方式
2021/03/31 Servers
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS