gpt4 book ai didi

sorting - 按 5 星评级排序的更好方法是什么?

转载 作者:行者123 更新时间:2023-12-03 05:35:22 26 4
gpt4 key购买 nike

我正在尝试使用 5 星级系统根据客户评分对一堆产品进行排序。我设置的网站没有太多评级,并且会继续添加新产品,因此通常会有一些评级较低的产品。

我尝试使用平均星级评分,但当评分数量较少时,该算法会失败。

例如,具有 3x 5 星评级的产品会比具有 100x 5 星评级和 2x 2 星评级的产品显示得更好。

第二个产品不应该显示得更高吗,因为它在统计上由于评级数量较多而更值得信赖?

最佳答案

2015 年之前,互联网电影数据库 (IMDb) 公开列出了用于排名 Top 250 的公式电影列表。引用:

The formula for calculating the Top Rated 250 Titles gives a true Bayesian estimate:

weighted rating (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

where:

  • R = average for the movie (mean)
  • v = number of votes for the movie
  • m = minimum votes required to be listed in the Top 250 (currently 25000)
  • C = the mean vote across the whole report (currently 7.0)

For the Top 250, only votes from regular voters are considered.

这并不难理解。公式为:

rating = (v / (v + m)) * R +
(m / (v + m)) * C;

可以在数学上简化为:

rating = (R * v + C * m) / (v + m);

变量是:

  • R – 项目自身的评级。 R 是该项目得票的平均值。 (例如,如果某个项目没有投票,则其 R 为 0。如果有人给它 5 颗星,则 R 变为 5。如果其他人给它 1 颗星,R 变为 3,[1, 5] 的平均值。等等。)
  • C – 项目的平均评分。找出数据库中每一项(包括当前项)的 R,并取平均值; (假设数据库中有 4 个项目,它们的评分为 [2, 3, 5, 5]。C 为 3.75,即这些数字的平均值。)
  • v – 某个项目的投票数。 (再举个例子,如果有 5 个人对某个项目投票,则 v 就是 5。)
  • m – 可调参数。应用于评级的“平滑”量基于与 m 相关的票数 (v)。调整 m 直到结果令您满意为止。并且不要将 IMDb 对 m 的描述误解为“列出所需的最低票数”——该系统完全能够对票数少于 m 的项目进行排名。

该公式所做的就是:在计算平均值之前添加 m 个假想的选票,每个选票的值为 C。一开始,当没有足够的数据时(即投票数大大小于 m),这会导致用平均数据填充空白。然而,随着选票的积累,最终假想的选票将被真实的选票淹没。

在这个系统中,投票不会导致评级大幅波动。相反,他们只是在某个方向上稍微扰乱它。

当票数为零时,仅存在虚票,且全部为 C。因此,每个项目的评分都以 C 开头。

另请参阅:

关于sorting - 按 5 星评级排序的更好方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1411199/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com