2*np.random.random.((3,1))-1
在上述语法中,为什么我们在开头使用2*
而在最后使用-1
...
请帮助我提供正确的答案
答案 0 :(得分:0)
结果来自指定时间间隔内的“连续均匀”分布。要对Unif [a,b)进行采样,b>将random_sample的输出乘以(b-a)并添加a:
(b - a) * random_sample() + a
换句话说,不是在0(包括)到1(排除)之间进行采样,而是在这里从-1(包括)到1(排除)进行采样。这只是对numpy数组的算术运算。
更详细地讲,代码行中的第一个操作是numpy.random.random((3, 1))
。这会从numpy.random库中调用random()函数。此函数接受一个输入,该输入就是要生成的对象的大小。在这里,您将生成一个具有3行和1列的numpy数组。该数组填充有0到1之间的随机值。然后,第二个操作是2 *
。这样,数组的每个值都将乘以2,因此所有值都在0到2之间。最后是-1
。在这里,将数组的所有值都减去1,这样最终值就在-1和1之间。