分类任务时,经常会对模型结果进行评估。评估模型好坏的指标有AUC、KS值等等。这些指标是通过预测概率进行计算的。精准率和召回率是通过混淆矩阵计算出来的,以下是混淆矩阵
其中,
TP(True Positive):样本为正,预测结果为正;即正确预测样本为正
FP(False Positive):样本为负,预测结果为正;即错误的预测样本为负
TN(True Negative):样本为负,预测结果为负;即正确预测样本为负
FN(False Negative):样本为正,预测结果为负;即错误预测样本为负
精准率(precision):TP / (TP + FP),正确预测为正占全部预测为正的比例
召回率(recall): TP / (TP + FN),正确预测为正占全部正样本的比例
观察上面的公式我们发现,精准率(precision)和召回率(recall)的分子都是预测正确的正类个数(即TP),区别在于分母。精准率的分母为预测为正的样本数,召回率的分母为原来样本中所有的正样本数。
那么精准率和召回率的区别是什么呢,下图是在不同阈值下统计出来的精准率和召回率。通过下图我们发现精准率和召回率并不一定是正相关(但也不一定是负相关)
我们当然希望精准率和召回率都高,但是现实情况一般不是这样