auc計算公式 AUC與logloss

2021-10-11 06:02:33 字數 2356 閱讀 3249

在ctr預估中,auc(area under curve)用於衡量排序能力,auc值為roc曲線下的面積,是乙個概率值,越大越好。簡單來說這個指標的含義其實就是隨機抽出一對樣本(乙個正樣本,乙個負樣本),然後用訓練得到的分類器來對這兩個樣本進行**,**得到正樣本的概率大於負樣本概率的概率。

auc是乙個二分類模型的評價指標,還有很多其他指標比如logloss,accuracy,precision。在資料探勘比賽中,auc和logloss比accuracy更常用。因為很多機器學習的模型對分類問題的**結果都是概率,如果要計算accuracy,需要先把概率轉化成類別,這就需要手動設定乙個閾值,如果對乙個樣本的**概率高於閾值,那該樣本就被**為正樣本,低於這個閾值,則為負樣本。所以這個閾值很大程度上影響了accuracy的計算。然而,使用auc和logloss可以避免把**概率轉換成類別。

方法一:

在有m個正樣本,n個負樣本的資料集裡。一共有m*n對樣本(一對樣本包括乙個正樣本與乙個負樣本)。統計這m*n對樣本裡,樣本對的平均得分(正樣本概率大於負樣本概率得1分,正樣本概率等於負樣本概率得0.5分,否則不得分)。

其中,

idlabel

probabilitya0

0.4b

00.3c1

0.3d

10.7e1

0.5 舉例:

假設有5條樣本。3個正樣本,2個負樣本,那麼m*n=6。即總共有6個樣本對。分別是:(d,b)、(d,a)、(c,b)、(c,a)、(e,b)、(e,a)。

在(d,b)樣本對中,正樣本d**的概率大於負樣本b**的概率,得分為1。同理可得(d,a)、(e,b)、(e,a)的得分均為1。此外,對於(c,a)。正樣本c**的概率小於負樣本a**的概率,得分為0。而(c,b)中,正樣本c**的概率等於負樣本b**的概率,得分為0.5

最後可以算得:

方法二:

另外乙個方法就是套公式:

其中:m,n分別是正樣本的個數和負樣本的個數。

從小到大排,排在第rank個位置)。

舉例:idlabel

probability

rank(從小到大培訓,一樣大排名取平均)a0

0.43b0

0.31.5=(1+2)/2c1

0.31.5=(1+2)/2d1

0.75e1

0.54

按照上面的公式,只把正樣本的序號加起來也就是只把樣本c,d的rank值加起來後減去乙個常數項m(m+1)/2

即:

真實實驗中,許多任務具包都已經有封裝好的函式庫可以直接呼叫,舉例如何調sklearn中auc方法。

import
logloss越小越好,物理意義為:衡量預估ctr與實際ctr的擬合程度。計算公式如下:

其中n為樣本總數,label表示樣本的真實標籤,ectr表示ctr的預估值。

舉例:id

形象理解AUC計算公式

auc是評價乙個二分類器效能的主流數值指標,定義為roc曲線下方的面積,但這個算起來比較複雜,需要統計假陽性。另乙個定義更直觀,隨機給乙個正樣本和乙個負樣本,多大概率正樣本的score更高。換一種說法,假設正樣本有m mm個,負樣本有n nn個,在所有m n m nm n個正負樣本對中,有多少正樣本...

auc計算公式的理解

對於auc的計算參考 m是正樣本的個數,n是負樣本的個數 如何理解分子,下面是我個人的理解。總體原則 負樣本數 樣本總數 正樣本數,然後構造樣本總數 每次取概率不同的正樣本,其排序也不一樣,構造樣本總數的表達方式也不一樣 rank1,樣本總數為rank1 rank2 再加1個就是樣本總數,為rank...

機器學習評價指標AUC計算公式

auc are under curve 是乙個模型的評價指標,用於分類任務。那麼這個指標代表什麼呢?這個指標想表達的含義,簡單來說其實就是隨機抽出一對樣本 乙個正樣本,乙個負樣本 然後用訓練得到的分類器來對這兩個樣本進行 得到正樣本的概率大於負樣本概率的概率。在有m個正樣本,n個負樣本的資料集裡。一...