numpy.random.rand()的功能是什么?我阅读了文档,并说创建给定形状的数组,并用均匀分布在[0,1)上的随机样本填充它。阅读文档后,我仍然不了解numpy.random.rand()的工作方式。
我希望通过将numpy.random.rand()函数与任何编程语言相关联来更好地理解它,它可以是C ++,Java等。 numpy.random.rand的伪代码说明em>仍然可以接受并且对我有帮助。如下面的示例:
equivalentRandomRandPython(size,size) {
seed = size*size
return seed*this.random();
}
我知道这是错误的。有人可以帮忙解释一下吗?我会很感激的。
编辑:该线程还有许多步骤需要解决,并且@Apalala给出了numpy.random.rand函数与其他可用于任何编程语言的代码等效的提示。 numpy.random.rand与代码中具有强随机数的代码等效。但是该定义与种子之间的关系仍然不清楚。
答案 0 :(得分:1)
该功能更像下面的代码。您不以此更改RNG seed ;我认为您在示例中误用了该术语。
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)的float。
我没有分配数组,但是您询问了有关随机方面的更多信息。
答案 1 :(得分:1)
我要补充一点,由于对序列进行逆向工程,因此从数据中播种最终将带来安全风险。
Python和numpy的随机数生成器使用计算机可以产生的最佳随机种子来工作。
为了在测试过程中具有可重现性,可以为随机数生成器添加种子(seed(n)
,而n
可以是您想要使序列可重现的任何对象)。
请注意,对于涉及安全性的所有内容,Python文档建议使用secrets模块。