相信這個問題很多玩家都已經明白了,簡單的概括一下,auc(are under curve)是乙個模型的評價指標,用於分類任務。那麼這個指標代表什麼呢?這個指標想表達的含義,簡單來說其實就是隨機抽出一對樣本(乙個正樣本,乙個負樣本),然後用訓練得到的分類器來對這兩個樣本進行**,**得到正樣本的概率大於負樣本概率的概率。
具體參考auc計算方式和例子
最簡單的方法直接統計樣本對(positive,negative),計算出出正樣本得分大於負樣本的個數;
在有m個正樣本,n個負樣本的資料集裡。一共有mn對樣本(一對樣本即,乙個正樣本與乙個負樣本)。統計這mn對樣本裡,正樣本的**概率大於負樣本的**概率的個數。
第二種方法,公式法,非常常用,但是解釋的人不多。這裡著重解釋一下:
具體分析如下:類似的思想, y軸對應正樣本,x軸對應負樣本。則,y軸被m個正樣本平分為m份,x軸被n個負樣本平分成n份。從小到大排序後,第乙個正樣本的位置(序號,序號從0開始),就是其比負樣本得分大的個數;對於第二個正樣本,前面有已經1個正樣本了,所以負樣本個數為位置減去1,同理,第三個正樣本前面的負樣本個數為位置減去2,……,對於第m個正樣本,匹配的負樣本個數為位置序號減去m-1。 故而,分子就變成 所有正樣本的位置序號和,減去(0+1+2+……+m-1)=sum()-m*(m-1)/2. 若序號從1開始,則,=sum()-m -(0+1+2+……+m-1)=sum()-m(m+1)/2.
現在將得到的m+n個樣本得分從大到小排序;
然後,依次讀取這m+n樣本,從原點出發,如果是正樣本,則沿著y軸走1/m(一小格仔),接著取樣,得到第二個樣本,如果正繼續沿著y軸走,否則沿著x軸走1/n(一小格)。執行完之後,我們就可以得到roc曲線。
不失一般性,我們發現,roc和auc是一樣的思想。在積分的時候,我們橫著看,每一行(對應乙個正樣本)的格仔數就是我們auc公式中分析的負樣本個數。所以二者在此是一致的。
如何直觀理解AUC評價指標?
最近一直在思考如何直觀理解auc,查了維基百科的以及網上的講解描述,感覺仍然很難把這個概念表述得通俗易懂,直到昨天周會後拿筆在紙上畫了畫,感覺似乎找到了一種比較有意思的理解方法,下面就請各位看官容我慢慢道來。首先簡單介紹一下什麼是auc。根據維基百科的描述,auc area under the cu...
pytorch scatter直觀理解
簡單記錄一下pytorch scatter 的理解,官方解釋在 官方的例子如下,下面說說使用層面的直觀理解。src torch.arange 1,11 reshape 2,5 src tensor 1,2,3,4,5 6,7,8,9,10 index torch.tensor 0,1,2,0 tor...
對AUC的理解
auc是常見的對二類分類器的評價指標,其大小等於roc曲線下的面積。roc曲線的橫座標為false postive rate fpr 縱座標為true positive rate tpr false postive rate的計算法公式 fp r fp fp t n 其中,fp表示false pos...