Numpy——random模块

库名: np.random


RandomState()

  • np.random.RandomState(seed)

    • seed 相同时两个不同的RandomState对象会产生相同的随机数据序列

    • seed 默认值为None,此时不同的RandomState对象产生不同的随机数据序列,此时RandomState将从/dev/urandom 或者从clock otherwise读取seed值

      1
      2
      3
      4
      5
      6
      7
      8
      print np.random.RandomState(1).randint(1, 100010)
      print np.random.RandomState(1).randint(1, 100000)
      print np.random.RandomState(1).randint(1, 100000)
      print np.random.RandomState().randint(1, 100000)
      print np.random.RandomState().randint(1, 100000)
      print np.random.RandomState().randint(1, 100000)
      print np.random.RandomState(1) is np.random.RandomState(1)
      print np.random.RandomState() is np.random.RandomState()
    • 输出如下:

      98540
      98540
      98540
      38317
      42305
      70464
      False
      False


关于初始化向量的维度

  • 不是行向量也不是列向量

    1
    2
    np.random.randn(5)
    # [1,2,3,4,5]
    • shape为(5,)
    • 是一个特殊的数据结构
    • 是一个一维向量,不是矩阵,不是行向量,也不是列向量
  • 列向量

    1
    2
    3
    4
    5
    6
    np.random.randn(5,1)
    # [[1]
    [2]
    [3]
    [4]
    [5]]
    • shape为(5,1)
    • 是一个矩阵
  • 行向量

    1
    2
    np.random.randn(1,5)
    # [[1,2,3,4,5]]
    • shape为(1,5)
    • 是一个矩阵
  • 一个好的习惯是使用向量时用Assert语句确保维度

    1
    assert(a.shape == (3,4))