前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python学习——Numpy.random.seed()的用法

Python学习——Numpy.random.seed()的用法

原创
作者头像
Sparkle^
发布2022-05-12 17:20:20
1.3K0
发布2022-05-12 17:20:20
举报
文章被收录于专栏:知识锦囊知识锦囊

1. 函数np.random.seed(n)解释

功能:用于生成指定随机数。

参数:seed(n)中的参数n比喻成“堆”,seed(5)表示第5堆,n的数值基本可以随便设置。设置的seed(n)仅一次有效

(也有人比喻seed(n)里的n为一个盛有随机数的“聚宝盆”,一个数字代表一个“聚宝盆”,当我们设置相同的seed()时,“聚宝盆”就是一样的,所以每次取出的随机数就会相同。)

2. 用法

np.random.seed(n)可以按照顺序产生一组固定的数组如果使用相同的seed()值,则每次生成的随机数都相同;如果不设置这个值,那么每次生成的随机数不同。

注意:需要每次调用的时候都seed()一下,表示种子相同,从而生成的随机数相同。

例1:只调用一次seed(),两次产生的随机数不同。

代码语言:javascript
复制
import numpy as py

np.random.seed(1)
L1 = np.random.randn(3,3)
L2 = np.random.randn(3,3)  # 这已经不是在设置的np.random.seed(1)下生成的随机数了,而是在默认的random下随机生成。
print(L1)
print(L2)

# 结果
[[ 1.62434536 -0.61175641 -0.52817175]
 [-1.07296862  0.86540763 -2.3015387 ]
 [ 1.74481176 -0.7612069   0.3190391 ]]
 
[[-0.24937038  1.46210794 -2.06014071]
 [-0.3224172  -0.38405435  1.13376944]
 [-1.09989127 -0.17242821 -0.87785842]]

例2:调用两次seed(),两次产生的随机数相同

代码语言:javascript
复制
import numpy as np

np.random.seed(1)
L1 = np.random.randn(3,3)
np.random.seed(1)
L2 = np.random.randn(3,3)
print(L1)
print(L2)

# 结果
[[ 1.62434536 -0.61175641 -0.52817175]
 [-1.07296862  0.86540763 -2.3015387 ]
 [ 1.74481176 -0.7612069   0.3190391 ]]
 
[[ 1.62434536 -0.61175641 -0.52817175]
 [-1.07296862  0.86540763 -2.3015387 ]
 [ 1.74481176 -0.7612069   0.3190391 ]]

总结:从每堆种子里选出来的数都是不会变的,从不同的堆里选随机种子每次都不一样。若想每次都能得到相同的随机数,每次产生随机数之前,都需要调用一次seed()。


参考资料:

np.random.seed()函数 - 知乎 (zhihu.com)

【数据处理】Numpy.random.seed()的用法 - 简书 (jianshu.com)

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 函数np.random.seed(n)解释
  • 2. 用法
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档