np.random.seed和random_state有什么区别?

时间:2019-05-13 20:30:17

标签: python-3.x machine-learning

应用机器学习算法时,Python中的np.random.seedrandom_state有什么区别?

1 个答案:

答案 0 :(得分:0)

如果您想为调用np.random...的任何函数设置种子,我们将使用np.random.seed。设置种子的效果是全局的,因为它将最终影响所有功能。

>>> np.random.seed(1234)
>>> np.random.uniform(0, 1, 5)
array([0.19151945, 0.62210877, 0.43772774, 0.78535858, 0.77997581])
>>> np.random.rand(3)
array([0.27259261, 0.27646426, 0.80187218])
>>> np.random.seed(1234)
>>> np.random.rand(3)
array([0.27259261, 0.27646426, 0.80187218])

如果您不想更改全局种子值,而只想为一项任务设置状态,则使用random_state。

>>> r = np.random.RandomState(1234)
>>> r.uniform(0, 1, 5)
array([0.19151945, 0.62210877, 0.43772774, 0.78535858, 0.77997581])
>>> np.random.rand(3)
array([0.17292499, 0.24859476, 0.90838076])
>>> np.random.rand(3)
array([0.26393139, 0.69557975, 0.32776094])