np.random.rand Python的等效代码

问题描述 投票:0回答:2

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与具有强密码随机数的代码相当。但该定义与种子之间的关系仍不清楚。

python numpy programming-languages
2个回答
1
投票

该功能更像下面的代码。你不要改变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)的浮点数。我已经省去了分配数组,但你问了更多关于随机方面的问题。


1
投票

我将补充说,数据中的种子最终会带来安全风险,因为序列将受到逆向工程的影响。

Python和numpy的随机数生成器使用计算机可以生成的最佳随机种子。

为了在测试过程中重现性,随机数发生器可以播种(seed(n)n可以是任何你想要使序列可重复的)。

请注意,对于任何涉及安全性的内容,Python文档建议使用secrets模块。

© www.soinside.com 2019 - 2024. All rights reserved.