1. 程式人生 > >二分類問題F-score評判指標(轉載)

二分類問題F-score評判指標(轉載)

ati ria 比例 csdn 但是 https 假設 tail rgb

小書匠深度學習

分類方法常用的評估模型好壞的方法.

0.預設問題

假設我現在有一個二分類任務,是分析100封郵件是否是垃圾郵件,其中不是垃圾郵件有65封,是垃圾郵件有35封.模型最終給郵件的結論只有兩個:是垃圾郵件不是垃圾郵件.

經過自己的努力,自己設計了模型,得到了結果,分類結果如下:

  • 不是垃圾郵件70封(其中真實不是垃圾郵件60封,是垃圾郵件有10封)
  • 是垃圾郵件30封(其中真實是垃圾郵件25封,不是垃圾郵件5封)

現在我們設置,不是垃圾郵件

.為正樣本,是垃圾郵件為負樣本
我們一般使用四個符號表示預測的所有情況:

  • TP(真陽性):正樣本被正確預測為正樣本,例子中的60
  • FP(假陽性):負樣本被錯誤預測為正樣本,例子中的10
  • TN(真陰性):負樣本被正確預測為負樣本,例子中的25
  • FN(假陰性):正樣本被錯誤預測為負樣本,例子中的5

1.評價方法介紹

先看最終的計算公式:

技術分享圖片

1.Precision(精確率)

關註預測為正樣本的數據(可能包含負樣本)中,真實正樣本的比例
計算公式

技術分享圖片

例子解釋:對上前面例子,關註的部分就是預測結果的70封不是垃圾郵件中真實不是垃圾郵件占該預測結果的比率,現在Precision=60/(600+10)=85.71%

2.Recall(召回率)

關註真實正樣本的數據(不包含任何負樣本)中,正確預測的比例
計算公式

技術分享圖片

例子解釋:對上前面例子,關註的部分就是真實有65封不是垃圾郵件,這其中你的預測結果中有多少預測正確了,Recall=60/(60+5)=92.31%

3.F-score中β值的介紹

β是用來平衡Precision,Recall在F-score計算中的權重,取值情況有以下三種:

  • 如果取1,表示Precision與Recall一樣重要
  • 如果取小於1,表示Precision比Recall重要
  • 如果取大於1,表示Recall比Precision重要

一般情況下,β取1,認為兩個指標一樣重要.此時F-score的計算公式為:

技術分享圖片

前面計算的結果,得到Fscore=(2*0.8571*0.9231)/(0.8571+0.9231)=88.89%

3.其他考慮
預測模型無非就是兩個結果

  • 準確預測(不管是正樣子預測為正樣本,還是負樣本預測為負樣本)
  • 錯誤預測

那我就可以直接按照下面的公式求預測準確率,用這個值來評估模型準確率不就行了

技術分享圖片

那為什麽還要那麽復雜算各種值.理由是一般而言:負樣本遠大於正樣本

可以想象,兩個模型的TN變化不大的情況下,但是TP在兩個模型上有不同的值,TN>>TP是不是可以推斷出:兩個模型的(TN+TP)近似相等.這不就意味著兩個模型按照以上公式計算的Accuracy近似相等了.那用這個指標有什麽用!!!

所以說,對於這種情況的二分類問題,一般使用Fscore去評估模型.

需要註意的是:Fscore只用來評估二分類的模型,Accuracy沒有這限制

參考
1.機器學習中的 precision、recall、accuracy、F1 Score
2.分類模型的評估方法-F分數(F-Score)

二分類問題F-score評判指標(轉載)