numpy.random.seed()的使用实例解析
这个函数的使用方法,已经有前辈讲解过了,只是自己在测试的时候有一些思考,所以便写了这篇博客。下面是前辈文章的原话:
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()的使用实例解析的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
您可能感兴趣的文章:
- numpy.random.seed()的使用
- numpy.random.seed()的使用
- numpy.random.seed()的使用
- 使用autotools建立Makefile简单实例解析
- 实例解析SQL SERVER嵌套触发器使用方法
- Java使用SOAP获取webservice实例解析
- 实例037 使用dom4j解析XML文件
- 使用java解析xml的实例程序
- 使用gSOAP开发实例(5) libxml2解析SOAP响应消息
- jQuery插件ajaxFileUpload使用实例解析
- java中的TreeMap类使用实例解析
- Linux中sed和awk的使用及其相关实例解析
- Java XML解析工具 JDOM介绍及使用实例
- Java XML解析工具 dom4j介绍及使用实例
- android中使用pull方式解析sdcard中的xml文件实例
- 使用autotools建立Makefile简单实例解析
- sp_xml_preparedocument sp_xml_removedocument 使用 实例 解析
- 使用POI解析Word2007和Excel2007的实例代码
- Java使用SOAP获取webservice实例解析
- 使用SAX解析和DOM解析的实例