9

这个问题比任何编程语言都更与逻辑相关。如果这个问题不适合论坛,请告诉我,我将删除它。

我必须编写一个逻辑来计算博客奖网站的博客分数。博客可能会被提名为多个奖项类别,并由陪审团以 -1 到 5 的等级进行同行评审或评分(-1 表示他们完全不喜欢的博客)。现在,博客可以由一位或多位陪审员进行评分。计算博客最终得分的一个标准是,如果博客被更多人正面评价,则它应该获得更多权重(反之亦然)。同样,即使由一名陪审员评价为 -1 的博客也应该影响其分数(-1 在这里有点否决权)。最后,我还想根据博客的 Technorati 排名获得一个额外的分数(因此最终分数是基于陪审员评级 + Technorati 排名的混合)。

示例:一个博客被总共 6 名陪审员评为 A 类。2 评分为 3,3 评分为 2,1 评分为 4。(我曾经将分数计算为 (2*3 + 3*2 + 1*4)/6 = 16/6 = 2.67 来加权平均但我对此并不满意,主要是因为当陪审员评分为-1时效果不佳。此外,我还需要添加Technorati排名排名标准)。

您能帮我确定计算最终分数的最佳方法吗(保持与上述相同的评分方法,因为现在无法更改)?

4

4 回答 4

5

如果您想更强烈地加权 -1 评级的影响,请使用相同的平均得分计算,但只要看到 -1 就替换为 -10。如果您不希望负面评级影响太大,则可以选择 -10 以外的值。

于 2009-06-15T07:19:29.070 回答
4

根据投票计算分数将非常容易。添加技术人员等级将是棘手的部分。

我做了一个快速脚本,根据这个算法计算一些分数

score = ( vote_sum - ( vetos * veto_weight ) ) / number_of_votes

您可以更改 url 参数以获取不同的值

有很多平局,所以也许您可以使用 technorati 博客排名作为决胜局

于 2009-06-15T08:25:59.130 回答
4

您可能会考虑使用威尔逊评分区间的下限来进行评分。

有关详细信息,请参阅http://www.evanmiller.org/how-not-to-sort-by-average-rating.html 。虽然在那里,它用于更简单的伯努利案例。

要点是,如果您有很多评分,那么您对评分的信心就会更高。然后,您可以将本地评分和 Technorati 评分的分数结合起来,方法是根据当地选民人数和 Technorati 对分数进行加权。

至于希望单个 -1 投票具有高影响,只需将其重新映射为与您期望的影响成比例的大负值,然后再将其输入您的评分公式。

于 2009-07-10T17:35:15.067 回答
0

您可以在内部使用 0 到 6 的分数。只需移动 1,计算分数并返回。我猜 -1 对您的计算有一些干扰。

于 2009-06-15T07:14:40.143 回答