評估與指標
準確率(accuracy)
/ AK-yur-uh-see /
準確率是一個分類器能拿到的最簡單的成績單:在它做出的所有預測裡,答對了多大比例?把100封郵件判為是不是垃圾郵件,答對了其中92封,準確率就是92%。大多數人最先想到的就是這個數字,因為它回答了那個最顯而易見的問題——這東西多久對一次?
嚴格地說,準確率等於預測正確的次數除以預測的總次數,它把所有類型的「對」都混在一起算(既包括對的「是」,也包括對的「否」)。取值從0到1,或者說0到100%,越大越好。它需要你事先就知道真實答案的帶標註樣本,這樣才能拿模型的猜測去和現實對照。
它老老實實的弱點是:當各類別的數量很懸殊時,它會嚴重地誤導人。假設每100筆交易裡有99筆是正常的,只有1筆是詐欺。一個偷懶的模型只要一律宣稱「全是正常」,就能拿到99%的準確率,卻一筆詐欺都沒抓到——毫無用處,看起來卻好得很。只要有一種結果是稀有的,光看準確率就會掩蓋掉那個真正要緊的失敗,這時你必須轉而去看精確率、召回率或混淆矩陣。
某項體檢篩查了1000人,其中真正患病的有10人。模型把每個人都標為「健康」。它只在10個人身上判錯,於是準確率=990/1000=99%。然而它一個病人也沒查出來——這正是「99%的準確率也可能是個毫無價值的模型」的絕佳例子。
高準確率,零用處:為什麼類別不平衡會讓最簡單的指標失效。
在相信一個準確率數字之前,先問問類別比例。在50/50的情況下它有意義;在99/1的情況下,單看它幾乎一文不值。一個有用的檢驗:你的模型,比起「永遠預測多數類」這個最簡單的基線,到底強多少?
又稱
另見