菜鸟笔记

您所在的位置:网站首页 标准正态分布数据生成器 菜鸟笔记

菜鸟笔记

2024-07-14 18:16| 来源: 网络整理| 查看: 265

random.rand函数

numpy.random.rand 是 NumPy 库中的一个函数,用于从均匀分布中生成随机浮点数。这些浮点数位于半开区间 [0.0, 1.0),也就是说它们包括 0.0 但不包括 1.0。

1函数示例

numpy.random.rand(d0, d1, ..., dn)

参数 d0, d1, ..., dn:整数,表示输出的随机数组的维度。如果没有提供任何参数,则返回一个标量(单个随机浮点数)。 返回值 返回一个形状为 (d0, d1, ..., dn) 的数组,其中包含了从均匀分布 [0.0, 1.0) 中随机抽取的浮点数。 2示例 示例 1:生成单个随机浮点数 import numpy as np # 生成一个位于 [0.0, 1.0) 之间的随机浮点数 random_float = np.random.rand() print(random_float)

输出结果: 生成一个位于 [0.0, 1.0) 之间的随机浮点数 

0.7292651888729444

示例 2:生成一个随机浮点数数组 import numpy as np # 生成一个形状为 (3,) 的数组,包含随机浮点数 random_floats = np.random.rand(3) print(random_floats)

输出结果类似于:

[0.22655261 0.14549794 0.81959531]

示例 3:生成一个二维随机浮点数数组 import numpy as np # 生成一个形状为 (2, 3) 的二维数组,包含随机浮点数 random_matrix = np.random.rand(2, 3) print(random_matrix)

输出结果类似于:

[[0.69793487 0.92080438 0.79024895]  [0.21149495 0.55471829 0.96925194]]

示例 4:生成一个多维随机浮点数数组 import numpy as np # 生成一个形状为 (2, 2, 2) 的三维数组,包含随机浮点数 random_tensor = np.random.rand(2, 2, 2) print(random_tensor)

输出结果为:

[[[0.1002439  0.65823964]   [0.83135404 0.64682726]]

 [[0.23616227 0.45717437]   [0.23748224 0.80672744]]]

3注意事项 numpy.random.rand 函数生成的随机数是从均匀分布中抽取的,也就是说,每个数在 [0.0, 1.0) 区间内被抽取的概率是相同的。生成的随机数实际上是伪随机数,这意味着它们是通过一个确定的算法生成的,并且在每次运行程序时,如果随机数生成器的种子(seed)相同,则生成的随机数序列也会相同。如果需要每次运行程序时都生成不同的随机数序列,可以在程序开始时设置随机数生成器的种子,如 np.random.seed(some_integer)。

通过 numpy.random.rand 函数,你可以方便地生成任意形状的随机浮点数数组,这在需要进行模拟、测试算法或创建随机数据集时非常有用。

random.standard_normal函数

 numpy.random.standard_normal 是 NumPy 库中的一个函数,用于从标准正态分布(也称为单位正态分布)中生成随机浮点数。标准正态分布是一种概率分布,其均值为 0,标准差为 1。

1函数示例

numpy.random.standard_normal(size=None)

参数 size:整数或整数元组,可选参数。输出数组的形状。如果未提供,则返回一个标量(单个随机浮点数)。 返回值 返回一个形状为 size 的数组,数组中的元素是从标准正态分布中随机抽取的浮点数。 2示例 示例 1:生成单个标准正态分布的随机数 import numpy as np # 生成一个标准正态分布的随机数 random_normal = np.random.standard_normal() print(random_normal)

结果输出:

-0.45627660030943773 示例 2:生成一个标准正态分布的随机数组 import numpy as np # 生成一个形状为 (3,) 的数组,包含标准正态分布的随机数 random_normals = np.random.standard_normal(3) print(random_normals)

结果输出:

[-1.33435244 -0.1071087 -1.13890303]

示例 3:生成一个二维标准正态分布的随机数组

import numpy as np # 生成一个形状为 (2, 3) 的二维数组,包含标准正态分布的随机数 random_normal_matrix = np.random.standard_normal((2, 3)) print(random_normal_matrix)

结果输出:

