[sklearn]性能度量之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的过程。
  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)
posted @ 2018-03-25 11:42  wanglei5205  阅读(17365)  评论(0编辑  收藏  举报
levels of contents