首页 > 编程知识 正文

什么叫随机种子,不带随机种子的随机函数

时间:2023-05-03 21:28:35 阅读:184681 作者:4012

 

X_train,X_test,y_train, y_test = train_test_split(X, y, random_state=0)

我们在机器学习中,经常会使用划分训练集和测试集的类train_test_split,而其中有一个参数是random_state,人们给了它一个好听的名字,叫做随机种子。

那么这个随机种子的作用是什么呢,它该如何设置取值呢?

其实随机种子控制每次划分训练集和测试集的模式,其取值不变时划分得到的结果一模一样,其值改变时,划分得到的结果不同。若不设置此参数,则函数会自动选择一种随机模式,得到的结果也就不同。

也就是说:相同的随机种子取值,对应同一种数据集的划分结果。

在需要设置random_state的地方给其赋一个值,当多次运行此段代码能够得到完全一样的结果,别人运行此代码也可以复现你的过程。

也就是说:设置随机种子的值可以是任意的,可以是0或1或2,甚至是9999,只不过对应的代码运行结果不同。有助于我们复现别人的实验结果!

若不设置此参数则会随机选择一个种子,执行结果也会因此而不同了。虽然可以对random_state进行调参,但是调参后在训练集上表现好的模型未必在陌生训练集上表现好,所以一般会随便选取一个random_state的值作为固定值参数。

也就是说:一般情况下,随机种子的值我们可以随便设置,虽然它是一个超参数,但是我们一开始就固定它的值,不再去对他进行调参,对我们的模型的影响是微乎其微的。

 

自信点,大胆尝试任何事情,年轻人就是要犯错,就是要经历失败!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。