gpt4 book ai didi

javascript - 解析.com : generate statistics out of a large set of data

转载 作者:行者123 更新时间:2023-11-30 00:33:09 28 4
gpt4 key购买 nike

我是一名视频游戏开发者,我使用 Parse.com 开发我的游戏。多亏了它,我可以保存玩家分数和游戏持续时间。在每个游戏环节结束时,我都会显示社区统计数据,让玩家了解他的分数在社区分数中的位置。

看起来像这样: enter image description here

因为我不是后端专家,而且我从来没有想过我的一个迷你游戏必须处理大量数据,所以我天真地使用云代码(由 Parse.com 提供的功能)anylizing 计算了这些统计数据每个分数输入并生成一个由 40 分组成的图表。

到目前为止,我从 Parse.com 数据库中提取了每个分数并提取了以下数据:

  • max_score (int): 集合中的最大分数;
  • points(字符串):40个点,从0到1,逗号分隔,描述实际图表;
  • entry_count(int):数据库中的条目数;
  • medium(float):集合的中等分数;

编辑

这里点字符串是最重要的。这是一个看起来像的字符串:

0.4147,0.286,0.2179,0.1463,0.1106,0.0819,0.0676,0.0458,0.0363,0.0264,0.0206,0.014,0.0096,0.008,0.0063,0.0042,0.0027,0.0025,0.0018,0.0013,0.0008,0.0008,0.0004,0.0005,0.0003,0.0002,0.0002,0.0001,0.0001,0.0001,0.0001,0,0,0,0,0,0,0,0,0

每个数字代表一个统计点。得分相同的比赛越多,得分越高。第一个点表示接近 0 的分数,最后一个点表示接近 max_score 的分数。数字从 0 到 1。因此,如果 90% 的分数为 0(或几乎为 0),则字符串中的第一个数字将为 0.9...

/编辑

问题是到目前为止玩的游戏数量(超过 500K 游戏)。这意味着负责计算统计点的脚本必须处理 500K+ 分数,这远远高于实际的 JavaScript 数组限制。

我知道这可能是任何后端专家的基本问题,但我找不到解决这个问题的巧妙方法。我不知道如何使用 Parse.com 中用 JavaScript 编写的 Cloud Code 从如此多的数据条目中生成统计信息。

如有任何帮助或指导,我们将不胜感激。

最佳答案

恭喜您拥有一款受欢迎的应用。行计数是一种低成本操作,只需执行 (new Parse.Query("MyTable")).count()。进行汇总统计的方法是在它们自己的表中的一行中保持运行最大值和平均值。您可以使用计数计算增量平均值,see here .要点是:

newAve = oldAve + (newScore-oldAverage)/count

最大值更简单:

newMax = (newScore>oldMax)? newScore : oldMax;

不确定我是否理解您问题中的 points 指的是什么,但希望您可以在这里扩展这些想法。

编辑

我想我理解点数据是分数的分布。这听起来像是您将分数分为 40 个类别(可能通过四舍五入),然后计算每个分箱中获得的分数。如果我是对的,这也可以通过额外的摘要表示来处理:添加一个表,其中包含一个表示 bin 的列(比如一个 int,0..40)和一个表示分数数量的 int 列在那个垃圾箱中实现。整个表 40*2ints 可以很容易地读入内存并进行操作。

关于javascript - 解析.com : generate statistics out of a large set of data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28412091/

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