【问题标题】:What does the random_state parameter do in sklearn's ParameterSampler?sklearn的ParameterSampler中的random_state参数有什么作用?
【发布时间】:2017-12-18 18:44:44
【问题描述】:

我正在尝试实现 sklearn 的 ParameterSampler,但我不完全确定 random_state 参数的作用。

我的猜测是,如果将random_state 设置为None,则使用正常随机抽样。如果random_state 不是None,那么使用伪随机抽样?

我也不确定不同的 int 值对采样有何影响。例如,random_state = 1 是否与 random_state = 2 不同?如果是,怎么做?

【问题讨论】:

    标签: python random scikit-learn sampling


    【解决方案1】:

    来自documentation

    如果random_stateNonenp.random,则返回一个随机初始化的RandomState 对象。

    如果random_state 是一个整数,则它用于为新的RandomState 对象播种。

    如果random_stateRandomState 对象,则它被传递。

    基本上,通过设置random_state,您可以保证(伪)随机数生成器每次生成相同的随机整数序列,这反过来会影响您的数据采样方式。

    【讨论】:

      【解决方案2】:

      random_state 不影响分发。它是一个使您能够获得一致结果的参数。如果将其设置为 1,则每次运行代码都会得到相同的结果。如果将其设置为 2,也会发生这种情况(但可能使用与以前不同的值)。如果您将其设置为 None(默认),则每次选择随机种子时,您都会得到不同的结果。

      【讨论】:

        【解决方案3】:

        sklearn 中的这个 random_state 参数为函数的内部随机数生成器提供了一个种子值。 如果我们为该种子值选择不同的值,则会导致训练和测试的随机拆分不同。所以,如果我们想每次都得到相同的训练和测试分割,我们需要确保传入相同的随机状态参数值。所以它类似于 random.seed() 代码。

        【讨论】:

          猜你喜欢
          • 2019-03-25
          • 2020-09-04
          • 2017-09-05
          • 1970-01-01
          • 2020-04-09
          • 1970-01-01
          • 2019-01-18
          • 2019-05-23
          • 1970-01-01
          相关资源
          最近更新 更多