math - 投票 - 投票数与投票百分比?

标签 math voting rating-system

我在网站上实现了一个简单的向上/向下投票系统,并且我会跟踪个人投票以及投票时间和唯一用户 ID(散列 IP)。

我的问题不是如何计算投票的百分比或总和 - 但更多的是,根据投票确定好分数的好算法是什么?

我发现按纯粹的投票百分比排序是 Not Acceptable ,以及简单地计算赞成票。

考虑这个例子:

  • 图 A:4 票赞成,1 票反对
  • 图片 B:5 票赞成,4 票反对
  • 图片 C:1 票赞成,0 票反对

  • 理想的系统会先放 A,然后是 B,然后是 C。

    在纯百分比场景中,顺序是 C > A > B。(错误)
    在纯投票计数场景中,顺序是 B > A > C。(错误)

    我有一个基于系统对分数的信心的有点“混合”算法的想法,可能是这样的:
    // (if totalvotes > 0, else score = 0)
    score = 1 - ((downvotes+1 / totalvotes+1) * sqrt(1 / totalvotes))
    

    然而,在我从现在到日落之前一直在调整我的算法之前,我希望询问社区是否已经有任何我根本不知道的真正定义良好的算法。

    我也有每次投票的日期数据 - 但是,该网站的内容对时间不是很敏感,所以我根本不在乎按“什么是热门”排序。

    最佳答案

    按平均票数排序不是很好。

    通过平衡正面评分的比例与本文中解释的少量观察的不确定性,您可以更好地表示您的分数。

    下面的文章解释了如何不犯许多流行网站所犯的错误。 (亚马逊、城市词典等)

    http://evanmiller.org/how-not-to-sort-by-average-rating.html

    希望这可以帮助!

    关于math - 投票 - 投票数与投票百分比?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10270421/

    相关文章:

    algorithm - 如何在 Web 应用程序中为用户完成评级系统?

    php - 按两列排序 - 使用评分最高的平均评分

    algorithm - 使用 4 个操作找到一对可以达到另一对的整数

    c# - 哪个更适合投票功能

    c# - MathNet.过滤带通参数

    php - 允许用户在 PHP 中投票一次

    python - 基于cookie实现 Pyramid "one vote per day"系统

    php - 如果存在某些值,则 mysql 更新,否则创建一个新条目

    algorithm - 猜一个数字只知道建议的数字是更低还是更高?

    javascript - 在 d3.js v4 中创建 asinh(反双曲正弦)标度