Python numpy.random.seed()的用途是什么?它有什么区别吗?
我有一个名为“招生”的数据集 我试图在一个简单的数据集上执行保持验证。为了对数据集的索引执行排列,我使用以下命令:Python numpy.random.seed()的用途是什么?它有什么区别吗?,python,numpy,random,Python,Numpy,Random,我有一个名为“招生”的数据集 我试图在一个简单的数据集上执行保持验证。为了对数据集的索引执行排列,我使用以下命令: import numpy as np np.random.permutation(admissions.index) 在排列之前是否需要使用np.random.seed()?如果是这样,那么为什么以及np.random.seed(number)中的数字代表什么?您不需要在随机排列之前初始化种子,因为这已经为您设置好了。 根据以下文件: 参数: 种子:{None,int,array
import numpy as np
np.random.permutation(admissions.index)
在排列之前是否需要使用
np.random.seed()
?如果是这样,那么为什么以及np.random.seed(number)
中的数字代表什么?您不需要在随机排列之前初始化种子,因为这已经为您设置好了。
根据以下文件:
参数:种子:{None,int,array_like},可选 随机种子初始化伪随机数生成器。可以是一个 整数,任意长度的整数数组(或其他序列),或 无(默认设置)。如果seed为None,则RandomState将尝试读取 来自/dev/uradom(或Windows模拟)的数据(如果可用)或种子 否则,从时钟开始 种子的概念与随机数的产生有关。你可以阅读更多关于它的内容 为了将这个答案与(约翰科勒曼)对你的问题的评论结合起来,我想举一个例子:
>>> numpy.random.seed(0)
>>> numpy.random.permutation(4)
array([2, 3, 1, 0])
>>> numpy.random.seed(0)
>>> numpy.random.permutation(4)
array([2, 3, 1, 0])
请注意,它已弃用,仅保留用于向后兼容。这是因为重新播种现有的随机数生成器(RNG)是不好的做法。如果您需要种子(例如,为了使计算可重复用于测试),请创建一个新的RNG:
将numpy导入为np
rng=np.random.default\u rng(seed=0)
out=随机变量(5)
在此处检查:如果您希望能够以完全相同的排列重复实验(例如为了调试目的),则需要设置一个可复制的种子。如果不需要重复,则可以跳过显式种子设定部分。如果确实为调试设置了显式种子,请在调试完成后将其删除。可能存在C.f。