Php 如何对选票进行评级或排序
如果我的问题错了,我真的很抱歉,但我想知道一些想法…我想知道排名算法以及他们提交投票的时间。Reddit的代码是开源的。这里有一个很好的关于他们排名算法的讨论,代码是:好问题 好吧,让我们开始吧 首先,在计算好的评级时,你不能做的一件事是 您对其进行了详细阅读,但非常简单,它处理了以下内容:Php 如何对选票进行评级或排序,php,Php,如果我的问题错了,我真的很抱歉,但我想知道一些想法…我想知道排名算法以及他们提交投票的时间。Reddit的代码是开源的。这里有一个很好的关于他们排名算法的讨论,代码是:好问题 好吧,让我们开始吧 首先,在计算好的评级时,你不能做的一件事是 您对其进行了详细阅读,但非常简单,它处理了以下内容: 得票少的条目不是其得票的真实平均值,但在整个数据集中具有平均评级的组成部分。例如,在IMDB上,默认评级为6.4。因此,一部只有两张票的电影,每一张都是10位明星,可能仍然有6到7票。投票越多,他们就越有
- 得票少的条目不是其得票的真实平均值,但在整个数据集中具有平均评级的组成部分。例如,在IMDB上,默认评级为6.4。因此,一部只有两张票的电影,每一张都是10位明星,可能仍然有6到7票。投票越多,他们就越有可能团结在一起,评级也就从违约中“拉走”。Imdb还为他们的电影在列表中显示提供了最低票数
1 + 1/SQRT(1 + CURRENT_YEAR - RELEASE_YEAR )
所以1是一个插座评级,每部电影都有。
本年度的一部电影将获得100%的提升(200%的相关性),因为上述内容将回归现实。去年170%,2岁157%和儿子在一起
但是电影与1954年或1963年的区别远没有那么大
所以请记住:
- 计算中使用的所有内容。它真的是线性的吗?这会扭曲你的评级吗?整个数据集的关系是否正常
$weights = array(
"year" => 2, // release year
"rating" =>13, // rating 0-100
"cover" => 4, // cover available?
"shortdescription" => 4, // short descr available?
"trailer" => 3, // trailer available?
"imdbpr" => 13, // google pagerank of imdb site
);
foreach($values as $field=>$value) {
$malus += ($value*$weights[$field]) / array_sum($weights);
}
然后我们为每个度量计算一个介于0和1之间的值。有不同的方法。但让我给你们展示一下我们的评级示例(它本身就是我们所抓取的几个平台的聚合评级,这些平台的权重各不相同)
然后我们总结如下:
$weights = array(
"year" => 2, // release year
"rating" =>13, // rating 0-100
"cover" => 4, // cover available?
"shortdescription" => 4, // short descr available?
"trailer" => 3, // trailer available?
"imdbpr" => 13, // google pagerank of imdb site
);
foreach($values as $field=>$value) {
$malus += ($value*$weights[$field]) / array_sum($weights);
}
这可能不是你问题的确切答案,但有点更广泛,但我希望我为你指出了正确的方向,并给了你一些观点,让你的想法能有所启发
祝您的应用程序充满乐趣并取得成功 (p-1)/(t+2)^1.5在这个公式中,我不明白为什么它是p-1?,为什么时间被加上2,然后乘以1.5的幂?真不错!通常解决得很差或根本没有想到的常见问题。期待讨论和各种方法!对时间很重要,因为在他们提交投票时,时间已经包括在内。