机器学习算法中的准确率、精确率、召回率和F值

机器学习中有三个评价指标,即准确率(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的加权调和平均:

当参数α=1时,就是常见的F1,即

精确度和召回率成负相关,即其中一个变大,另一个就会变小,我没期望两个值都越大越好,所以引入了F值,当精确度和召回率都最大时F值达到最大。

代码实现

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)

详细信息参考官方文档

你可能感兴趣的:(机器学习算法中的准确率、精确率、召回率和F值)