sklearn的ParameterSampler中的random_state参数有什么作用?

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

我正在尝试实现 sklearn 的 ParameterSampler,但我不完全确定

random_state
参数的作用。

我的猜测是,如果

random_state
设置为
None
,则使用正态随机抽样。如果
random_state
不是
None
,那么使用伪随机采样?

我也不确定不同的 int 值如何影响采样。例如,

random_state = 1
是否与
random_state = 2
不同?如果是的话,怎么办?

python random scikit-learn sampling
4个回答
4
投票

来自文档

如果

random_state
None
np.random
,则返回随机初始化的
RandomState
对象。

如果

random_state
是一个整数,那么它用于播种新的
RandomState
对象。

如果

random_state
是一个
RandomState
对象,那么它会被传递。

基本上,通过设置

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


4
投票

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


0
投票
sklearn 中的这个

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


0
投票
random_state 用于设置随机生成器的种子,以便您的训练测试数据分割始终是确定性的。如果不设置种子,每次都不一样。

© www.soinside.com 2019 - 2024. All rights reserved.