这个问题与逻辑关系比任何编程语言都要多。如果问题不适合论坛,请告诉我,我会删除它。
我必须编写一个逻辑来计算博客奖励网站的博客分数。博客可能会被提名为多个奖项类别,并由评审团进行同行评审或评级为-1至5级(-1表示他们完全不喜欢的博客)。现在,一个或多个陪审员可以对博客进行评级。计算博客最终得分时的一个标准是,如果博客被更多人评为肯定,那么它应该获得更多的权重(反之亦然)。类似地,即使是一个陪审员,评分为-1的博客也应该影响其得分(-1在这里是一种否决权)。最后,我还希望根据博客的Technorati等级获得额外分数(以便最终得分基于陪审员评级+ Technorati排名的组合)。
示例:博客在A类中被评为6位陪审员。 2分为3分,3分为2分,1分为4分。(我曾将得分计算为(2 * 3 + 3 * 2 + 1 * 4)/ 6 = 16/6 = 2.67得到加权平均但我对此不满意,主要是因为当陪审员评级为-1时它不能很好地工作。此外,我还需要添加Technorati排名等级标准。)
你能否帮我决定计算最终得分的最佳方法(保持评级方法与上述相同,现在无法改变)?
答案 0 :(得分:5)
如果您想更强烈地加权-1等级的效果,请使用相同的平均分数计算,但只要看到-1,就用-10替换。如果您不希望负评级强烈加权,则可以选择-10以外的值。
答案 1 :(得分:4)
根据投票计算得分非常简单。添加technorati排名将是棘手的部分。
我制作了一个快速脚本,根据此算法计算一些分数
score = ( vote_sum - ( vetos * veto_weight ) ) / number_of_votes
您可以更改网址参数以获取不同的值
有很多关系,所以也许你可以使用technorati博客排名作为打破平局
答案 2 :(得分:4)
您可能会考虑使用威尔逊得分间隔的下限作为评分。
有关详细信息,请参阅http://www.evanmiller.org/how-not-to-sort-by-average-rating.html。虽然在那里,它被用于更简单的伯努利案例。
要点是,如果你有很多评分,你对你的得分有更高的信心。然后,您可以将当地评分和Technorati评分的分数结合起来,通过当地和Technorati的选民数量对分数进行加权。
至于想要让单个-1投票产生高影响力,只需将其重新映射到与您想要的影响成比例的大负值,然后再将其输入您的评分公式。
答案 3 :(得分:0)
你可以在内部使用0到6的分数。只需换一个,计算得分并换回。我猜-1对你的计算有一些破坏性的影响。