模型评价指标:精准率(Precision)、召回率(Recall)和准确率(Accuracy)

  机器学习做分类任务得到结果后,往往需要一些指标来评价模型效果,常用到的就有精准率(Precision)、召回率(Recall)和准确率(Accuracy),在不同场景需要看不同指标。

  下图表示的是一个二分类的混淆矩阵:

真实值\预测值 Positive(1) Negative(0)
Positive(1) True Positive
(TP)
False Positive
(FP)
Negative(0) False Negative
(FN)
True Negative
(TN)

  TP,预测是正样本(1),真实为正样本(1),预测对了;
  FN,预测是负样本(0),真实为正样本(1),预测错了
  FP,预测是正样本(1),真实为负样本(0),预测错了;
  TN:预测是负样本(0),真实为负样本(0),预测对了

精准率(Precision)

精准率(Precision)又称查准率:预测为正的样本中真实为正的样本。
模型评价指标:精准率(Precision)、召回率(Recall)和准确率(Accuracy)_第1张图片
P r e c i s i o n = T P / ( T P + F P ) Precision = TP/(TP+FP) Precision=TP/(TP+FP)

召回率(Recall)

  召回率(Recall)又称查全率:真实为正的样本中预测为正的样本。

模型评价指标:精准率(Precision)、召回率(Recall)和准确率(Accuracy)_第2张图片
r e c a l l = T P / ( T P + F N ) recall = TP/(TP+FN) recall=TP/(TP+FN)

准确率(Accuracy)

  准确率(Accuracy):预测某类正确的样本比例
模型评价指标:精准率(Precision)、召回率(Recall)和准确率(Accuracy)_第3张图片
A c c u r a c y = ( T P + T N ) / ( T P + T N + F P + F N ) Accuracy = (TP+TN)/(TP+TN+FP+FN) Accuracy=(TP+TN)/(TP+TN+FP+FN)

举个栗子

  假设银行有1000个信用卡客户,其中有10名欺诈用户。现有一个分类器检测这1000个信用卡客户,结果预测出20个欺诈用户,其中有4名真正的欺诈用户,另外16名实际上为非欺诈用户,则混淆矩阵如下:

真实值\预测值 Positive(1) Negative(0)
Positive(1) True Positive
(TP=4)
False Positive
(FP=16)
Negative(0) False Negative
(FN=6)
True Negative
(TN=974)

则指标值分别为:
Accuracy = (4+974)/1000 = 0.978
Precision = 4/20 = 0.25
Recall = 4/10 = 0.4

  案例中可以发现,尽管分类器的准确率达到了97.8%,但是如果建立模型目的是尽可能找出隐藏在1000名客户中的欺诈客户,则这个分类器并不好。预测为欺诈且真实为欺诈的比率(Precision)仅为25%,真实为欺诈预测为欺诈的比率(Recall)仅为40%,这个比例对银行而言是不够好的,可能因为漏判了60%的欺诈客户,导致银行出现比较严重的违约可能,造成较大的损失。

总结

  模型整体预测效果看Accuracy(准确率);在预测欺诈、违约、流失客户时需要看Recall(召回率),召回率越高,说明模型更能够识别欺诈、违约客户。想要知道分类器某个分类的准确性则使用Precision(精确率)。

你可能感兴趣的:(模型)