random是python的Numpy库中的重要模块,现将数据分析、深度学习常用的函数总结如下。
一 简单随机数
rand(d0, d1, …, dn) Random values in a given shape.
randn(d0, d1, …, dn) Return a sample (or samples) from the “standard normal” distribution.
1 rand( d0, d1 ,…, dn)
创建一个给定形状的数组,并用[0,1]上的均匀分布的随机样本填充它。输入为int,输出为指定形状的矩阵(ndarray)
>>> np.random.rand(3,2)
array([[ 0.14022471, 0.96360618], #random
[ 0.37601032, 0.25528411], #random
[ 0.49313049, 0.94909878]]) #random
2 randn( d0, d1 ,…, dn)
返回符合标准正态分布的随机浮点数,标准正态分布意思是均值为0和方差为1。
>>> np.random.randn()
2.1923875335537315 #random
>>> 2.5 * np.random.randn(2, 4) + 3
array([[-4.49401501, 4.00950034, -1.81814867, 7.29718677], #random
[ 0.39924804, 4.68456316, 4.99394529, 4.84057254]]) #random
二 随机生成器
3 Random generator - 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
参考:
[1]numpy.random官方文档:https://docs.scipy.org/doc/numpy/reference/routines.random.html
[2]numpy.random.seed()的使用:http://blog.csdn.net/linzch3/article/details/58220569