理解使用NumPy中randn的最小值和最大值

3

我对Python还比较新,正在学习一些基础的Python数据科学知识,我想确定当你运行randn时,数组的最小值和最大值。

为了澄清问题,以下数字可能有多低或多高呢?

这与输入的行/列值有关吗?

我以为它们是在-1到1之间的值,但是当我测试时并不是这样。

import numpy as np
np.random.randn(3,3)

array([[ 1.61311526, -1.20028357, -0.41723647],
       [-0.31983635, -3.05411198, -0.43453723],
       [ 0.09385744, -0.28239577, -1.17262933]])

文档说明了什么? - wwii
5个回答

7

标准正态分布

如其他人所提到的,从图形上来看,概率分布如上所示。

取值在-0.5到0.5之间的概率: 19.1% + 19.1% = 38.2% 取值大于3的概率= 0.1%


谢谢,这个可视化真的帮助我理解了正在发生的事情。 - pepperjack

3

np.random.randn 返回一个(或多个)从“标准正态”分布中抽取的样本(详见文档)。

标准正态分布没有上下限。但是,例如获得小于-3的样本的概率为0.0013。


3
numpy.random.randn函数返回符合标准正态分布的随机数,这些值可以是负无穷到正无穷之间的任何数字,因此没有最大值或最小值。这些值沿着以0为中心的“钟形曲线”分布,并且距离0越远,出现的可能性指数级下降。
行/列参数不会影响任何(不存在的)最大/最小值,只会确定输出数组的形状(请参见文档)。
因此,在你的例子中,将(3,3)传递给np.random.randn(3,3),将返回一个由标准正态分布的随机数构成的3x3数组。

2

基本上,没有最大或最小值,但由于较高的数字不太可能出现,或者换句话说,具有较低的概率,因此通常只会考虑-3.5至3.5。但是,如果您尝试生成更大的随机数据,则生成更大值的机会越高。


0

numpy.random.randn 函数基于标准正态分布,这意味着没有最大值或最小值。然而,比零更正和负的值产生的可能性较小。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接