np random RandomState np random rand np random random np ran

                       

0. np.random.RandomState

计算机实现的随机数生成通常为伪随机数生成器,为了使得具备随机性的代码最终的结果可复现,需要设置相同的种子值;

  • np.random.randn(…) ⇒ 
    • rng = np.random.RandomState(123)
    • rng.randn(…)

1. np.random.uniform()

首先从numpy.random.uniform说起(也即其他函数是对该函数的进一步封装)。

numpy.random.uniform(low=0.0, high=1.0, size=None)
   
   
  • 1

顾名思义,从一个均匀分布([low, high):半开区间)中进行采样。

例如产生[1, 2)(五行五列):

>>> import numpy>>> np.random.uniform(1, 2, (5, 5))array([[ 1.16902081,  1.90805984,  1.30759311,  1.90598113,  1.32047656],       [ 1.58571077,  1.88009484,  1.66531622,  1.0262826 ,  1.40534658],       [ 1.81087389,  1.87981194,  1.65670468,  1.46972606,  1.66454007],       [ 1.81041299,  1.52561204,  1.79701198,  1.17840313,  1.86364978],       [ 1.72654371,  1.92870279,  1.11207754,  1.5091156 ,  1.35108628]])
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

2. np.random.random is Alias for np.random.random_sample

alias: 别名;

>>> id(np.random.random) == id(np.random.random_sample)True
   
   
  • 1
  • 2
numpy.random.random(size=None)                # 已指定区间为[0., 1.),自然是float类型
   
   
  • 1
  • 2

必须以元组形式指定size

>>> np.random.random((2, 3))array([[ 0.14367   ,  0.48649543,  0.38761876],       [ 0.11565701,  0.6474381 ,  0.84394864]])>>> np.random.random(2, 3)TypeError: random_sample() takes at most 1 positional argument (2 given)
   
   
  • 1
  • 2
  • 3
  • 4
  • 5

3. np.random.rand: a convenience function for np.random.uniform(0, 1)

numpy.random.rand(d0, d1, ..., dn)                # 以参数列表的形式指定参数,而非元组                # 内部指定区间为[0., 1.)
   
   
  • 1
  • 2
  • 3
>>> np.random.rand(2, 2)array([[ 0.9978749 ,  0.43597209],       [ 0.30804578,  0.9632462 ]])>>> np.random.rand((2, 2))TypeError: an integer is required
   
   
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

4. 使用 np.random.RandomState() 获取随机数生成器

>> rng = np.random.RandomState(22)>> rng.rand(2, 3)array([[ 0.48168106,  0.42053804,  0.859182  ],       [ 0.17116155,  0.33886396,  0.27053283]])
   
   
  • 1
  • 2
  • 3
  • 4

references

[1] numpy.random.uniform

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

猜你喜欢

转载自blog.csdn.net/hftytf/article/details/87645930