python roc_auc_score,画roc曲线 python

  python roc_auc_score,画roc曲线 python

  00-1010 ROC(受试者操作特征)曲线和AUC通常用于评估二元分类器。本文将首先简单介绍ROC和AUC,然后举例演示如何用python制作ROC曲线和计算AUC。

  00-1010 AUC(曲线下面积)是机器学习两类模型中非常常用的评价指标,对项目不平衡的容忍度比F1-Score更大。目前常见的机器学习数据库(如scikit-learn)一般都会集成这个指标的计算,但有时模型会单独编写或自己编写。这个时候,如果你想评价训练模型的好坏,你就得自己搭建一个auc计算模块。在本文中,我们发现libsvm-tools有一个非常容易理解的AUC计算,所以我们把它挖掘出来以备将来使用。

  

前言

AUC的计算分为以下三个步骤:

 

  1.计算数据的准备。如果模型训练时只有一个训练集,一般用交叉验证来计算。如果有评估集,可以直接计算。数据格式一般是需要的预测分数及其目标类别(注意是目标类别,不是预测类别)。

  2.根据阈值,获得水平(x :假阳性率)和垂直(y :真阳性率)点

  3.将坐标点连成曲线后,计算曲线下的面积,就是AUC的值。

  

AUC介绍

#!-*-coding=utf-8-*-将pylab作为pl导入

 

  从数学导入日志,exp,sqrt

  evaluate _ result= you file path db=[]#[score,nonclk,clk]pos,neg=0,0

  对于fs:中的行,open(evaluate_result, r )为fs:

  nonclk,clk,score=line.strip()。拆分( t )

  nonclk=int(nonclk)

  clk=int(clk)

  分数=浮点(分数)

  db.append([score,nonclk,clk])

  pos=clk

  neg=非时钟

  db=已排序(db,key=lambda x:x[0],reverse=True)

  #计算ROC坐标点XY _ ARR=[] TP,FP=0.0。

  对于范围内的I(len(db)):

  tp=db[i][2]

  fp=db[i][1]

  xy_arr.append([fp/neg,tp/pos])

  #计算曲线下的面积auc=0。

  如果x,则xy_arr:中的x,y的prev _ x=!=prev_x:

  auc=(x - prev_x) * y

  prev_x=x

  print AUC是%s,%auc

  x=[_v[0] for _v in xy_arr]

  y=[_v[1] for _v in xy_arr]

  pl.title(的ROC曲线%s (AUC=%.4f) % (svm ,AUC))

  pl.xlabel(假阳性率)

  pl.ylabel(“真实阳性率”)

  pl.plot(x,y)#使用pylab绘制x和y

  地方show () #以:的格式在屏幕上显示图形

  非时钟分数,其中:

  1.nonclick:的无上限数据可视为负样本数。

  2.clk:的点击次数可以视为正样本数。

  3.score:预测的分数。以此分数为一组对阳性和阴性样本进行预统计,可以减少AUC的计算量。

  的运行结果是:

  如果本机没有安装pylab,可以直接标注依赖关系,画一些注意.

  上面贴的代码是:

  1.只能计算第二分类的结果(至于第二分类的标签,随便处理)。

  2.在上面的代码中,每个分数都有一个阈值。其实这个效率是比较低的。可以对样本进行采样,也可以相等地计算横轴坐标。

  非常感谢您的阅读。

  大学的时候,我选择自学python。工作后发现自己苦于计算机基础不好,学历也不好。除了后天弥补之外,我别无选择。于是,我在编码之外开始了自己的逆袭之路,不断学习python的核心知识,深入学习计算机的基础知识,并进行整理。我放在我们的微信微信官方账号《程序员学府》。如果你不甘平庸,请加入编码之外的我,不断成长!

  其实这里不仅有技术,还有那些技术之外的东西。比如如何做一个精致的程序员而不是“屌丝”?程序员本身就是高尚的存在,不是吗?【点击加入】想做自己,做一个高尚的人,来吧!

  感谢您的阅读,希望您能从中获益良多。

  本文转自:https://blog.csdn.net/adrrry/article/details/106796288

  推荐教程:以上《python教程》是Python中绘制ROC曲线和AUC值计算(附代码)的详细内容。其他相关文章请多关注盛行的IT软件开发工作室!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: