numpy.random.randn 每次都会生成相同的值

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

我的代码非常基础 将 numpy 导入为 np

np.random.seed(1)
X_assess = np.random.randn(2, 3)
Y_assess = (np.random.randn(1, 3) > 0)
print (X_assess)
print (Y_assess)

但是,每次我执行这段代码时它都会生成相同的值。 (我正在使用https://www.tutorialspoint.com/execute_numpy_online.php

数值是

enter image description here

知道为什么吗?我认为这些值是随机的,并且每次执行都会有所不同。

python numpy
1个回答
1
投票

设置

np.random.seed(seed_value)
的目的是让您每次
seed_value
相同时都能得到相同的答案。这意味着进行单元测试,您需要随机数每次都表现相同。

如此,您可以发送代码,如果

seed_value
相同,您将得到相同的答案。我在运行 python 3.12 的机器上得到了完全相同的数字

In [2]: import numpy as np

In [3]: np.random.seed(1)
   ...: X_assess = np.random.randn(2, 3)
   ...: Y_assess = (np.random.randn(1, 3) > 0)
   ...: print (X_assess)
   ...: print (Y_assess)
[[ 1.62434536 -0.61175641 -0.52817175]
 [-1.07296862  0.86540763 -2.3015387 ]]
[[ True False  True]]
© www.soinside.com 2019 - 2024. All rights reserved.