当前位置:  开发笔记 > 编程语言 > 正文

从np.random.choice获取{ValueError}'a'必须是1-dimensoinal

如何解决《从np.random.choice获取{ValueError}'a'必须是1-dimensoinal》经验,为你挑选了1个好方法。

我想从XOR函数创建一个玩具训练集:

xor = [[0, 0, 0],
       [0, 1, 1],
       [1, 0, 1],
       [1, 1, 0]]

input_x = np.random.choice(a=xor, size=200)

但是,这给了我

{ValueError} 'a' must be 1-dimensoinal

但是,如果我在此列表中添加例如一个数字:

xor = [[0, 0, 0],
       [0, 1, 1],
       [1, 0, 1],
       [1, 1, 0],
       1337]       # With this it will work

input_x = np.random.choice(a=xor, size=200)

它开始工作。为什么会这样,又如何在不必向xor列表中添加其他原语的情况下进行这项工作?



1> BloodyD..:

如果是数组,我将执行以下操作:

xor = np.array([[0,0,0],
       [0,1,1],
       [1,0,1],
       [1,1,0]])
indices = np.arange(len(xor))
rnd_indices = np.random.choice(indices, size=200)

xor_data = xor[rnd_indices]


您还可以优化代码,如其他人建议的那样,使用np.random.choice(len(xor),size = 200);)
推荐阅读
mobiledu2402851323
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有