【问题标题】:Creating a numpy array with dimension, mean, and variance as parameters?创建一个以维度、均值和方差为参数的 numpy 数组?
【发布时间】:2018-11-19 14:43:13
【问题描述】:

如何创建一个以维度、均值和方差为参数的 numpy 数组?我看到有一个numpy.random.randn 函数允许用户指定尺寸,但该函数假定平均值为 0,方差为 1。

我可以接受均值 0 部分,但我希望能够在每次创建新的 numpy 数组时指定一个方差。

感谢您的帮助!

【问题讨论】:

    标签: python arrays numpy random


    【解决方案1】:

    您可能正在寻找numpy.random.normal。例如:

    import numpy as np
    
    arr = np.random.normal(loc=1, scale=0.50, size=(500, 500))
    
    print(arr.mean())  # 0.9995707343806642
    print(arr.std())   # 0.5010967322495354
    

    这里loc代表平均值,scale代表标准差,即方差的平方根。

    当然,您是从分布中抽取样本,因此您不会有 1.0 的平均值或 0.50 的标准差,除非您有一个非常大的数组。

    【讨论】:

      【解决方案2】:

      来自 numpy 文档 (numpy.random.randn):

      对于来自 的随机样本,当 mu 是均值而 sigma 是方差时(请参阅Normal Distribution),请使用:

      sigma * np.random.randn(d0, d1, ..., dn) + mu
      

      (d0, d1, ..., dn)为生成数组的形状时。

      【讨论】:

      • 太棒了,我好像错过了!
      • mu 是平均值,sigma 是方差。
      猜你喜欢
      • 2013-10-23
      • 2015-12-08
      • 1970-01-01
      • 1970-01-01
      • 2017-12-13
      • 2019-04-16
      • 2018-11-30
      • 2013-10-06
      相关资源
      最近更新 更多