numpy.random.seed()的使用实例解析


Posted in Python onFebruary 03, 2018

这个函数的使用方法,已经有前辈讲解过了,只是自己在测试的时候有一些思考,所以便写了这篇博客。下面是前辈文章的原话:

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

编写如下第一份代码:

from numpy import *
num=0
while(num<5):
  random.seed(5)
  print(random.random())
  num+=1

运行结果为:

0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948

可以看到,每次运行的结果都是一样的

修改代码,如下为第二份代码:

from numpy import *
num=0
random.seed(5)
while(num<5):
  print(random.random())
  num+=1

运行结果为:

0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914

可以看到,和上一份代码的运行结果不同。这里每次的输出结果都是不一样的。这也就提醒了我们在以后编写代码的时候要明白一点:random.seed(something)只能是一次有效。其实仔细想想也很自然,如果不是一次有效,比如说是一直有效,那岂不是会影响到后续的代码中随机数的选取?

这次测试的代码比较可以说是很简单的,但是却暴露了我的一个思维上的漏洞:在这次测试中我虽然明白了:

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

这段话的意思,但是我却先入为主地认为第二份代码的结果应和第一份代码中的一致。而通过反面思考,假设这个函数使用一次后便是一直有效的,那么每次生成的随即数都会相同,但是这样岂不是会影响到后续的代码中随机数的选取?

所以,以后学新的东西的时候,都要问自己傻问题,不断地去测试自己的想法以达到更深的理解。

故对于该函数的使用,可总结为:

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

总结

以上就是本文关于numpy.random.seed()的使用实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
解决windows下Sublime Text 2 运行 PyQt 不显示的方法分享
Jun 18 Python
pygame学习笔记(5):游戏精灵
Apr 15 Python
python获取当前时间对应unix时间戳的方法
May 15 Python
Python中List.count()方法的使用教程
May 20 Python
浅谈Python 中整型对象的存储问题
May 16 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
keras使用Sequence类调用大规模数据集进行训练的实现
Jun 22 Python
Python截图并保存的具体实例
Jan 14 Python
Python 求向量的余弦值操作
Mar 04 Python
Python insert() / append() 用法 Leetcode实战演示
Mar 31 Python
python如何在word中存储本地图片
Apr 07 Python
PyTorch梯度裁剪避免训练loss nan的操作
May 24 Python
Python网络爬虫中的同步与异步示例详解
Feb 03 #Python
Python模块文件结构代码详解
Feb 03 #Python
Python处理文本换行符实例代码
Feb 03 #Python
Python断言assert的用法代码解析
Feb 03 #Python
Python下载网络小说实例代码
Feb 03 #Python
JS设计模式之责任链模式实例详解
Feb 03 #Python
numpy使用技巧之数组过滤实例代码
Feb 03 #Python
You might like
ajax缓存问题解决途径
2006/12/06 PHP
CodeIgniter框架过滤HTML危险代码
2014/06/12 PHP
php对文件进行hash运算的方法
2015/04/03 PHP
jQuery+php简单实现全选删除的方法
2016/11/28 PHP
PHP实现自动发送邮件功能代码(qq 邮箱)
2017/08/18 PHP
Javascript valueOf 使用方法
2008/12/28 Javascript
js实现的日期操作类DateTime函数代码
2010/03/16 Javascript
jquery fancybox ie6不显示关闭按钮的解决办法
2013/12/25 Javascript
JS网页图片按比例自适应缩放实现方法
2014/01/15 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
使用AmplifyJS组件配合JavaScript进行编程的指南
2015/07/28 Javascript
JQuery的Pager分页器实现代码
2016/05/03 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
javascript Promise简单学习使用方法小结
2016/05/17 Javascript
AngularJS封装$http.post()实例详解
2017/05/06 Javascript
使用 Vue.js 仿百度搜索框的实例代码
2017/05/09 Javascript
Angular 2父子组件之间共享服务通信的实现
2017/07/04 Javascript
vue实现表格增删改查效果的实例代码
2017/07/18 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
axios携带cookie配置详解(axios+koa)
2018/12/28 Javascript
TypeScript中的方法重载详解
2019/04/12 Javascript
对layer弹出框中icon数字参数的说明介绍
2019/09/04 Javascript
[40:53]完美世界DOTA2联赛PWL S3 Magma vs DLG 第二场 12.18
2020/12/20 DOTA
使用Python脚本操作MongoDB的教程
2015/04/16 Python
解决python 3 urllib 没有 urlencode 属性的问题
2019/08/22 Python
CSS3旋转——彩色扇子兼容firefox浏览器
2013/06/04 HTML / CSS
美国最大网上鞋店:Zappos
2016/07/25 全球购物
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
一些Solaris面试题
2013/03/22 面试题
电气自动化大学生求职信
2013/10/16 职场文书
大学同学聚会邀请函
2014/01/19 职场文书
三八红旗手先进事迹材料
2014/05/13 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
2014年村党支部工作总结
2014/12/04 职场文书
2015年领导班子工作总结
2015/05/23 职场文书