在建好模型后,我们需要对模型的质量进行评估。模型中常见的分类模型评估指标一般是通过混淆矩阵计算而来。下面我们举一个实际的例子来说明几个评估指标。
假设现有模型M对1000个客户做欺诈风险预测(其中有50个是真实欺诈客户),模型预测出欺诈客户100个,非欺诈900个,预测的100个欺诈客户中实际为欺诈的有30个。为方便理解,现将这个模型预测结果与实际情况做一个混淆矩阵。
根据混淆矩阵,我们可以得到以下评估模型M的指标:
1、准确率(accuracy):它是指模型对样本成功预测的比例。Accuracy =(TP+TN)/(TP+FN+FP+TN) = (30+880)/(30+20+70+880) = 91%。准确率是一个常用的直觉性的模型评估指标,但在非平衡样本上准确率没有太多意义。比如在本例中,如果模型将全部客户预测为非欺诈,其准确率也能达到95%。
2、查准率(precision):它是指预测为欺诈且实际也为欺诈占总预测为欺诈的比例。Precision= TP/(TP+FP) = 30/(30+70) = 30%。
3、查全率(recall):它是指预测为欺诈且实际也为欺诈占实际总欺诈的比例。Recall = TP/(TP+FN) = 30/(30+20) = 60%。查全率在一些场合也叫灵敏度。
既然提到灵敏度,我们顺便提另外一个名词——特异度(specificity)。在本例中,它是指预测为非欺诈且实际也为非欺诈的量占实际非欺诈总量的比例。本例中,Specificity = TN/(FP+TN) = 880/(880+70) = 93%。
通常情况下,查准率与查全率就像“鱼和熊掌”不可兼得。比如,如果希望查准率提高,往往伴随着模型的阈值提高,阈值提高在本例就意味着预测为欺诈的标准提高,即很少的人被预测为欺诈,这就伴随着查全率的下降。因此,在实际建模中,人们往往根据实际情况平衡选择。比如在地震的预测中,人们宁可多次误报,也不愿错过一个真实的地震没有被预报。在这种情况下,较高的查全率就显得尤其重要。
查准率、查全率与风控中通过率、坏账率的关系
通过率与坏账率是风险控制上的术语,而查准率与查全率是机器学习的专业术语。它们表达的意思是一致的,但具体的含义是不同的。