如何根据一些已知因素计算受欢迎程度

时间:2013-01-16 10:13:49

标签: algorithm popularity scoring

我有一个电影列表,每个电影都有以下因素:

  • 将来希望观看电影的人数
  • 观看过该电影的人数
  • 喜欢这部电影的人数
  • 观看和不喜欢电影的人数
  • 电影评论数
  • 电影页面的页面点击次数(直接或来自搜索引擎)

基于以上因素,我正在寻找一种计算每部电影的受欢迎程度的方法。在这种情况下,是否有任何已知的公式或算法来计算流行度值?优选的算法是那些提供更有效的方式来更新每个项目的先前计算的流行度值的算法。

2 个答案:

答案 0 :(得分:2)

根据每个因素的重要程度,基本上有无限的方法可以完成你的工作。

首先,您需要规范化数据。一种方法是假设每个特征都是distributed normally,并找到每个特征的标准偏差和平均值。 (你的功能是观看电影的人数,喜欢电影的人数,......)。
一旦你有了sd(标准偏差)和mu(平均值),你就可以使用norm = (value-mu)/sd轻松地将每部电影的特征转换为标准形式。

  • 平均值(mu)的估算值是简单平均值:sum(x_i) / n
  • 标准偏差(sd)的估算值为sd = sqrt(Sum((x_i - mu)^2) / (n-1))

一旦您对数据进行了标准化,您就可以将评级定义为加权总和,其中每个功能都会根据其重要性得到提升:

a1 * #watched + a2 * #liked + .... 

如果你不知道体重是多少,但愿意手动给一组电影评分,你可以使用有监督的学习来找{a 3,a2,...,an){{3 }}

答案 1 :(得分:1)

没有正确的答案,但我认为我们应尽量将其建模为接近现实。 我们考虑以下几点:       P1=Proportion of people who watched and enjoyed it
      P2=Proportion of people who disliked the movie       P3=Proportion of people who watched and would like to see again       P4=People who will watch it later but haven't seen it yet 评论的数量根本无法分辨出电影有多好,虽然它可以说明它有多受欢迎。如果可能的话,你可以利用正面和负面评论的数量(可能是通过上调和下调) -votes),或者你可以使用这样的评论数量(C)。

页面点击次数通常应该很好地表明电影的受欢迎程度,因此我们应该在算法中给予它很好的分量。另外我们应该给出最近的页面点击量超过一年前的页面点击次数。在过去三天(N3),上周(N7),上个月(N30)和去年(N365)以及其他一切(Nrest)中尝试并保持页面点击次数。

你想出了一个使用我提到的因素的算法。 [尽量使用加权平均值和Horner规则的变化来快速更新。祝你好运。]