模型评估
模型评估指标
只有选择与问题相匹配的评估方法,才能有效的评估模型的好坏,有针对的对模型进行优化。
模型评估分为线上和离线评估两个阶段。针对分类、标记、排序、序列预测、回归等问题,都有各自合适的模型评估方法。只有找对方法才能有的放矢的去优化模型,解决我们的问题。
为什么需要不同的评估指标
不同的评估指标反映了模型的某个方面的性能,下面将举例子体现评估指标的局限性。
(1)准确率的局限性
首先要说的就是最经典的具有局限性的指标,准确率(accuracy)。准确率的定义
n c o r r e c t n t o t a l {n_{correct}\over n_{total}} ntotalncorrect
对于正负样本不平衡的样本集,使用准确率衡量模型的好坏效果将非常差,例如在训练集中有99%的样本为正样本,那么模型只需要把所有样本预测为正样本,模型就可以达到99%的准确率。然而这样模型对我们解决问题并没有帮助。
对于这种情况我们可以采用平均正确率,即取每类的正确率的平均数,或者用精度衡量模型的性能。
(2)精确度(precision)与召回率(recall)
精确度指的是TP/T(我们的模型判断为正样本且真为正样本的数量除以我们模型判断为真样本的数量)。而召回率指的是TP/(TP+FN)(指的是我们的模型判断为正样本且真为正样本的数量除以全体样本中为真的数量)。
精确度和召回率是统一而矛盾的。对于统一,我的理解是指的是他们的分子都是TP。至于矛盾,如果要提高精确度我们应该小心谨慎的将个人判定为正样本,而要提高召回率则应该更大胆的去判定可能的样本为正样本。
在一个推荐算法中,我们会对用户可能喜欢的样本做一个排序,如果我们将排名前五的样本推荐给用户那么精确度会较高,而召回率会较低。然而这两个参数都很有用,所以我们要综合考虑。可以绘制一个P-R曲线
可以看到黑线所代表的模型,他可以将其他模型所形成P-R曲线完全包裹,那么我们可以说黑色曲线所代表的模型效果更好。然而对于深蓝色曲线与紫色曲线代表的模型来说,我们该怎样怎样比较两个模型的好坏呢?这里这我们可以使用F1 score, F1score的是精确度与召回率的调和平均值定义为: F 1 = 2 ∗ p r e c i s i o n ∗ r e c a l l p r e c i s i o n + r e c a l l F1={2*precision*recall\over precision+recall} F1=