自己总结:返回[0,1)之间的数,rand()返回一个数字,rand(1)返回一个一维的一个数字数组,rand(2)返回一个一维的2个数字数组,以此类推。rand(3,4)返回3行4列的二维数组。
numpy.random.rand(d0,d1,…,dn)
例如:
X_train = np.random.rand(1) #返回结果为: array([0.05306906])
X_train = np.random.rand(2)
#返回结果为:array([0.32717865, 0.37672487])
X_train = np.random.rand(3)
#返回结果为:array([0.02279356, 0.26917234, 0.41363484])
X_train = np.random.rand(3,2)
#返回结果为:
array([[0.70345904, 0.25883973],
[0.68601444, 0.94283444],
[0.92911908, 0.05970667]])
numpy.random.randn(d0,d1,…,dn)
用法同np.random.rand()一样,只是服从正态分布。
用法同上
标准正态分布介绍:
标准正态分布—-standard normal distribution
标准正态分布又称为u分布,是以0为均值、以1为标准差的正态分布,记为N(0,1)。
np.random.normal() 这个函数也可以生成服从正态分布的随机值,不过这个函数可以指定均值是多少,方差为多少。
这个函数一共有三个参数,分别是(loc, scale, size),分别代表生成的高斯分布的随机数的均值、方差以及输出的size(想要输出多少个这个的值)
例如:
x = np.random.normal(0.0, 0.04, 20) #生成均值为0, 方差为0.04的20个值
输出结果为:
[-0.00119762 0.01028794 0.00995796 0.03071558 0.01184086 -0.06611406
-0.05173413 0.00847523 -0.06897574 -0.03200766 -0.0161479 0.01289039
0.00850447 0.05961137 0.04296977 0.03889325 0.06093833 -0.03076815
0.04706918 0.01173109]
当然也可以生成均值为0,标准差为0.2 的20 个数值
x = np.random.normal(0.0, np.sqrt(0.04), 20)
输出结果为:
[-0.01875011 -0.03413463 0.08840297 -0.03431805 -0.50478762 -0.16077312
-0.23915868 -0.02994337 -0.31526258 0.40530537 -0.09105002 -0.1453058
-0.30872585 0.21236876 -0.16383452 0.04715747 -0.34465484 -0.07650099
0.07994941 0.11895559]
通过low来指定起点,通过high来指定终点,通过size参数来指定数组的维度,通过dtype来确定类型。
numpy.random.randint(low, high=None, size=None, dtype=’l’)
例如:
np.random.randint(1,size=5) # 返回[0,1)之间的整数,所以只有0
#返回结果为:array([0, 0, 0, 0, 0])
np.random.randint(1,5) # 返回1个[1,5)区间的随机整数
#返回结果为:4
np.random.randint(-5,5,size=(2,2))
#返回结果为:
array([[ 2, -1],
[ 2, 0]])
通过size参数来指定维数
生成[0,1)之间的浮点数
例如:
X_train = np.random.random()
#返回结果为:0.9689405503449076
X_train = np.random.random(1)
#返回结果为:array([0.80323664])
X_train = np.random.random(2)
#返回结果为:array([0.12686505, 0.84483594])
X_train = np.random.random((2,3))
#返回结果为:
array([[0.39771528, 0.76109586, 0.51086943],
[0.55745357, 0.43425362, 0.9797477 ]])
随机种子,保证每次生成的随机数字一样。OK。
先总结这几个吧,后续补充。