numpy.random.seed()的理解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/album_gyd/article/details/89469761

代码一是使用了随机数种子seed(),种子数28,seed( ) 是用于指定随机数生成时所用算法开始的整数值,代码中每执行一次都使用了相同的随机数种子28,所以生成的随机数是相同的。

代码一:

for i in range(5):
    np.random.seed(28)
    print(np.random.random())

运行结果:

0.7290137422891191
0.7290137422891191
0.7290137422891191
0.7290137422891191
0.7290137422891191 

代码二中每执行一次都使用了不同的随机数种子i,所以生成的随机数是不同的。

代码二:

for i in range(5):
    np.random.seed(i)
    print(np.random.random())

运行结果:

0.5488135039273248
0.417022004702574
0.43599490214200376
0.5507979025745755
0.9670298390136767

再举个例子代码三,在执行5次循环中,只有第一次循环使用了seed(),因此seed()只作用了运行结果的第一个随机数字,其他几次循环不执行seed()提供的种子数28,所以根据系统的时间来生成自己的种子数,来生成随机数字,且每次生成的随机数字不相同。

代码三:

np.random.seed(28)
for i in range(5):
    print(np.random.random())

运行结果:

0.7290137422891191
0.5612396023276411
0.12496709200924094
0.39759236870011716
0.7813082062734761

总结:

seed( ) 用于指定随机数生成时所用算法开始的整数值。 
1.如果使用相同的seed( )值,则每次生成的随即数都相同; 
2.如果不设置这个值,则系统根据时间来自己选择这个值,生成自己的种子,此时每次生成的随机数因时间差异而不同。 
3.设置的seed()值仅一次有效

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值