500px.com 排名算法

4
我最近在思考如何计算“Pulse”评分,这与IT技术有关。 http://500px.com 是一个在线摄影社区,他们的“Pulse”评分是根据照片的受欢迎程度从1到100打分的。
我认为可能使用以下标准进行评估:
- 点赞数 - “收藏”数 - 评论数 - 总浏览量 - 可能还包括上传照片后的时间 - 也可能包括其他一些非明显的标准,例如用户的关注者数量、用户等级、相机型号或类似标准
如何实现这样的算法呢?
如果您有任何关于如何使用这些标准(以及可能的代码)来实现算法的建议,我们将不胜感激。

我不确定问题是什么?要制定一个算法,你需要定义规则,然后实施它们。你还没有真正定义任何规则,也还没有尝试去实施它们。 - Paystey
我还没有任何规则。我想知道他们的规则是什么。更像是了解其他人如何做,以便找到自己的规则/算法。 - alex
3个回答

9
我对该网站并不了解,但是这类系统通常工作方式相同。将一组加权值归一化以产生一个可比较的单一值。
定义您的规则列表,根据重要性对其进行加权,然后将它们全部运行以获得最终值。
在这种情况下,它会是以下内容之一。
1.访问总数= 10% 2.点赞总数= 10% 3.访问次数/点赞次数= 40%(受欢迎程度=喜欢它的访客百分比) 4.过去30天点赞数= 20%(当前流行度) 5.作者评级= 20%
现在我们需要为这些规则的值进行归一化。根据数据类型、数字范围等不同,每个规则的归一化方法也会有所不同,因此我们需要一个可行的值,例如介于1和100之间。
上述示例的归一化如下:
1. = 50,000次访问中的访客百分比(良好的访问量) (vists / 50000 ) * 100
2. = 10,000次点赞中的点赞百分比(良好的点赞数量) (likes / 10000) * 100
3. = 喜欢它的游客的百分比 (likes / vists) * 100
4. = 过去30天内1,000次点赞中的点赞百分比(30天内良好的点赞数量) (likesIn30Days / 1000) * 100
5. = 作者的任意评级
请确保所有这些规则的最大值为100(如果超过,请将其降低)。然后,我们需要根据它们的加权组合它们:
受欢迎程度= (1 * 0.1) + (2 * 0.1) + (3 * 0.4) + (4 * 0.2) + (5 * 0.2)
这都是我脑海中的粗略想法。显然还有更有效的方法来实现这一点,因为您不需要在每个阶段都将其归一化为百分比,但我希望这可以帮助您了解要点。
更新:
我没有任何参考资料或额外阅读。我从未真正涉足过较大的概念,只在小型实现中使用过它。
我认为您所读到的大多数内容将是一般排名系统和理论。因为根据您的规则和数据格式,您的实现将非常不同。它似乎是一个巨大的概念,而实际上它可能只会减少到大约10行代码,不包括聚合您的数据。

谢谢你提供的有价值的信息,这对我理解背后可能发生的事情非常有帮助。你有关于排名系统的链接或书籍推荐吗? - alex

6

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接