gpt4 book ai didi

algorithm - 实时趋势算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:20:44 24 4
gpt4 key购买 nike

我正在开发一个系统,该系统必须根据排名实时返回 HitTest 门的“文章”。该文章的点击率。

我的第一个想法是为每篇文章存储编号。点击率与时间的关系。然后我会规范化这个函数,并计算它的一阶导数,它会返回增长率。然后通过二阶导数,我可以知道它增长了多少,以及它是否达到了某个阈值 -> 将其标记为趋势。

问题是:例如,我可以在一天结束时“离线”执行此操作,但我不知道如何连续执行...

我知道存在诸如 Storm 之类的东西,但我正在寻找像这样具体的东西(用伪代码编写的算法或解决这个问题而不是通用问题的文章)。

最佳答案

跟踪 HitTest 门文章的一种简单方法是使用 LRU 缓存。这有效地跟踪其最近访问的元素。频繁访问的文章会将热点文章保留在 LRU 中,而不经常访问的文章会被丢弃。如果您想优化排名,您可以修改 LRU 以跟踪文章收到的点击次数。

当然,还有更复杂的方法,但这很容易实现,具有良好的计算特性,并且可能会提供类似的响应。

您也可以尝试使用 circular buffer对于每篇文章。一旦缓冲区填满,对文章的每次访问都可以用于更新一个变量,该变量指示对文章的最旧点击。由于您知道最新和最旧的命中,因此您可以估计每个时间单位的命中。缺点:大量内存占用,经常访问的文章统计不准确。

同样,您可以将每篇文章与包含 <Time,Count> 的链表相关联对。每次命中发生时,如果自 Time 以来不到一秒(或你有什么),则添加到链表顶部的计数。 .如果时间过长,请在列表的前面添加一对新的。然后,您可以将链表视为用于计算导数的数据系列。在遍历列表时减少太旧的元素。

关于algorithm - 实时趋势算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33024947/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com