numpy.random.rand()的功能是什么?我阅读了文档,并说它创建了一个给定形状的数组,并用来自均匀分布的随机样本填充[0,1]。阅读文档后,我仍然不明白numpy.random.rand()的工作原理。
我希望通过将numpy.random.rand()函数与任何编程语言相关联来更好地理解它,它可以是C ++,Java等.numpy.random.rand的伪代码解释仍然可以接受并对我有帮助。如下例:
equivalentRandomRandPython(size,size) {
seed = size*size
return seed*this.random();
}
我知道这是错的。有人可以解释一下吗?我会很感激。
编辑:这个线程有更多的步骤需要解决,并且@Apalala提供了关于numpy.random.rand函数等效于其他代码的提示,这些代码可以用于任何编程语言。 numpy.random.rand与具有强密码随机数的代码相当。但该定义与种子之间的关系仍不清楚。
该功能更像下面的代码。你不要改变RNG种子;我认为你在你的例子中误用了这个词。
equivalentRandomRandPython(len, wid) {
for (row=0; row < len; row++) {
for (col = 0; col < wid; col++) {
array[row, col] = random()
return array
这假设random
是规范的RNG,返回范围为[0.0,1.0)的浮点数。我已经省去了分配数组,但你问了更多关于随机方面的问题。
我将补充说,数据中的种子最终会带来安全风险,因为序列将受到逆向工程的影响。
Python和numpy的随机数生成器使用计算机可以生成的最佳随机种子。
为了在测试过程中重现性,随机数发生器可以播种(seed(n)
,n
可以是任何你想要使序列可重复的)。
请注意,对于任何涉及安全性的内容,Python文档建议使用secrets模块。