当前位置:首页 >> 脚本专栏

python计算auc的方法

1、安装scikit-learn

1.1 Scikit-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 ])