性能度量之AUC值(from sklearn.metrics import roc_auc_curve)
性能度量之AUC值(from sklearn.metrics import roc_auc_curve)
1.AUC
AUC(Area Under ROC Curve),即ROC曲线下面积。
2.AUC意义
若学习器A的ROC曲线被学习器B的ROC曲线包围,则学习器B的性能优于学习器A的性能;若学习器A的ROC曲线和学习器B的ROC曲线交叉,则比较二者ROC曲线下的面积大小,即比较AUC的大小,AUC值越大,性能越好。
3.sklearn中计算AUC值的方法
- 形式:
from sklearn.metrics import roc_auc_score
auc_score = roc_auc_score(y_test,y_pred)
-
说明:
-
- y_pred即可以是类别,也可以是概率。
- roc_auc_score直接根据真实值和预测值计算auc值,省略计算roc的过程。
[
](javascript:void(0)😉
1 # -*- coding: utf-8 -*-
2 """
3 # 作者:wanglei5205
4 # 邮箱:wanglei5205@126.com
5 # 博客:http://cnblogs.com/wanglei5205
6 # github:http://github.com/wanglei5205
7 """
8
9 ### 真实值和预测值
10 import numpy as np
11 y_test = np.array([0,0,1,1])
12 y_pred1 = np.array([0.3,0.2,0.25,0.7])
13 y_pred2 = np.array([0,0,1,0])
14
15 ### 性能度量auc
16 from sklearn.metrics import roc_auc_score
17
18 # 预测值是概率
19 auc_score1 = roc_auc_score(y_test,y_pred1)
20 print(auc_score1)
21
22 # 预测值是类别
23 auc_score2 = roc_auc_score(y_test,y_pred2)
24 print(auc_score2)

浙公网安备 33010602011771号