【機器學習】精確率與召回率
阿新 • • 發佈:2018-12-31
偏斜類
正類和負類的比例失衡,比如存在99%的正類和1%的負類,當演算法的輸出恆為1時,此時的錯誤率也只有1%,在這種情況下,並不能夠很好地估計模型的泛化能力。
定義
- TP(True Positive),表示模型預測為正樣本,實際上為正樣本。
- FP(False Positive),表示模型預測為正樣本,實際上為負樣本。
- FN(False Negative),表示模型預測為負樣本,實際上為正樣本
- TN(True Negative),表示模型預測為負樣本,實際上為負樣本。
準確率(Accuracy)
準確率表示模型預測正確的正樣本和負樣本佔所有樣本的比例。公式為
精確率(Precision)
精確率表示模型預測正確的正樣本佔所有預測正樣本的比例。公式為
召回率(Recall)
召回率表示模型預測正確的正樣本佔所有實際正樣本的比例。公式為
Score(F score)
定義 ,當精確率接近0,或者召回率接近0時,都會得到一個很低的F值。當精確率為1,召回率也為1時,F值為1。因此F值可以用來為我們選擇一個較好的臨界值。
臨界值
通常我們將模型預測輸出大於等於0.5的預測為正樣本,小於0.5的預測為負樣本。假設我們的模型是在預測病人是否患癌症
如果我們想要較高的精確率,可以將閾值調高,保證我們的模型能夠較為準確地找出患癌的人,並且不會將沒患癌症的人識別為患癌,但是相對的,此時的召回率會更低。
如果我們想要較高的精確率,可以將閾值調低,保證我們能夠找出更多實際患病的人,但是此時被誤判為患癌的正常人可能更多,也就是精確率會下降。
總結
在模型預測恆為0的情況下,精確率和召回率都為0,因此能夠說明此時模型的表現並不是很好。對樣本失衡的情況,利用召回率和精確率,能夠較好地評估模型的好與壞。同時利用F值,我們可以挑選出合適的臨界值來使得模型表現更好。