algorithm - 标准化分数以对事物进行排名的最佳方法是什么?

标签 algorithm math

我很好奇如何对排名算法进行数字归一化

假设我想根据重要性对链接进行排名,并且我有两列可供使用

所以表格看起来像

网址 |评论 |观点

现在我想让评论的排名高于浏览量,所以我首先会考虑做评论*3 或其他事情来给它加权,但是如果有很大的浏览量,如 40,000,而只有 4 条评论,那么评论权重就会下降。

所以我想我必须先将这些分数归一化到一个更公平的竞争环境,然后才能对它们进行加权。关于通常如何完成的任何想法或指示?

谢谢

最佳答案

对于每个 url,您可以首先将评论和 View 标准化为一个百分位数。例如,

 comment_percentile = (comments - min(comments)) / (max(comments) - min(comments))
 views_percentile = (views - min(views)) / (max(views) - min(views))

然后您可以为每个百分比值分配权重以计算总分。

 url_score = (comment_percentile_weight * comment_percentile) + (views_percentile_weight * views_percentile)

如果值聚集到范围的一端,其他策略可能涉及消除异常值。

关于algorithm - 标准化分数以对事物进行排名的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3058861/

相关文章:

python - 在我的比较中超出了最大递归深度

c - 运行时错误 : Singly Link List program to insert a value

algorithm - 合并两个数组的最大可能方式

math - 在 swift 中使用 CGFloats 进行数学运算的最佳方法是什么?

javascript - 计算两个椭圆之间的重叠

多个列表的python组合

algorithm - 编译器设计的算法?

algorithm - 整数分解中素数的计数

c# - 两个角度的弧度差?

c# - 为什么 System.Math 和例如 MathNet.Numerics 基于 double?