sklearn.metrics.auc解析
阿新 • • 發佈:2018-12-03
官方地址:點選開啟連結
形式:sklearn.metrics.
auc
(x, y, reorder=False)
規則:利用梯形法則計算曲線下的面積(AUC)。
Parameters: | x : array, shape = [n]
y : array, shape = [n]
reorder : boolean, optional (default=False)
|
---|
Returns: | auc : float |
---|
舉例:由之前sklearn.metrics.roc_curve()衍生而來。具體詳見https://blog.csdn.net/u014264373/article/details/80487766
已經得到了FPR.TPR,由此就得到了橫縱座標,然後用高數中學習的計算曲面面積的方法,也就梯度法(一種積分方法來計算曲線下面積)
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) print(fpr,'\n',tpr,'\n',thresholds)
這個比較簡單,繪圖如下:
就是計算黃色部分的面積,口算都可得到AUC=0.75
但是複雜的資料還是要用標準的演算法,詳細過程可以參考部落格,寫的很好:點選開啟連結
只想知道怎麼使用,不用知道原理的,計算程式碼如下:
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) print(fpr,'\n',tpr,'\n',thresholds) print(metrics.auc(fpr,tpr))