如何获得sklearn的当前随机种子? [复制]

Posted

技术标签:

【中文标题】如何获得sklearn的当前随机种子? [复制]【英文标题】:How to get current random seed of sklearn? [duplicate] 【发布时间】:2021-07-18 09:42:32 【问题描述】:

当我使用train_test_splid 时:

from sklearn.model_selection import train_test_split
X_train, X_test, y_train, y_test =train_test_split(X, Y, test_size = 0.9)

如果我没有设置具体的random_state。如何获取程序当前使用的随机种子?

【问题讨论】:

为什么不自己设置呢?类似random_state = 3?每次您不自己设置时,它都会使用不同的种子。请注意,您也应该设置shuffle。根据documentation 的原因,随机化也可能取决于随机播放 您能解释一下为什么不设置自己的原因吗? 【参考方案1】:

这里的基础是随机状态。您可以从种子中生成随机状态。但是如果你不指定种子,就没有种子,只是一个随机状态。您可以根据需要访问:

sklearn.utils.check_random_state()

np.random.get_state()

您可以稍后将随机状态对象传递给

np.random.set_state(state)

另见question。如果不先以某种方式设置种子,您真的无法获得种子。

【讨论】:

【参考方案2】:

来自他们的documentation

如果 random_state 为 None 或 np.random,则返回一个随机初始化的 RandomState 对象。

你可以使用check_random_state

如果你需要一个随机状态,你应该自己初始化它。

【讨论】:

以上是关于如何获得sklearn的当前随机种子? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

SVM sklearn 上的随机种子产生不同的结果

如何使用 TensorFlow 获得稳定的结果,设置随机种子

如何在sklearn的随机森林中获得决策函数

机器学习之sklearn数据集

lua 如何设置随机种子、

就生成随机数而言,种子是啥? [复制]