500px.com排名算法

我最近想知道 http://500px.com如何计算他们的“脉冲”等级.
“脉冲”是根据照片的受欢迎程度从1 … 100得分.

我认为它可能会使用以下某些标准:

>喜欢的人数
>“收藏”数量
>评论数量
>总观看次数
>也许是照片上传后的时间
>也许一些其他非显而易见的标准,如用户关注者数量,用户排名,相机模型或类似

我如何实现这样的算法?

关于如何使用此标准(可能还有一些代码)实现算法的任何建议也将受到赞赏.

解决方法

我不太了解该网站,但像这样的系统通常以相同的方式工作.标准化一组加权值以产生单个可比较值.

定义规则列表,根据重要性对它们进行加权,然后将它们一起运行以获得最终值.

在这种情况下,它会是这样的.

>总访问量= 10%
>总喜欢次数= 10%
> vists数量/喜欢的数量= 40%(受欢迎程度=喜欢它的访问者的百分比)
>过去30天内的喜欢次数= 20%(当前受欢迎程度)
>作者评级= 20%

现在我们需要规范化这些规则的值.根据您的数据,数字的比例等,这对于每个规则都是不同的,因此我们需要一个可行的值,比如1到100之间.

上述示例规范化:

> = 50,000个vists中的游客百分比(良好的数量)

(vists / 50000)* 100
> = 10,000个喜欢的喜欢的百分比(好喜欢的数量)

(喜欢/ 10000)* 100
> =喜欢它的游客的百分比

(喜欢/ vists)* 100
> = 1,000个喜欢的最近30天内的喜欢百分比(30天期间的喜欢数量)

(likeIn30days / 1000)* 100
> =作者的任意评级

确保所有这些都具有最大值100(如果它超过了它).然后我们需要根据它们的权重组合所有这些:

人气=(1 * 0.1)(2 * 0.1)(3 * 0.4)(4 * 0.2)(5 * 0.2)

这一切都是我的头脑和粗糙.显然还有更有效的方法,因为你不需要在每个阶段标准化到一个百分比,但我希望它可以帮助你获得要点.

更新

我没有真正的参考或额外阅读.我从来没有真正使用它作为一个更大的概念,只在小型实现中.

我认为你所阅读的大部分内容都是一般的方法论排名系统和理论.因为根据您的规则和数据格式,您的实现将是非常不同的.这看起来是一个巨大的概念,实际上它可能会涉及到10行代码,而不是计算聚合数据.

相关文章

Css3如何实现鼠标移上变长特效?(图文+视频)
css3怎么实现鼠标悬停图片时缓慢变大效果?(图文+视频)
jquery如何实现点击网页回到顶部效果?(图文+视频)
css3边框阴影效果怎么做?(图文+视频)
css怎么实现圆角边框和圆形效果?(图文+视频教程)
Css3如何实现旋转移动动画特效