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 相关文章推荐
win7 下搭建sublime的python开发环境的配置方法
Jun 18 Python
Python实现二叉堆
Feb 03 Python
Python实现采用进度条实时显示处理进度的方法
Dec 19 Python
浅谈python中str字符串和unicode对象字符串的拼接问题
Dec 04 Python
pycharm修改界面主题颜色的方法
Jan 17 Python
OpenCV 模板匹配
Jul 10 Python
Pandas中DataFrame的分组/分割/合并的实现
Jul 16 Python
Python实现遗传算法(二进制编码)求函数最优值方式
Feb 11 Python
python利用线程实现多任务
Sep 18 Python
Django实现简单的分页功能
Feb 22 Python
Python 中的Sympy详细使用
Aug 07 Python
Python中生成随机数据安全性、多功能性、用途和速度方面进行比较
Apr 14 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实现aes加密类分享
2014/02/16 PHP
php注册登录系统简化版
2020/12/28 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
gearman中worker常驻后台,导致MySQL server has gone away的解决方法
2020/02/27 PHP
定义JavaScript二维数组采用定义数组的数组来实现
2012/12/09 Javascript
JS 实现图片直接下载示例代码
2013/07/22 Javascript
目前流行的JavaScript库的介绍及对比
2013/09/29 Javascript
jquery的ajax和getJson跨域获取json数据的实现方法
2014/02/04 Javascript
jquery使用each方法遍历json格式数据实例
2015/05/18 Javascript
基于JavaScript实现div层跟随滚动条滑动
2016/01/12 Javascript
Google 地图API资料整理及详细介绍
2016/08/06 Javascript
jquery.onoff实现简单的开关按钮功能(推荐)
2018/05/24 jQuery
jQuery实现获取动态添加的标签对象示例
2018/06/28 jQuery
JavaScript学习笔记之DOM基础操作实例小结
2019/01/09 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
python连接mysql数据库示例(做增删改操作)
2013/12/31 Python
python在linux系统下获取系统内存使用情况的方法
2015/05/11 Python
简介二分查找算法与相关的Python实现示例
2015/08/26 Python
Python基于回溯法子集树模板实现8皇后问题
2017/09/01 Python
使用pytorch进行图像的顺序读取方法
2018/07/27 Python
python中matplotlib条件背景颜色的实现
2019/09/02 Python
重写django的model下的objects模型管理器方式
2020/05/15 Python
python开根号实例讲解
2020/08/30 Python
世界最大的私人旅行指南出版商:孤独星球
2016/08/23 全球购物
日本最佳原创设计品牌:Felissimo(芬理希梦)
2019/03/19 全球购物
俄罗斯三星品牌商店:GalaxyStore
2020/11/04 全球购物
学校与家长安全责任书
2014/07/23 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
关于群众路线的心得体会
2014/11/05 职场文书
交通事故和解协议书
2015/01/27 职场文书
乡镇保密工作承诺书
2015/05/04 职场文书
python3实现Dijkstra算法最短路径的实现
2021/05/12 Python
PyTorch dropout设置训练和测试模式的实现
2021/05/27 Python
简单且有用的Python数据分析和机器学习代码
2021/07/02 Python
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js