gpt4 book ai didi

algorithm - 按规则生成子集

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

假设我们在数据库中有 5000 个用户。用户行有性别列、出生地列和状态(已婚或未婚)列。

如何生成满足这些条件的随机子集(假设有 100 个用户):

  • 40% 应该是男性,60% 应该是女性
  • 50% 应出生在美国,20% 出生在英国,20% 出生在加拿大,10% 出生在澳大利亚
  • 70% 应该结婚,30% 没有。

这些条件是独立的,也就是说我们不能这样做:

  • (0.4 * 0.5 * 0.7) * 100 = 14 位男性用户,出生在美国并已婚
  • (0.4 * 0.5 * 0.3) * 100 = 6 位男性用户,出生在美国且未婚。

这一代有算法吗?

最佳答案

分割需要准确还是近似?通常,如果您要生成这样的样本,那么您就是在进行一些统计研究,因此生成一个近似样本就足够了。

方法如下:

有一个函数 genRandomIndividual()。

每次生成个体,使用随机函数选择性别-男性概率为40%

再次使用随机函数选择出生地(只在0-1区间生成一个实数,如果落在0-.5,就选择USA,如果是.5-.7,那么选择&K,如果是.7-.9然后是加拿大,否则是澳大利亚)。

使用随机函数选择已婚状态(再次在 0-1 中生成,如果 0-.7 则已婚,否则不是)。

一旦你有了一组特征,就在数据库中搜索第一个满足这些特征的个体,将它们添加到你的样本中,并将其标记为已添加到数据库中。继续这样做,直到您达到样本量为止。

可能没有满足特征的个体。然后,只生成一个新的随机个体。由于世代是独立的并根据所需的概率生成特征,因此最终您将拥有正确大小的样本量,其中个体根据指定的概率随机生成。

关于algorithm - 按规则生成子集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1934145/

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