ROC和AUC的理解

2021-09-04 10:20:59 字數 1650 閱讀 8259

roc

roc經常被用來評價乙個二值分類器的優劣。

舉個例子,有10個樣本。分類器會計算出經過啟用函式前的score,假設score範圍是(0,1)。根據score從左到右按降序排序。

1,如果分類器效果很好,將樣本完美**。pppppnnnnn(p表示label為正,n表示label為負)

2,如果分類器效果很差,將樣本全部**錯誤。nnnnnppppp

3,如果分類器將樣本**為  pnpnpnpnpn

通過控制閾值來畫出roc,例如以下例子。 score為閾值

每次選取乙個不同的threshold,我們就可以得到一組fpr和tpr,即roc曲線上的一點。這樣一來,我們一共得到了20組fpr和tpr的值,將它們畫在roc曲線的結果如下圖:

當我們將threshold設定為1和0時,分別可以得到roc曲線上的(0,0)和(1,1)兩個點。將這些(fpr,tpr)對連線起來,就得到了roc曲線。當threshold取值越多,roc曲線越平滑。

auc值的計算

auc(area under curve)被定義為roc曲線下的面積,顯然這個面積的數值不會大於1。又由於roc曲線一般都處於y=x這條直線的上方,所以auc的取值範圍在0.5和1之間。使用auc值作為評價標準是因為很多時候roc曲線並不能清晰的說明哪個分類器的效果更好,而作為乙個數值,對應auc更大的分類器效果更好。

auc意味著什麼

那麼auc值的含義是什麼呢?

首先auc值是乙個概率值,當你隨機挑選乙個正樣本以及乙個負樣本,當前的分類演算法根據計算得到的score值將這個正樣本排在負樣本前面的概率就是auc值。當然,auc值越大,當前的分類演算法越有可能將正樣本排在負樣本前面,即能夠更好的分類。

例如,分類器將樣本分為pppnppnnnn,那麼從中隨意挑選乙個p和乙個n,p在n左邊的概率就是auc的值。 1-0.2*0.4=0.6

ROC曲線和AUC面積

本博文所有理論都是基於二分類,多分類問題其實與二分類問題相通。考慮乙個二分問題,如果一類定為正類 positive 那麼另一類就是負類 negative 注意和正樣本和負樣本概念不同,參考博文 真正類 true positive 例項是正類並且也被 成正類 假正類 false positive 例項...

ROC曲線和AUC指標

roc曲線的橫軸就是fprate,縱軸就是tprate,二者相等時表示的意義則是 對於不論真實類別是1還是0的樣本,分類器 為1的概率是相等的,此時auc為0.5 圖中藍色的線則是roc曲線,roc曲線和橫軸 縱軸圍成的面積就是auc指標。fpr fp fp tn from sklearn.metr...

AUC和ROC曲線的前世今生

auc數值即為roc曲線下的面積。roc曲線從0點開始上公升越快,說明模型錯分正樣本的比例越小,模型對正樣本識別的能力越強。在roc曲線的基礎上,拋開閾值的調節,roc曲線下半部分的面積值就是auc值。auc值介於0到1之間,是一種概率值。本質上auc是在模型 的資料集中,比較正負樣本,評估正樣本分...