sklearn shuffle 与 random_state 差别

仅对个人学习过程的疑问进行记录,以下为个人见解,欢迎指正。

shuffle:分割之前是否对数据进行洗牌(默认True)
random_state:随机种子 当种子固定时,可以实现实验复现,方便调节参数
只有当shuffle=True时,random_state才起作用。
几个例子:
1)shuffle和random_state均不设置,即默认为shuffle=True,重新分配前会重新洗牌,则两次运行结果不同
sklearn shuffle 与 random_state 差别_第1张图片
sklearn shuffle 与 random_state 差别_第2张图片
2)仅设置random_state,那么默认shuffle=True,根据新的种子点,每次的运行结果是相同的

sklearn shuffle 与 random_state 差别_第3张图片

3)如果仅设置shuffle=True 那么每次划分之前都要洗牌 多次运行结果不同
sklearn shuffle 与 random_state 差别_第4张图片

sklearn shuffle 与 random_state 差别_第5张图片
4)如果shuffle=False,random_state=4(即一个固定值),则不洗牌,后面的random_state不起作用,与不设置random_state的结果相同
sklearn shuffle 与 random_state 差别_第6张图片
sklearn shuffle 与 random_state 差别_第7张图片
5)设置shuffle=True,且 random_state=4(即一个固定值)可以实现复现,便于调节参数

sklearn shuffle 与 random_state 差别_第8张图片

你可能感兴趣的:(代码小笔记)