小書匠
深度學習
分類方法常用的評估模型好壞的方法.
假設我現在有乙個二分類任務,是分析100封郵件是否是垃圾郵件,其中不是垃圾郵件有65封,是垃圾郵件有35封.模型最終給郵件的結論只有兩個:是垃圾郵件與 不是垃圾郵件.
經過自己的努力,自己設計了模型,得到了結果,分類結果如下:
現在我們設定,不是垃圾郵件.為正樣本,是垃圾郵件為負樣本
我們一般使用四個符號表示**的所有情況:
先看最終的計算公式:
關注**為正樣本的資料(可能包含負樣本)中,真實正樣本的比例
計算公式
例子解釋:對上前面例子,關注的部分就是**結果
的70封不是垃圾郵件中真實不是垃圾郵件占該**結果的比率,現在precision=60/(600+10)=85.71%
關注真實正樣本的資料(不包含任何負樣本)中,正確**的比例
計算公式
例子解釋:對上前面例子,關注的部分就是真實有65封不是垃圾郵件,這其中你的**結果中有多少**正確了,recall=60/(60+5)=92.31%
β是用來平衡precision,recall在f-score計算中的權重,取值情況有以下三種:
一般情況下,β取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)
分類模型的評價
假如某個班級有男生80人,女生20人,共計100人。目標是找出所有女生。現在某人挑選出50個人,其中20人是女生,另外還錯誤的把30個男生也當作女生挑選出來了。評估 evaluation 下他的工作。1 accuracy 準確率 0 1損失。分類器 某人 正確分類的樣本數 總樣本數,即20 50 1...
分類模型的評價
1 二分類模型 指標計算 備註精準率 precision precision tp tp fp 在所有被 為陽性的測試資料中,真正是陽性的比率。越大越好 召回率 recall recall tp tp fn 在所有實際為陽性的測試資料中,真正是陽性的比率。越大越好 f1score f1score 2...
分類模型的評估方法 F分數 F Score
前面介紹了機器學習中分類模型的精確率 precision 和召回率 recall 評估指標。對於precision和recall,雖然從計算公式來看,並沒有什麼必然的相關性關係,但是,在大規模資料集合中,這2個指標往往是相互制約的。理想情況下做到兩個指標都高當然最好,但一般情況下,precision...