Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sorting 生成近期评级_Sorting - Fatal编程技术网

Sorting 生成近期评级

Sorting 生成近期评级,sorting,Sorting,我有一个由另一个服务定期更新的数据表。当数据库中发生这些更新时,我会记录日志。我希望能够以某种方式对最近更新的数据记录进行评级 我不想选择最新的,我想为以前的更新排序帐户。我会试着用一个例子来解释我的意思。假设我有3个数据项 Item | Updates (Days Ago) One | 30, 25, 19, 1 Two | 5, 3, 2 Three| 30, 25, 20, 15, 10, 5 因此,从上面的列表来看,我希望先有三个,因为它看起来最一致,更新最多。接下来我想要

我有一个由另一个服务定期更新的数据表。当数据库中发生这些更新时,我会记录日志。我希望能够以某种方式对最近更新的数据记录进行评级

我不想选择最新的,我想为以前的更新排序帐户。我会试着用一个例子来解释我的意思。假设我有3个数据项

Item |  Updates (Days Ago)
One  |  30, 25, 19, 1
Two  |  5, 3, 2
Three|  30, 25, 20, 15, 10, 5
因此,从上面的列表来看,我希望先有三个,因为它看起来最一致,更新最多。接下来我想要两个,因为它最近一直处于活动状态。最后是
one
,因为尽管它有最新的更新,但在iterim时间窗口中几乎没有更新

我还没有确切地概述我的算法将如何工作,因为我还不知道,但我希望已经解释了我通常希望实现的目标


我并不是在明确地寻找实现,我只是在寻找一个有用的方向。是否有解决此问题或类似问题的特定算法?

您可以创建某种形式的加权方程。假设您需要以下条件:

  • 更新数(numUpdates)

  • 自上次发布(lastPost)起1/天

  • 自创建以来每天的平均更新(AvgUpdate)

然后,你可以给每个标准一个特定的权重。例如


评级=(权重1*numUpdates)+(权重2*lastPost)+(权重3*avguupdates)

对于一致性部分,您可以计算每个更新值与总体平均值的标准偏差,然后计算平均值。我试图描述的是所谓的平均绝对偏差,看这个:让我朝着正确的方向思考。我可能会选择加权移动平均线。