混淆矩阵(Confusion Matrix),也叫误差矩阵,是分类模型中常见的概念,在风控领域,我们常用「准确率」、「覆盖率」来衡量策略和模型的效果,而在机器学习中常用「召回率」、「精度」来评估模型的性能,这些概念都离不开混淆矩阵。
对于混淆矩阵的概念,tj大神曾经的调侃解释:称它混淆,是因为你不不住它的行和列分别表示什么意思。非常有同感,经常忘记这个矩阵行和列的我,经常要翻笔记来稳固这个可视化性能评估工具。
再一次的,以二元分类为例,混淆矩阵的行表示预测结果,即通过模型判定的正、负;列表示真实分类结果,即实际的真假分类,在风控场景下,我们常用说的是好人和坏人,混淆矩阵如下:
矩阵中的几个概念解释:
TP(True Positive),模型将实际为真的判定为正,预测对
FP(False Positive),模型将实际为假的判定为正,预测错
FN(False Negative),模型将实际为真的判定为负,预测错
TN(True Negative),模型将实际为假的判定为负,预测对
由此,可得到一些常用的模型性能评估指标:
1、精度(Precision) = TP / (TP + FP)
用来衡量模型判定为正时,它有多大概率是对的
2、召回率(Recall) = TP / (TP + FN)
用来衡量模型能多大程度将实际为正的样本预测出来
我们当然希望模型的精度和召回率都越高越好,然而工程实际上,这两个指标往往不能兼得,为了更好的综合两个指标,就有了F1值:
3、F1值(F1 score) = 2 * Precision * Recall / (Precision + Recall)