随机种子seed的作用

一、随机种子seed

 我们在接触机器学习和深度学习的过程中,总是遇到随机种子seed,在使用的过程中总是不知所云,下面我们就探讨一下随机种子。

#不设置随机种子
import random
print(random.random())
print(random.random())
print(random.random())
print(random.random())
......

[result]

0.45492700451402135
0.7707838056590222
0.705513226934028
0.7319589730332557
......

 会发现每次生成0~1之间的小数且不重复,但有时候我们需要对实验进行复现,由于是随机数,很难达到实验结果最好的精度。但随机种子的出现就有了可能。
 随机种子(Random Seed)是一个用于生成随机数的起始值或种子值。在机器学习和统计学中,使用随机种子可以控制随机过程的可重复性。

import random
random.seed(10)
print(random.random())
print(random.random())
random.seed(10)
print(random.random())
print(random.random())

[result]

0.5714025946899135
0.4288890546751146
0.5714025946899135
0.4288890546751146

 我们可以这样理解,每个随机种子确定了一个随机序列,当再次使用这个随机种子的时候,这个序列就按最初的排序方法进行排序。使用随机种子可以对样本和标签以相同的随机序列进行随机打乱。

import random
a = [i for i in range(10) ]
b = [i for i in range(10,20)]
#a= [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
#b= [10, 11, 12, 13, 14, 15, 16, 17, 18, 19]
random.seed(2023)
random.shuffle(a)
random.seed(2023)
random.shuffle(b)
print(a)
print(b)

[result]

[1, 0, 3, 8, 5, 4, 2, 9, 7, 6]
[11, 10, 13, 18, 15, 14, 12, 19, 17, 16]

总结
使用随机种子的好处包括:

  • 结果可重现性:通过设置相同的随机种子,可以确保每次运行时获得相同的随机数序列,使实验结果可重现,方便调试和比较不同模型或算法的性能。

  • 模型比较:在比较不同模型或算法的性能时,使用相同的随机种子可以确保每个模型或算法在相同的随机条件下进行比较,消除了随机性对结果的影响。

  • 调试和开发:在调试和开发阶段,使用固定的随机种子可以使得结果可重现,方便定位问题和调整模型参数。

常见的设置随机种子的方式包括:

  • 设置为固定的整数值,例如 random_state = 0。
  • 使用当前时间作为种子值,例如 random_state = None 或 random_state = int(time.time())。
  • 使用其他可确定的值,例如数据集的标识符或任务的编号。
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鲸可落

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值