二分类模型的评价指标
性能指标的意义
当我们在考虑评价分类模型好坏时,通常是采用一个测试数据集来测试模型。
那么有哪些什么指标才能说明模型的好坏呢?
最直接的想法是观察模型在测试数据集上的准确率,如果都正确那不就说明模型挺好的嘛。
准确率这个指标是有一定道理的,只是在一些数据集有可能是失衡的。因为正确率的高低与数据集分布之间具有很强的关联性。
比如说在1000个人当中,可能只有997人得过水痘(标记为1),而只有3个人没得过水痘(标记为0)。
那在这种情况下,加入模型输出恒为1的时候,正确率依然高达99.7%。因此这种评价指标并不能很好泛化地推广到其他模型的评价上。
基本定义
首先来看下如下定义:
- True Positive (TP),表示模型预测为正样本,实际为正样本。
- False Positive (FP),表示模型预测为正样本,实际为负样本。
- False Negative (FN),表示模型预测为负样本,实际为正样本。
- True Negative (TN),表示模型预测为负样本,实际为负样本。
准确率(Accuracy)
准确率表示模型预测正确的正样本和负样本占所有样本的比例,公式为:
\[acc=\frac{TP+TF}{TP+FP+TN+FN}
\]
这个就是前言中所讲的准确率指标,其中占比大的类别往往成为影响准确率的主要因素。
精确率(Precision)
精确率表示模型预测正确的正样本占所有预测为正样本的样本的比例,公式为:
\[precision=\frac{TP}{TP+FP}
\]
召回率(Recall)
召回率表示模型预测正确的正样本占所有实际正样本的比例,公式为:
\[recall=\frac{TP}{TP+FN}
\]