使用评分和评分计数对产品进行排名的算法

问题描述

为推荐目的对这些产品进行排名的合适算法/方法是什么:

  • 产品1:1个评分(平均评分5.0)
  • 产品2:30个评分(4.9个平均评分)
  • 产品3:500个评分(4.7个平均评分)

直觉上,我将产品2的排名比产品1更好,因为尽管平均得分略低,但30个评分比1个评分“可靠”得多。

我能想到的最好的办法是对两个数字进行归一化:评级和评级计数,并为每个数字分配(任意的,真正的)权重,并将它们取平均值以得到粗略的“排名”或推荐分数。但是我一直认为这会简化问题。

解决方法

一种常用的解决方案是在平均评分附近建立一个置信区间。然后,您无需按产品的平均评分来对其进行排名,而是可以按其较低的置信度范围对其进行排名。

例如:

  • 产品1:1个评级,5.0个平均评级,[4.0,6.0]置信区间,4.0下限
  • 产品2:30个评分,平均评分4.9,[4.8,5.0]置信区间,下限4.8
  • 产品3:500个评分,平均评分4.7,[4.65,4.75]置信区间,下限4.6

按下限排序:首先是Product-2,然后是Product-3,然后是Product-1。

相关:Wilson's confidence interval for 5-star rating

使用对评分的信心搜索算法时的关键字:

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...