Precision, recall, and accuracy
目前聽到 precision / recall 時,還沒能夠很直覺地理解它的意義。
因此整理了一下定義及例子,設法加強直覺性的理解。
定義:
Precision=# of of true positives# of predicted positives=# of true positives# of true positives + # of false positives意義:
Recall=# of true positives# of actual positives=# of true positives# of true positives + # of false negatives
Accuracy=# of true positives + # of true negatives# of actual positives + # of actual negatives
(假設預測一個案例是 positive 或 negative)以癌症預測演算法為例:
Precision: 預測是 positive 的案例中,真的是 positive 的比例。(對於 positive 預測正確的比例,預測的準確度)
Recall: 在 positive 案例中,正確預測是 positive 的比例。(對於 positive 案例回想正確的比例)
Accuracy: 在所有案例中,對於 positive 及 negative 預測正確的比例。
只看 accuracy 容易有盲點,以上述的例子,因為在所有檢測的人之中,實際上有癌症的人比例很低,演算法只要盡量往沒有癌症的方向猜,就可以達到比較高的 accuracy。
Precision 是衡量在所有演算法預測為有癌症的人之中,多少比例的人實際上有癌症。
Recall 是衡量在所有實際上有癌症的人之中,多少比例的人被演算法預測為有癌症。
Accuracy 是衡量在所有檢測的人之中,多少比例的人被演算法預測正確。
Precision=77+5=0.58
Recall=77+8=0.47
Accuracy=7+807+8+5+80=0.87
在上面這個極端的例子:
Precision=11+1=0.5
Recall=11+14=0.07
Accuracy=1+841+14+1+84=0.85
Sensitivity and specificity
Sensitivity=Recall=True Positive Rate=# of true positives# of actual positives
Specificity=True Negative Rate=# of true negatives# of actual negatives
意義:
(假設預測一個案例是 positive 或 negative)以癌症預測演算法為例:
Sensitivity: 在 positive 案例中,正確預測是 positive 的比例。
Specificity: 在 negative 案例中,正確預測是 negative 的比例。
Sensitivity 是衡量在所有實際上有癌症的人之中,多少比例的人被演算法預測為有癌症。
Specificity 是衡量在所有實際上沒有癌症的人之中,多少比例的人被演算法預測為沒有癌症。
Sensitivity=77+8=0.47
Specificity=805+80=0.94
參考資料
[WiKi] Precision and recall
[WiKi] Sensitivity and specificity