0

我有一个相对简单的算法问题,我向用户推荐问题

  1. 我有一组带有答案的问题(例如,每个答案的评论)
  2. 我想打分每个问题的吸引力。

当前实施:

(total comments + likes for all answers for a question) / sqrt (number of answers)

问题:

  1. 有时,一个有大量活动的答案会扭曲问题的分数,即使其他 20 个答案产生的兴趣很小
  2. 对于答案很少的问题,应该进行一些缩减。

希望对这两个问题的任何建议都可以否定。

4

1 回答 1

0

通常,当我们想避免让一个样本过于强大时,标准的方法是通过以下方法之一:

  1. 使用log(N)代替N,使每个观察的效果不那么强大1
  2. 留下“奇怪”的观察结果:只取中间的 X%,并使用它们,例如:只取这个问题的最大值的 1/4 - 3/4 喜欢的观察结果,并留下倾斜的例子。

对于第二个问题 - 我能想到的一件事是给出一个可变因素:而不是使用sqrt(number of answers)- 你可以尝试在你的数据集中每个问题的最大答案数量 (number_of_answers)^(log(number_of_answers+1)/log(max_answers+1))在哪里。这将导致问题的答案很少,我认为这就是你所追求的。max_answers


(1) : 我们通常取log(N+1)- 所以它也会被定义为N==0

于 2012-08-09T07:18:05.223 回答