Python 使用Numpy为sklearn设置良好的随机化环境

Python 使用Numpy为sklearn设置良好的随机化环境,python,numpy,random,scikit-learn,Python,Numpy,Random,Scikit Learn,我想知道是否有优化随机环境的最佳实践。目前,我在配置中使用以下简单结构: 来自numpy.random导入生成器,PCG64 rng=发电机(PCG64(42)) np.随机种子(42) rnggenerator:所有通用(按照特定分布、索引排列、合成数据点等绘制) 遗留np.random.seed为scipy.stats生成器的rvs方法设置scipy的随机状态 我在sklearn文档(警告部分)的某个地方读到,sklearn.model_选择模块使用scipy的全局种子,这将是具有np.r

我想知道是否有优化随机环境的最佳实践。目前,我在配置中使用以下简单结构:

来自numpy.random导入生成器,PCG64
rng=发电机(PCG64(42))
np.随机种子(42)
  • rng
    generator:所有通用(按照特定分布、索引排列、合成数据点等绘制)
  • 遗留
    np.random.seed
    scipy.stats
    生成器的
    rvs
    方法设置scipy的随机状态
  • 我在sklearn文档(警告部分)的某个地方读到,
    sklearn.model_选择
    模块使用scipy的全局种子,这将是具有
    np.random.seed的全局种子集,不是吗

    如果您更好地理解scipy和sklearn如何引用全局种子,以及什么是好的默认随机化设置,那么它将非常有用。我已经阅读了与此相关的内容,但有矛盾的迹象:为了一致性,每次都应该将一个种子传递给
    random_state
    参数(使用
    np.random.RandomState()
    类),但他们也说如果
    None
    被传递,它将查找全局np种子。然而,对于最后一个选项,我无法清楚地看到一致的行为,第二个选项非常冗长

    有什么想法吗