原創博文,轉載請注明出處!
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)