推荐系统常用评估指标对比

制定评估指标是数据挖掘前期很重要的一步,一个好的评估指标要和关心的业务指标波动一致。这样可以通过对比不同模型的评估指标,来评价模型在实际业务中的效果,加快模型迭代周期,降低线上成本。

在推荐系统中评估指标可以分为三类:分类指标,回归指标,排序指标。

分类问题

分类问题输出是物品的类别,对于二分类问题,输出为0/1单个值;对于多分类问题,输出为一个one-hot向量 y=[0,0,1]T\textbf{y}=[0, 0, 1]^T,其中只有一个值为1,为1的列代表了模型预测样本的分类。

精确率和召回率

谈到精确率和召回率就设计到混淆矩阵,为了方便解释,以下未做说明的地方均为二分类任务。
推荐系统常用评估指标对比
混淆矩阵中TP和TN很清楚,但是FP和FN经常记错,暂时没有什么好办法。

精确率的定义如下:
P=TPTP+FPP=\frac{TP}{TP+FP}
精确率表示,预测为正的数据中,有多少个真的是对的。

召回率的定义如下:
R=TPTP+FNR=\frac{TP}{TP+FN}
召回率表示,所有正的数据中,有多少个被预测出来了。

可以在借助下图理解,左边的圆圈代表预测为正的样本集合,右边的圆圈代表真实为正的样本集合。精确率为黄色部分除以左边圆的面积,召回率是黄色部分除以右边圆的面积。
推荐系统常用评估指标对比
理想情况下,精确率和召回率都越高越好。事实上这个很难达到,当精确率提升时,召回率就会下降。反之,召回率提升时,精确率就会下降。一个极端的例子,如果我们把所有例子都预测为正,那么召回率为1,见下图左边的情况。反之,如果只把非常肯定的预测为正,那么精确率就为1,见下图右边的情况。
推荐系统常用评估指标对比
为了同时评估精确率和召回率,可以使用F1F_1score,它是精确率和召回率的调和平均值,公式如下:
2F1=1P+1R\frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}

未完待续。。。