泛統計理論初探——機器學習預測評價指標

數據挖掘-介紹預測評價指標

機器學習預測指標簡介
在我們學習數據挖掘的過程中,在剛開始學習的時候認爲只要預測正確的準確率越高的模型一定是越好的,但是當我們往後學習的時候,接觸到了一些新的問題的時候,我們會發現最開始衡量預測正確的準確率指標是不夠客觀的,下面來介紹一些常見的機器學習的預測指標,以此學習更爲客觀合理的評價指標。
首先我們來看傳統的預測評價指標,即準確率。準確率=預測正確數/總數
這種指標有一個問題,當樣本標記不均衡的時候,會出現問題。舉個例子,當一個保險客戶羣體中,共有1000個客戶,總資產在5000萬以上的客戶有10位,而總資產低於5000萬的有990位。在這種情況下,如果不用任何模型,直接進行預測,將所有客戶都預測爲總資產低於5000萬即可,這樣預測準確率是99%,而這種指標是存在問題的,因爲收入高的人羣本身是較少的,所以這個指標並沒有反映出不同羣體的預測準確率,因爲從資產5000萬以上的客戶羣體來看,預測的正確率爲0。
在這個基礎上,我們引出了精確率、召回率這兩個指標。這兩個指標其實是較爲矛盾的兩個維度的指標,精確率反映的是查準率,即預測的準確性;召回率反映的是查全率,即預測覆蓋的完整性。從定義上看,精確率代表的是正確預測爲正樣本數量佔全部預測爲正樣本數量的比例。而召回率代表的是正確預測爲正樣本數量佔全部實際爲正樣本數量的比例。我們可以通過例子進行說明:
某電商正在做用戶畫像分析,要找出所有的女性用戶,現有200位用戶,女性用戶有160位,男性用戶爲40位。通過某統計模型進行建模,任意抽取100名女性用戶的數據進行預測,得到預測結果爲,女性用戶有90位,男性用戶有10位。

預測結果 女性實際數量 男性實際數量
女性預測數量 TP=90 FP=10
男性預測數量 FN=70 TN=30

這個時候傳統的準確率是60%,即準確率=(TP+TN)/ALL=(90+30)/200=60%
從準確率來看,這個指標是不夠客觀的,因爲它沒有反映出具體的女性羣體和男性羣體的預測準確率。我們嘗試使用精確率和召回率進行計算:
精確率=TP/(TP+FP)=90/(90+10)=90%
召回率=TP/(TP+FN)=90/(90+70)=56.25%
我們發現,這個模型的精確率是比較高的,達到了90%,但是召回率卻不是很高,還沒達到60%。我們在這裏引入一個協調精確率和召回率的指標,即F1-Score,這個指標定義是精確率和召回率的調和平均數,即:
F1-Score=2精確率召回率/(精確率+召回率)
在這個例子中,F1-Score=20.90.5625/(0.9+0.5625)=69.23%,即該模型的預測F1-Score是69.23%,是較爲合理的衡量值。
在這個基礎上,我們引入一個ROC曲線,這個曲線的縱座標是TPR,TPR=TP/(TP+FN) 即代表預測準確的比率,橫座標是FPR,FPR=FP/(FP+TN) 代表的是預測錯誤比例。當使用者調整參數或者閾值時,會計算得到不同的預測值,即曲線上的一個點,將這些點連起來後得到ROC曲線。ROC曲線一般在y=x正上方,形狀如下圖:
在這裏插入圖片描述
通過ROC曲線我們詳細的看到TPR和FPR的關係,並且通過計算ROC的面積可以得到更爲客觀的準確率,這個ROC面積我們叫做AUC值。通常來說,AUC值越大並且越接近於1預測效果越好。
綜上所述,我們瞭解了傳統的指標侷限性,引出了精準率和召回率指標,並通過計算調和平均數F1-Score將兩個指標進行平均。從另一個角度來說,ROC曲線可以客觀地反映預測效果,即通過TPR和FPR的關係進行觀察,最終計算得到的AUC值是較爲客觀的值,並且AUC值受樣本自身的標記情況影響不大,是一個較爲穩健的預測評價指標。

發佈了29 篇原創文章 · 獲贊 30 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章