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 相关文章推荐
python使用电子邮件模块smtplib的方法
Aug 28 Python
python 信息同时输出到控制台与文件的实例讲解
May 11 Python
Python3中bytes类型转换为str类型
Sep 27 Python
详解python持久化文件读写
Apr 06 Python
python全栈要学什么 python全栈学习路线
Jun 28 Python
python3.6 tkinter实现屏保小程序
Jul 30 Python
Python中typing模块与类型注解的使用方法
Aug 05 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
使用Python制作缩放自如的圣诞老人(圣诞树)
Dec 25 Python
Python使用pyyaml模块处理yaml数据
Apr 14 Python
改变 Python 中线程执行顺序的方法
Sep 24 Python
Pytorch使用shuffle打乱数据的操作
May 20 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
用PHP的超级变量$_GET获取HTML表单(Form) 数据
2011/05/07 PHP
PHP无刷新上传文件实现代码
2011/09/19 PHP
浅析PHP中的UNICODE 编码与解码
2013/06/29 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
2016/04/23 PHP
Web Inspector:关于在 Sublime Text 中调试Js的介绍
2013/04/18 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
多个$(document).ready()的执行顺序实例分析
2014/07/26 Javascript
window.location.href的用法(动态输出跳转)
2014/08/09 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
js实现图片缓慢放大缩小效果
2016/08/02 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
nodejs个人博客开发第六步 数据分页
2017/04/12 NodeJs
老生常谈js中的MVC
2017/07/25 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
原生js+canvas实现验证码
2020/11/29 Javascript
[02:49:21]2019完美盛典全程录像
2019/12/08 DOTA
Python实现破解猜数游戏算法示例
2017/09/25 Python
图解Python变量与赋值
2018/04/03 Python
CentOS 7下安装Python3.6 及遇到的问题小结
2018/11/08 Python
Python pip替换为阿里源的方法步骤
2019/07/02 Python
python 检查数据中是否有缺失值,删除缺失值的方式
2019/12/02 Python
pytorch GAN生成对抗网络实例
2020/01/10 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
浅谈django 重载str 方法
2020/05/19 Python
解决python pandas读取excel中多个不同sheet表格存在的问题
2020/07/14 Python
Python如何对齐字符串
2020/07/30 Python
巴西一家专门从事家居和装饰的连锁店:Camicado
2019/08/14 全球购物
德国拖鞋网站:German Slippers
2019/11/08 全球购物
竞聘演讲稿范文
2014/01/12 职场文书
社区优秀志愿者材料
2014/02/02 职场文书
班级道德讲堂实施方案
2014/02/24 职场文书
工作检讨书怎么写
2015/01/23 职场文书
停课通知书
2015/04/24 职场文书
女方家长婚礼致辞
2015/07/27 职场文书
springmvc直接不经过controller访问WEB-INF中的页面问题
2022/02/24 Java/Android