目录
以分类问题为例
标签1 | 标签0 | |
预测1 | TP | FP |
预测0 | FN | TN |
1.TP(True Positive)真正例:表示预测为真,实际也为真
2.FP(False Positive)假正例:表示预测为真,实际为假
3.TN(True Negetive)真负例:表示预测为假,实际为假
4.FN(False Negetive)假负例:表示预测为假,实际为真
扫描二维码关注公众号,回复:
12620311 查看本文章
1.准确率(Accuracy)
即所有预测都正确的比率:
2.精确率(Precision)
查准率,正确预测为正占全部预测为正的比例,全部预测为1中实际标签为1的比率:
3.召回率(Recall)
查全率,正确预测为正占全部正样本的比例。实际标签为1中正确预测为1的比率:
4.F值(F-measure)
F-measure是Precision和Recall的加权调和平均:
当时
利用Python中的sklearn实现上述公式计算
方法一
# 构建混淆矩阵
from sklearn.metrics import confusion_matrix
confusion_matrix(y_test_labels, y_pred_labels)
# 精准率与召回率
from sklearn.metrics import accuracy_score, precision_score, recall_score
print(accuracy_score(y_test_labels, y_pred_labels))
print('-========')
print(precision_score(y_test_labels, y_pred_labels))
print('-========')
print(recall_score(y_test_labels, y_pred_labels))
# f1 score
from sklearn.metrics import f1_score
f1_score(y_test_labels, y_pred_labels)
方法二
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)