在R中的脚本中,种子应该附加在哪里?一次或多次



上下文是,我使用带有数据集的插入符号库来使用不同的模型进行训练和预测。在R脚本的开头或在每个训练和预测过程中设置种子有什么区别?

谢谢Manel

设置种子使以下RNG输出可重复。因此,如果发生了一些奇怪的事情,并且你想调试它,设置种子可以让你看到它再次发生。一开始做一次意味着你必须重复整个序列,做几次意味着需要重复更少。因此,在调试过程中,在要检查的部分之前设置种子可能是有意义的。

另一方面,许多统计方法假定结果是独立的。如果你想生成1000个随机数,你只需要在一开始设置一次种子,之后RNG将近似独立。每次将种子设置为不同的值可能是可以的,但大多数RNG都是在假设种子只设置一次的情况下进行测试的,因此如果您多次设置种子,您可能会发现种子模式会使结果无效。因此,对于最终结果,您应该只在开始时设定种子。

正如@RobertLong所说,这也让更改种子更方便,看看你的结果是否会用不同的种子重复。

在R脚本的开头或在每个训练和预测过程中设置种子有什么区别?

结果将略有不同,但两者都是有效的。

我倾向于总是只使用一个set.seed(),通常在脚本顶部附近。在多个地方设置种子的缺点是没有必要,如果你想更改种子,那么你必须在几个地方这样做。

相关内容

最新更新