[[-0.27204649 0.89816457 0.61386239] [-0.39830262 -0.44730264 0.89667475]] 示例 4:设置随机数生成器的种子以获得可重复的结果 import numpy as np # 设置随机数生成器的种子 np.random.seed(0) # 生成一个形状为 (3,) 的数组,包含标准正态分布的随机数 # 由于设置了种子,每次运行这段代码时都会得到相同的随机数序列 reproducible_normals = np.random.standard_normal(3) print(reproducible_normals) 结果输出: [1.76405235 0.40015721 0.97873798] 3注意事项 numpy.random.standard_normal 生成的是标准正态分布的随机数,其均值(mean)为 0,标准差(standard deviation)为 1。和 numpy.random.rand 一样,numpy.random.standard_normal 生成的随机数也是伪随机数。如果需要可重复的随机数序列,可以通过设置随机数生成器的种子来实现。标准正态分布在实际应用中非常广泛,例如在统计学、机器学习、信号处理等领域中经常需要用到。通过 numpy.random.standard_normal 函数,你可以方便地生成符合标准正态分布的随机数据。 random.normal 函数

numpy.random.normal 是 NumPy 库中的一个函数,用于从正态分布(也称为高斯分布)中抽取随机样本。正态分布是一个连续概率分布,其中大多数值聚集在均值附近,远离均值的值越来越少。

1函数示例

numpy.random.normal(loc=0.0, scale=1.0, size=None)

参数 loc:分布的均值(或“中心”)的浮点值。默认值为 0.0。scale:分布的标准差(或“宽度”或“分散度”)的浮点值。默认值为 1.0。size:输出的形状。如果为 None(默认),则返回一个值。如果为整数,则返回一个形状为 (size,) 的一维数组。如果为形状元组,则返回一个形状为 size 的数组。 返回值

返回一个或多个从正态分布中抽取的随机样本。

2举例说明 1.抽取一个随机样本 import numpy as np # 从均值为0,标准差为1的正态分布中抽取一个随机样本 sample = np.random.normal() print(sample)

 输出结果:

2.240893199201458 2.抽取多个随机样本 import numpy as np # 从均值为0,标准差为1的正态分布中抽取5个随机样本 samples = np.random.normal(size=5) print(samples)

输出结果:

[ 1.86755799 -0.97727788  0.95008842 -0.15135721 -0.10321885]

3.抽取具有指定均值和标准差的随机样本 

 

import numpy as np # 从均值为3,标准差为2的正态分布中抽取3个随机样本 samples = np.random.normal(loc=3, scale=2, size=3) print(samples)

输出结果:

[3.821197 3.28808714 5.90854701]  4.抽取二维数组的随机样本 import numpy as np # 从均值为0,标准差为1的正态分布中抽取一个2x3的随机样本数组 samples = np.random.normal(size=(2, 3)) print(samples)

输出结果:

[[ 0.76103773 0.12167502 0.44386323] [ 0.33367433 1.49407907 -0.20515826]]

这些例子展示了如何使用 numpy.random.normal 函数来从正态分布中抽取随机样本,并可以通过调整 loc 和 scale 参数来改变分布的均值和标准差。size 参数用于指定输出的形状。 

random.uniform函数

numpy.random.uniform 是 NumPy 库中的一个函数,用于从均匀分布中抽取随机样本。均匀分布是一个概率分布,其中所有可能的结果都有相同的概率被选中。

1函数示例

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

参数 low:分布的下界。所有生成的随机数都将大于或等于这个值。默认值为 0.0。high:分布的上界(不包含)。所有生成的随机数都将小于这个值。默认值为 1.0。size:输出的形状。如果为 None(默认),则返回一个值。如果为整数,则返回一个形状为 (size,) 的一维数组。如果为形状元组,则返回一个形状为 size 的数组。 返回值

返回一个或多个从均匀分布中抽取的随机样本。

2举例说明 1.抽取一个随机样本 import numpy as np # 从0到1之间的均匀分布中抽取一个随机样本 sample = np.random.uniform() print(sample)

 结果输出:

0.11827442586893322

2.抽取多个随机样本 

 

import numpy as np # 从0到1之间的均匀分布中抽取5个随机样本 samples = np.random.uniform(size=5) print(samples)

 输出结果:

[0.63992102 0.14335329 0.94466892 0.52184832 0.41466194] 3.指定分布的范围 import numpy as np # 从2到8之间的均匀分布中抽取3个随机样本 samples = np.random.uniform(low=2, high=8, size=3) print(samples)

 输出结果:

[3.58733367 6.64540214 4.73690199] 4.抽取二维数组的随机样本 import numpy as np # 从0到1之间的均匀分布中抽取一个2x3的随机样本数组 samples = np.random.uniform(size=(2, 3)) print(samples)

输出结果:

[[0.56843395 0.0187898 0.6176355 ] [0.61209572 0.616934 0.94374808]]

这些例子展示了如何使用 numpy.random.uniform 函数来从均匀分布中抽取随机样本。你可以通过调整 low 和 high 参数来改变分布的范围,并使用 size 参数来指定输出的形状。这个函数在需要生成一定范围内随机数的场合非常有用,例如模拟、统计测试等。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3