numpy 学习汇总2-np.random随机函数 tcy
发布日期:2021-06-29 14:46:35
浏览次数:2
分类:技术文章
本文共 3183 字,大约阅读时间需要 10 分钟。
np.random函数 2018/11/11# random模块对Python 内置random进行补充,增加多种概率分布样本值函数。==================================================================1.np.random.seed(int or 1D)#随机数生成器的种子# 当设置相同seed每次生成随机数相同。不设置每次生成不同随机数# 实例:np.random.rand(2)# array([0.90784657, 0.36735227])np.random.rand(2)# array([0.17940242, 0.40395781])#每次生成随机数不同np.random.seed(6)np.random.rand(2)# array([ 0.39983389, 0.29426895 ])np.random.seed(6)# 生成随机数相同np.random.rand(2)# array([ 0.39983389, 0.29426895 ])==================================================================2.从给定范围[low,high)随机选取整数np.random.randint(low, high=None, size=None, dtype='I')#从给定范围[low,high)随机选取整数# 参数: low最小值. high最大值;缺省[0,low). size=i,n,m数组维度. dtype默认数据类型np.int# 无size参数返回标量,否则哪怕=1也返回数组# 实例:np.random.randint(10) # 等价于np.random.randint(0,10) # int 4np.random.randint(0,10,size=2) # array([3, 4])np.random.randint(0,10,size=(2,)) # array([4, 0])np.random.randint(0,10,size=(2,2)) # array([[4, 2],[1, 6]])np.random.randint(0,10,size=(2,2,2)) # array([[[5, 7],[0, 2]],[[5, 0], [6, 7]]])===================================================================3.生成[0,1)之间的浮点数np.random.random_sample(size=None)#连续均匀分布样本的随机数np.random.random(size=None) #连续统一分布随机数np.random.ranf(size=None) #连续统一分布随机数np.random.sample(size=None) #连续统一分布样本随机数# 实例np.random.random_sample(size=(2, 2))# array([[0.8626287 , 0.33364515], [0.24693522, 0.16184619]])===================================================================4.rand/randn生成[0,1)间随机数np.random.rand([i],[n],[m]) # 根据给定shpae的int值生成[0,1)间数据np.random.randn([i],[n],[m]) # 正态分布均值0 标准差1 的样本值,类似rand# 实例:np.random.rand() # float 0.0689791313945175np.random.rand(2) # shape(2,) array([0.63512723, 0.11450088])np.random.rand(2,2) # shape(2,2) array([[0.83001241, 0.47520661],[0.57485929, 0.57862025]])np.random.rand(2,2,2)# shape(2,2,2)===================================================================5.标准正态分布随机数np.random.normal(loc=0.0, scale=1.0, size=None) #标准正态分布随机数#loc均值,scale标准差# 实例:mu, sigma = 0, 0.1 # 平均值和标准差s = np.random.normal(mu, sigma, 1000)# 验证均值和标准差:mu,np.mean(s) #(0, 0.00012892289536839242)sigma,np.std(s, ddof=1) #(0.1, 0.1000659386251403)====================================================================6. 从给定的一维数组中生成随机样本np.random.choice(a, size=None, replace=True, p=None)# 参数:# 1) a为1D或int;如a为整数对应一维数组为np.arange(a)# 2) size为数组维度;# 3) p为数组中数据出现的概率;a为数组len(p)=len(a),sum(p)=1# 实例1:a=intnp.random.choice(5,3) # array([4, 1, 4])相当于np.random.randint(0,5,3)np.random.choice(5, size=(3, 2)) # array([[1, 0],[4, 2],[3, 3]])np.random.choice(5, 3, p=[0.1, 0, 0.3, 0.6, 0])#生成非均匀随机样本array([3, 3, 0])np.random.choice(5, 3, replace=False) #生成一个均匀的随机样本array([3,1,0])# replace=False生成随机数不能有重复值 - # 相当于np.random.permutation(np.arange(5))[:3]# 实例2:a=np.arraya = ['s1', 's2','s3','s4', 's5']np.random.choice(a,size=(3,3))# array([['s3', 's1', 's5'], ['s1', 's5', 's5'], ['s3', 's1', 's2']], dtype='
附录:参考函数
No | 函数 | 说明 |
1 | seed | 确定随机数生成器的种子 |
2 | permutation | 返回一个序列的随机排列或返回一个随机排列的范围 |
3 | shuffle | 对一个序列就地随机排列 |
4 | rand | 产生均匀分布的样本值 |
5 | randint | 从给定的上下限范围内随机选取整数 |
6 | randn | 产生正态分布均值0 标准差1 的样本值 |
7 | binomial | 产生二项分布的样本值 |
8 | normal | 产生正态(高斯)分布的样本值 |
9 | beta | 产生Beta分布的样本值 |
10 | chisquare | 产生卡方分布的样本值 |
11 | gamma | 产生Gamma分布的样本值 |
12 | uniform | 产生在[0, 1 )中均匀分布的样本值 |
转载地址:https://chunyou.blog.csdn.net/article/details/83961601 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
不错!
[***.144.177.141]2024年04月13日 06时41分19秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
select、poll、epoll之间的区别
2019-04-29
Shopify!Shopify!Shopify!
2019-04-29
这是美国MarTech最大的一家独立公司:HubSpot
2019-04-29
从开发到产出:关于机器学习的七则干货建议
2019-04-29
你想成为数据科学家吗?不要把机器学习当成入门第一课
2019-04-29
你想成为数据科学家吗?不要把机器学习当成入门第一课
2019-04-29
现代社会悖论:信息泛滥是一只不守规矩的野兽
2019-04-29
如何设计自己的第一个加密交易机器人?
2019-04-29
浪费在Excel上的时间:如何开始专家式机器学习实验追踪?
2019-04-29
失业三星期:我寻找第二份编程工作之路
2019-04-29
跳过媒介,我们能不能只用思想控制计算机?
2019-04-29
服务器宕机:谷歌最近经历了“黑客攻击”吗?
2019-04-29
RepVGG:极简架构,SOTA性能,让VGG式模型再次伟大
2019-04-29
提升查询技能,这7条SQL查询错误必须解决
2019-04-29
TKDE 2020 | 综述:基于知识图谱的推荐系统
2019-04-29
休息时间!哪些业余活动能提升开发人员的技能?
2019-04-29
把人脑“森林”上传到计算机:人类脑计划只是一个科幻野心?
2019-04-29
智力测试:如何超越动物之智?
2019-04-29
事关人类生存?为什么要探寻AI系统的可解释性?
2019-04-29
安全工程师必知:常见Java漏洞有哪些?
2019-04-29