随机种子random_state,random seed

首先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

猜你喜欢

转载自www.cnblogs.com/alicewoo/p/9210513.html
今日推荐