2009年4月6日星期一

rescale ratings 重新定制评分等级

在预测某个电影的评分时,如果用户打的是3.5分,而预测器预测成5分,这个预测尽管不准确,但至少预测对了这个用户是喜欢这部电影的。反之,如果预测成2分,尽管和5分的误差一样,但他没有预测对用户的喜好。所以,我们认为,3.5和5的预测误差要小于3.5和2的预测误差(在一个1-5分的评分系统中).

在一个5分系统中,我们一般认为,分数大于3,表示用户喜欢这个电影,反之表示用户不喜欢。但是,一般的评分系统是线性的,我们觉得,sigmoid函数似乎更加能代表评分的分布。我们将一个评分做如下变换:

f(r) = 1 / (1 + exp(3 - r))

然后我们可以发现,如果评3.5分,在这个系统中就变成0.622分,5分变成0.881分,而2分变成0.269分。

f(5) - f(3.5) = 0.259
f(3.5) - f(2) = 0.353

这样就能反应出评分的差别

2 条评论:

  1. 我这几天也在用类似的方式重新整理5分系统,用户效用曲线也许值得借鉴。效用曲线的想法是,不同的用户对5分系统和喜好程度的映射关系不同,反映到用户评分的分布中。

    回复删除
  2. 有关于用户效用曲线的论文吗?

    回复删除