gpt4 book ai didi

algorithm - 根据元素的特定属性的计数评估指示一组元素状态的分数

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

我有一个程序可以处理多个元素列表(长度总是 > 4),每个元素可以具有“向上”或“向下”属性。

将其写入代码:

 mylist = [element1, element2, element3]

并且每个元素都有“向上”或“向下”元素(实际问题的简化):

element1 = ["up", "down", "up", "up"]
element2 = ["down", "down","down", "down", "up"]
element3 = ["up", "up", "down", "down", "up", "up", "up"]

如果有一种算法或某种方法可以通过使用“向上”和“向下”元素的计数来推断可能指示列表本身“方向”的分数,我正在尝试寻找什么。现有代码(不是我写的)使用了这两个计数的简单比较:

 if count_up > count_down
return "up"
else if count_down > count_up
return "down"

当然,这很容易受到大小的影响(一些列表可能包含近 100 个元素,而其他列表只有 5 个),并且在两个计数相等时也会失败。我更喜欢数字分数。我查看了 Wilson 分数(Reddit 使用的分数),但它考虑了(据我所知)成功/失败,而我提到的两个状态不能这样定义。

是否有任何现有的统计数据可供我使用?

最佳答案

我的第一 react 是 (number_up - number_down)/(number_up + number_down)。这基本上放弃了整体的百分比。明显的缺点是,对于一个非常短的列表,百分比可能非常高,绝对差异很小(例如,3 个上升,1 个下降)。

编辑:防止小列表过度影响总体分数的一种可能方法是在等式中添加几个常量:

min_denom = 20;
factor = 10;

result = ((number_up - number_down) / (number_up + number_down + min_denom)) * factor;

这让您可以在一定程度上考虑相对和绝对差异。例如,3 up/1 down,它会给出 0.833。 6 向上/2 向下(相同的比率,但每个的两倍)它会给出 1.4。同时,仍然考虑到相对差异,因此(例如)10 向上/1 向下将给出 2.9。

实际上,这保留了相同的总体思路,但允许您选择某个度数(可通过更改 min_denom 进行调整),从而为较大的样本赋予额外的权重。严格来说,factor 并不是完全必要的——它只是有助于将结果保持在一个方便的范围内。

当然,这可能不合适——对于您正在处理的情况,四个样本的权重可能与 100 个样本的权重相同。另一个可能的缺点是结果值变得更加开放,而不是漂亮、整洁的 -1..1。

关于algorithm - 根据元素的特定属性的计数评估指示一组元素状态的分数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10621493/

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