云开·全站体育app登录 详述numpy中的np.random.random()系列函数用法

发布于:25-06-20 播放次数:

详细阐述numpy库中np.random模块下的random()函数族的具体应用方法。

更新时刻:三月十四日,上午九点十八分二十一秒;撰写者:投身于AI学习的本人。

本文详细阐述了numpy库中np.random.random()函数族的运用方法,文中通过丰富的示例代码进行了深入讲解,这些内容对于大家的学术研究或职业实践都具有显著的参考意义。有兴趣的朋友们,不妨跟随小编一同深入探究和学习。

在机器学习以及深度学习领域,我们常常会频繁接触到以下这些函数,为了确保今后能够熟练掌握它们,在此对它们进行一番归纳总结。

(一)np.random.rand()

函数括号中的参数决定了输出结果的形态,未指定时,输出的将是一个浮点数值;若指定单个数值开yun体育app官网网页登录入口kaiyun全站网页版登录,输出的将是一个numpy.ndarray类型的数组;若指定两个数值,输出的将是一个二维的numpy.ndarray类型的数组。若指定了三个或更多数组,输出的维度将与参数数量相同。其输出的每个数据点均遵循0至1的等概率分布,即输出结果中的各个数值均位于0到1的区间内。

举例说明:

import numpy as np
mat = np.random.rand()
print(mat)
print(type(mat))
mat = np.random.rand(2)
print(mat)
print(type(mat))
mat = np.random.rand(3, 2)
print(mat)
print(type(mat))

请留意我使用红色边框标注的部分,这部分内容对应着两个打印输出,您可以通过查看程序来观察这些输出结果。

(二)np.random.randn()

这个函数与rand()函数有相似之处,但使用该函数后,所得结果将遵循均值为零、方差为一的标准正态分布,而非仅限于0到1的区间。此外,结果还可以是负数,因为标准正态分布的图形是对称于x轴的。若未指定括号内的参数,则输出的结果为浮点数;若指定一个数值,则输出结果为numpy.ndarray类型的数组;若指定两个数值,则输出结果为二维的numpy.ndarray类型的数组。与rand()函数相比,两者的性质除元素值不同外,均保持一致。

举例说明:

import numpy as np
mat = np.random.randn()
print(mat)
print(type(mat))
mat = np.random.randn(2)
print(mat)
print(type(mat))
mat = np.random.randn(3, 2)
print(mat)
print(type(mat))

结果为:

(三)使用np.random.randint函数,可以设定一个范围,从low到high,并指定生成随机数的个数size,同时还能指定数据类型dtype。

该函数中包含了几个参数,其具体含义为:

low指的是生成元素值的最低界限,亦即下限。若未设定high参数,low同时也充当生成元素值的最高界限。

high:生成的元素值的最大值,即上限。

size:指定生成元素值的形状,也就是数组维度的大小。

在指定生成元素值的数据类型时,需明确dtype参数;若未指定该参数,系统将默认采用整数型作为数据类型。

返回的结果是一个由size个元素构成的数组,若设定了low和high这两个参数,则数组中元素的取值范围将被限定。

对于参数low至high(不含high),若未指定high,所生成的元素值区间为。

若未设定size这一参数,所生成的元素数量将仅有一个。

举例说明:

import numpy as np
# 指定一个参数low
定义变量mat,其值为使用numpy库中的randint函数生成的介于1(包含)和某个上限之间的随机整数。
print(mat)
print(type(mat))
 
设定low和high的值,进而产生位于区间[low,high)内的数值。
定义变量mat,其值为从1到5(包含1和5)范围内随机生成的整数。
print(mat)
print(type(mat))
 
设定特定尺寸,构造一个由三行和三列组成的二维矩阵,其包含的元素总数为九个。
`mat` 被赋予了一个值,该值是通过 `np.random.randint` 函数生成的,范围在2到10之间,生成的形状为3x3的矩阵。
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))
 
mat等价于通过np.random.randint函数生成的随机整数矩阵,其下限为2,上限为10,矩阵维度为3x3,数据类型为无符号8位整数。
print(mat)
print(type(mat[0][0]))
 

结果为:

(四)使用np.random.uniform函数,可以设定一个范围云开·全站体育app登录,即最低值low和最高值high,然后根据指定的大小size生成相应范围内的随机浮点数。

参数说明:

low:生成元素值的下界,float类型,默认值为0

high:生成元素值的上界,float类型,默认值为1

样本数量:可设定一个具体数值,亦或指定一个范围,该范围需包含至少两个数值。

返回的对象为ndarray类型,其形状由size中给出的数值确定,且该数组包含的元素总数等于size参数所指定数值的乘积。

我们之前已经介绍过rand()函数,该函数输出的数值遵循0到1之间的均匀分布。但若需生成其他区间内的均匀分布,而非0-1区间,该如何操作呢?

此函数uniform()具备生成特定区间内均匀分布元素的能力,其输出的元素均为浮点数类型。值得注意的是,生成的元素值范围包括下限low,但不包括上限high。

举例说明:

import numpy as np
# 指定一个参数low
mat = np.random.uniform()
print(mat)
print(type(mat))
 
# 指定low和high,生成一个[low,high)的元素值
设定变量mat的值为从5到10之间的随机浮点数。
print(mat)
print(type(mat))
 
# 指定size大小,生成一个三行三列的二维数组,元素个数为3x3=9个
初始化一个3x3的矩阵,其元素值由2到10之间的随机浮点数构成,赋值给变量mat。
print(mat)
# 查看默认元素值的类型
print(type(mat[0][0]))
 
初始化矩阵mat,其元素由随机均匀分布的数值构成,取值范围在2到10之间,矩阵的维度为3x3x2。
print(mat)
print(type(mat[0][0][0]))
 

结果为:

总结:以上所述均为我们常用的随机数生成方法,选择哪一种函数,需根据个人需求而定,若是要生成特定类型的随机数,则应选用相应的函数。

本文对numpy库中np.random.random()系列函数的具体用法进行了详细阐述,内容至此告一段落。如需了解更多关于numpy库及np.random.random()的相关信息,请查阅脚本之家过往发布的文章,或继续阅读下方的相关内容。我们期待着广大读者今后对脚本之家给予更多的支持与关注!