gpt4 book ai didi

python - 如何在python中随机采样矩阵?

转载 作者:行者123 更新时间:2023-11-28 21:16:54 24 4
gpt4 key购买 nike

我有一个相对较大的数组,例如200 x 1000。该矩阵是一个稀疏矩阵,其中的元素可以视为权重。权重范围从 0 到 500。我想生成一个相同大小的新数组,200x1000,其中新数组的 N 个元素是随机整数 {0,1}。新矩阵中元素为 0 或 1 的概率与原始数组的权重成正比 - 权重越高,1 对 0 的概率越高。

换句话说:我想生成一个大小为 200x1000 的零矩阵,然后根据 200x1000 的权重矩阵随机选择 N 个元素翻转为 1。

最佳答案

我也会在这里提出我提出的解决方案:

# for example
a = np.random.random_integers(0, 500, size=(200,1000))
N = 200

result = np.zeros((200,1000))
ia = np.arange(result.size)
tw = float(np.sum(a.ravel()))
result.ravel()[np.random.choice(ia, p=a.ravel()/tw,
size=N, replace=False)]=1

其中a是权重数组:即从ia数组中选取要更改为1的项的索引,由a<加权.

关于python - 如何在python中随机采样矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28119275/

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