500px.com 排名算法



我最近想知道 http://500px.com 如何计算他们的"脉冲"评级。"脉冲"是根据照片的受欢迎程度从 1..100 开始的分数。

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

  • 点赞数
  • "收藏夹"的数量
  • 评论数
  • 总观看次数
  • 也许是照片上传后的时间
  • 也许还有其他一些不明显的标准,例如用户关注者数量,用户排名,相机型号或类似标准

我将如何实现这样的算法?

关于如何使用此标准(也许还有一些代码)实现算法的任何建议也将不胜感激。

我对这个网站不太了解,但像这样的系统通常以相同的方式工作。规范化一组加权值以生成单个可比较值。

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

在这种情况下,它将是这样的。

  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 天内
  5. 的赞数占 1000 个赞的百分比(30 天内的点赞数)

    (likesIn30Days / 1000) * 100

  6. = 作者的任意评级

确保所有这些的最大值为 100(如果超过,请将其恢复)。然后我们需要根据它们的权重将所有这些组合起来:

受欢迎程度 = (1 * 0.1) + (2 * 0.1) + (3 * 0.4) + (4 * 0.2) + (5 * 0.2)

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

更新

我真的没有任何参考资料或额外的阅读。我从来没有真正把它作为一个更大的概念来处理过,只在小的实现中。

我认为你读到的大部分内容都是一般的方法论排名系统和理论。因为根据您的规则和数据格式,您的实现将大不相同。这似乎是一个很大的概念,但实际上它可能会归结为围绕 10 行代码,这还不包括聚合您的数据。

您可能

还需要参考以下内容

  • Reddit排名算法的工作原理
  • 黑客新闻排名算法的工作原理
  • 如何构建您可以引以为豪的流行度算法

> 500px在他们的博客中解释了他们(同时过时的)脉冲排名算法:https://500px.com/blog/52/how-rating-works-and-why-there-s-a-lot-more-to-a-rating-than-just-a-number

非常有趣,与SO上迄今为止建议的解决方案不同。

相关内容

  • 没有找到相关文章

最新更新