python计算auc指标实例

yipeiwu_com7年前Python基础

1、安装scikit-learn

1.1Scikit-learn 依赖

Python (>= 2.6 or >= 3.3),
NumPy (>= 1.6.1),
SciPy (>= 0.9).

分别查看上述三个依赖的版本,

python -V 结果:Python 2.7.3
python -c 'import scipy; print scipy.version.version' scipy版本结果:0.9.0
python -c "import numpy; print numpy.version.version" numpy结果:1.10.2

1.2 Scikit-learn安装

如果你已经安装了NumPy、SciPy和python并且均满足1.1中所需的条件,那么可以直接运行sudo pip install -U scikit-learn 执行安装。

2、计算auc指标

 import numpy as np
 from sklearn.metrics import roc_auc_score
 y_true = np.array([0, 0, 1, 1])
 y_scores = np.array([0.1, 0.4, 0.35, 0.8])
 roc_auc_score(y_true, y_scores)

输出:0.75

3、计算roc曲线

 import numpy as np
 from sklearn import metrics
 y = np.array([1, 1, 2, 2])  #实际值
 scores = np.array([0.1, 0.4, 0.35, 0.8]) #预测值
 fpr, tpr, thresholds = metrics.roc_curve(y, scores, pos_label=2) #pos_label=2,表示值为2的实际值为正样本
 print fpr
 print tpr
 print thresholds

输出:
array([ 0. , 0.5, 0.5, 1. ])
array([ 0.5, 0.5, 1. , 1. ])
array([ 0.8 , 0.4 , 0.35, 0.1 ])

以上这篇python计算auc指标实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python 获取一个值在某个区间的指定倍数的值方法

如下所示: #获取一个值在某个区间的指定倍数的值方法 #1 # print([i for i in range(1,101) if i%5==0]) # 2 # L = rang...

使用Python编写一个在Linux下实现截图分享的脚本的教程

引子 Linux下不支持QQ等功能丰富的IM,虽然可以通过wine运行QQ2012,但是还是喜欢在gtalk群中聊天,gtalk群不支持图片方式,这就要靠我们大家自己来解决了,eleve...

Python中的字典与成员运算符初步探究

Python中的字典与成员运算符初步探究

Python元字典 字典(dictionary)是除列表以外python之中最灵活的内置数据结构类型。列表是有序的对象结合,字典是无序的对象集合。 两者之间的区别在于:字典当中的元素是通...

Python实现的栈(Stack)

前言 Python本身已有顺序表(List、Tupple)的实现,所以这里从栈开始。 什么是栈 想象一摞被堆起来的书,这就是栈。这堆书的特点是,最后被堆进去的书,永远在最上面。从这堆书里...

Python数据类型详解(二)列表

一.基本数据类型   整数:int   字符串:str(注:\t等于一个tab键)   布尔值: bool   列表:list (元素的集合)   列表用[]   元祖:tuple  ...