首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >新闻网站排名

新闻网站排名
EN

Stack Overflow用户
提问于 2012-11-08 09:10:44
回答 1查看 146关注 0票数 1

我正在建立一个新闻网站,在其中用户可以投票赞成或反对文章。文章链接到不同的实体:个人、地点、公司……这些实体具有全局分数和每个用户的分数。

因此,当用户在文章中投票赞成/反对时,链接实体的全局分数和每个用户的分数都会发生变化。

例如:有一篇文章提到了谷歌和微软。用户A喜欢这篇文章,并投票支持。谷歌和微软实体的全球和用户A得分增加。

我希望用户A对他的个人分数有更多的影响,对全局分数的影响较小。

此外,实体必须从一些分数开始,以便第一个站点用户不能减少太多分数。

我正在考虑从0到1对一个实体进行排名。投票是二元的: like(1),而不是like(0)。

我正在用C=0.7查看this blog post中提到的Bayesian average方法,并使用不同的m值(我使用m表示个人分数,另一个表示一般分数)。我运行的测试显示,个人和全球分数几乎没有区别。似乎我找不到正确的值。

编辑:

这是我用来计算贝叶斯的代码(Python)。使用这个公式会得到更好的结果:

代码语言:javascript
复制
def bayesian_average(votes, C=100, m=0.7): #C higher for global
    #votes = [1,0,1,0,0,1,1,1]
    avg_votes = C
    avg_rating = m
    ent_votes = len(votes) #entity votes
    ent_rating = sum(votes) / float(ent_votes)
    ba = ( (avg_votes * avg_rating) + (ent_votes * ent_rating) ) / (avg_votes + ent_votes)
    return ba
EN

回答 1

Stack Overflow用户

发布于 2012-11-08 09:24:33

现在,当我想要做这样的事情时,我只需转到Evan Miller's home page。您可能需要以下三种技术中的一种(或多种):

  • How Not To Sort By Average Rating
  • Linear Regression For Fun And Profit
  • Rank Hotness With Newton's Law of Cooling
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13280976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档