查準率、查全率和F1
差準率:P=TP/TP+FP ?(預測結果和真實結果都為正的樣本占總的預測結果為正的樣本的比例
查全率:R=TP/TP+FP (預測結果和真實結果都為正的樣本占總的正樣本的比例
查準率和查全率是一對矛盾的度量,一般來說,查準率高時,查全率往往偏低;而查全率高時,查準率往往偏低。在信息檢索中,查準率就是檢索出的信息有多少比例是用戶感興趣的;查全率則是用戶感興趣的信息有多少被檢索出來。查準率分母中就包含了那些不是用戶感興趣的信息,但仍被預測為是用戶感興趣的而被檢索出來;查全率分母中則包含了那些是用戶感興趣的信息,但為被預測為用戶感興趣而被拋棄未檢索出來。
對于差準率和查全率的使用是需要按情況來確定那個更重要,例如地震的預測查全率更重要,不希望遺漏哪一次地震,但是對于給用戶推薦的廣告查準率更重要,要推薦給用戶更愿意點擊的廣告。
F1度量
可根據學習器的預測結果對樣例進行排序,排在前面的是學習器認為最可能是正例的樣本,排在最后的則是學習器認為最不可能是正例的樣本。按此順序逐個把樣本作為正例進行預測,則每次可以計算出當前的查全率、查準率,并以查準率為縱軸、查全率為橫軸構造查準率-查全率曲線,簡稱P-R曲線。
P-R曲線是非單調、不平滑的。P-R曲線可用來評估學習器的優劣。若一個學習器的P-R曲線被另一個學習器的P-R曲線完全包住,則后者的性能優于前者。如果兩個學習器的曲線發生交叉,則通過二者面積的大小來比較,面積大的表示查全率和查準率雙高比較優秀,但不太容易計算曲線(不平滑)的面積,因此通過平衡點(Break-Even Point,簡稱BEP)來度量。BEP是坐標上查準率等于查全率時的點,平衡點值越大,學習器越優秀。
用了簡單的圖來說明,紅色的點就是三條P-R曲線的BEP點,學習器A的曲線被C包住,C比較優秀,而C和B交叉,用面積計算難以估算,但C的BEP值大于B,所以C比較優秀。
ERP過于簡化,定義F1常量來比較學習器P-R曲線的性能:
F1度量:F1=(2*P*R)/(P+R)=2*TP/(樣例總數+TP-TN)
更一般的形式Fβ=(1+β2)*P*R/((β2*P)+R
其中β>0度量了查全率對查準率的相對重要性;β=1時就是標準的F1;β>1時偏好查全率;β<1時偏好查準率。
ROC和AUC
ROC和AUC類似,也是通過繪制兩個變量的概率圖像來解釋分類器效果的評判準則,ROC曲線的縱軸是“真正例率”TPR,橫軸是“假正例率”FPR。其中:
根據機器學習預測結果將樣例排序,然后把分類閾值設為最大,此時
。所以在坐標
處標記一個點。
把調整閾值為下一個樣例的預測值,此時這個樣例的預測為正例。
如果是真正例,那么:
即
如果是假正例,那么:
即
根據兩個坐標點的變化規律繪制出的曲線和P-R曲線相似,若一個學習器的ROC(受試者工作特征曲線)(Receiver Operating Characteristic)完全包圍住另一個曲線的ROC,可以斷言前者的性能優于后者的性能,但是對于兩者相互交錯的情況,我們可以通過判斷兩者的面積大小來決定哪個學習器更優。這個面積就被稱為AUC(Area Under ROC Curve)
形式化的看,AUC考慮的事樣本預測的排序質量,因此它與排序誤差有緊密聯系。
#例如:
表1.分類器預測結果
其中probability of 1為分類器判斷該樣本為陽性的概率,true class為該樣本的真實情況。
如果我們把threshold定位0.5,即去接觸id為1~8的客戶。此時
TPR= TP / 所有真實值為陽性的樣本個數 =6/6=1FPR= FP / 所有真實值為陰性的樣本個數 =2/4=0.6
同理,如果我們把threshold定位0.8,即去接觸id為1~5的客戶。此時
TPR= TP / 所有真實值為陽性的樣本個數 =4/6=0.67FPR= FP / 所有真實值為陰性的樣本個數 =1/4=0.25
這兩個threshold分別對應ROC空間中的兩個點A、B
圖3.不同的threshold對應ROC空間中不同的點
ROC曲線
上面的例子當中,共有10筆預測數據,則一共有11種threshold的設定方法,每一個threshold對應ROC空間中的一個點,把這些點連接起來,就成了ROC曲線。
圖4.ROC曲線
這里因為數據量太少,所以曲線是一折一折的,數據量大的時候,看上去才像”曲線”。
AUC (Area under the Curve of ROC) 曲線下面積
以下直接搬維基百科:
因為是在1x1的方格里求面積,AUC必在0~1之間。
假設threshold以上是陽性,以下是陰性;
若隨機抽取一個陽性樣本和一個陰性樣本,分類器正確判斷陽性樣本的值高于陰性樣本之機率。(即前文當中把C做一個鏡像變為C’)
簡單說:AUC值越大的分類器,正確率越高。
從AUC判斷分類器(預測模型)優劣的標準:
AUC = 1,是完美分類器,采用這個預測模型時,不管設定什么閾值都能得出完美預測。絕大多數預測的場合,不存在完美分類器。
0.5 < AUC < 1,優于隨機猜測。這個分類器(模型)妥善設定閾值的話,能有預測價值。
AUC = 0.5,跟隨機猜測一樣(例:丟銅板),模型沒有預測價值。
AUC < 0.5,比隨機猜測還差;但只要總是反預測而行,就優于隨機猜測,因此不存在AUC < 0.5的情況。
圖5.用AUC來衡量不同分類器的分類能力(更準確的說是排序能力)
參考文獻:機器學習-周志華