首页 > 其他 > 详细

随机种子random_state,random seed

时间:2018-06-21 19:33:49      阅读:310      评论:0      收藏:0      [点我收藏+]

首先random_state和random seed是一样的,都是设置随机种子

在许多模型中都有random_state,例如SVC, ShuffleSplit()等,在模型中设置random_state作用就是可以使每次用相同的训练集相同参数可以得到相同的结果。不然的话,每训练一次,结果就会有波动。如果random_state都设置好,当别人拿到你的代码运行时就能得到和你一样的结果,复现你的过程。

特别注意:随机种子设置为0的时候结果也是一样的,除了不设置或设置为None时,产生的结果会不同

例:

不设置随机种子时,生成的随机数是变化的:

>>> random.seed()
>>> for i in range(10):
print(random.randint(1, 100))


31
14
40
70
62
34
5
74
60
78
>>> random.seed()
>>> for i in range(10):
print(random.randint(1, 100))


81
74
89
91
50
49
20
35
12
68
>>>

 

设置随机种子时,生成的随机数是不变的:

>>> random.seed(123)

>>> for i in range(10):
print(random.randint(1, 100))


7
35
12
99
53
35
14
5
49
69
>>> random.seed(123)
>>> for i in range(10):
print(random.randint(1, 100))


7
35
12
99
53
35
14
5
49
69

>>> random.seed(0)
>>> for i in range(10):
print(random.randint(1, 100))


50
98
54
6
34
66
63
52
39
62
>>> random.seed(0)
>>> for i in range(10):
print(random.randint(1, 100))


50
98
54
6
34
66
63
52
39
62

随机种子random_state,random seed

原文:https://www.cnblogs.com/alicewoo/p/9210513.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!