機器學習中有三個評價指標统诺,即準確率(accuracy)歪脏、精確率(precision)、召回率(recall)和F值(F-measure)粮呢。下面對它所表達的意思進行講解婿失。
分類為題
對于一個二分類問題钞艇,它有四種情況:
如果一個實例是正類,它被分為正類豪硅,記為 真正(True Positive)哩照;
如果一個實例是正類,它被分為負類舟误,記為 假負(False Negative)葡秒;
如果一個實例是負類,它被分為正類嵌溢,記為 假正(False Positive)眯牧;
如果一個實例是負類,它被分為負類赖草,記為 真負(True Negative)学少。
在表格中可以表示為:
真實1 | 真實0 | |
---|---|---|
預測1 | TP | FP |
預測0 | FN | TN |
準確率、精確率秧骑、召回率版确、F值
1.準確率(Accuracy)
即所有預測都正確的比率:
2.精確率(Precision)
查準率,全部預測為1中實際標簽為1的比率:
3.召回率(Recall)
查全率乎折,實際標簽為1中正確預測為1的比率:
4.F值(F-measure)
F-measure是Precision和Recall的加權調和平均:
當參數(shù)α=1時绒疗,就是常見的F1,即
精確度和召回率成負相關骂澄,即其中一個變大吓蘑,另一個就會變小,我沒期望兩個值都越大越好坟冲,所以引入了F值磨镶,當精確度和召回率都最大時F值達到最大。
代碼實現(xiàn)
from sklearn.metrics import precision_recall_fscore_support
precision, recall, f1score, support = precision_recall_fscore_support(y_true, y_pred, beta=1.0, labels=None,
pos_label=1, average=None, warn_for=(‘precision’, ’recall’, ’f-score’), sample_weight=None)
詳細信息參考官方文檔