在統計學,卡方檢定的章節裡,有提到一個東西叫混淆矩陣
其中FP又叫Type1error,FN叫Type2error
Positive、Negative表示預測結果是正還是負,True、False表示根據實際情況預測結果正確與錯誤
而準確度就是基於混淆矩陣去計算的,常用的主要有4個 :
accuracy、precosion、recall、f-score
Accuracy (正確率) :
Accuracy的值可看出預測結果正確與不正確的比率,但也存一個bug,
如果今天正確答案好跟壞的比率是9:1,那是不是系統全部盲猜好,accuracy是90%,就表示真的好?
這個評估指標在target分類不平均的時候,不太具參考價值,因此也就有以下兩個指標的誕生
Precision(精確率):
表預測結果為正中,實際為正的比例
Recall(召回率):
表實際為正裡面,被預測為正的比例
而precision跟recall看似只是前後顛倒,所著重的地方卻不相同
precision表預測結果為正中,實際為正的比例。同樣的就可以看出有多少實際為負卻被預測在正裡頭。
recall表實際為正裡面,被預測為正的比例。可看出有多少實際為正卻被預測在負。
我在ithelp上看到一個很好的比喻
愛之味的廠商使用機器去分類花生的好壞
precision在意的是電腦不小心把多少壞花生放到產品裡面。這對愛之味的公關部門來說會是一個滿重要的指標,畢竟不能讓消費者吃到壞掉的花生之後來投訴。
recall在意的是有多少明明是好花生卻被丟掉的原料。這個部分對愛之味的財務部門來說可能就會是比較重要的指標,因為丟掉的花生越多,要再購買的原料就越多。
F-score
竟然Precision跟Recall在不同角度下各有優缺,那要如何找到一個最適合的評估方法?
這個叫做調和平均數,是一種平均數的算法,這樣一來就可以解決打架的問題了。
(當然不會用一般算術平均數或幾何去算,有點不符合邏輯)