当前位置: 首页 > news >正文

Numpy科学计算与数据分析:Numpy随机数生成入门

Numpy随机数生成实战

学习目标

通过本课程,学员将掌握如何使用Numpy库生成不同类型的随机数,包括随机整数、随机浮点数以及从特定分布中抽样的方法。本课程将通过理论讲解与实践操作相结合的方式,帮助学员深入理解Numpy在随机数生成方面的强大功能。

相关知识点

Numpy随机数生成

学习内容

1 Numpy随机数生成

1.1 使用Numpy生成随机整数

在数据处理和机器学习中,随机数生成是一个非常常见的需求。Numpy提供了多种生成随机数的方法,其中numpy.random.randint函数可以用来生成随机整数。这个函数允许用户指定生成随机数的范围,非常灵活。

1.1.1 理论知识

numpy.random.randint函数的基本语法如下:

  • low:生成随机数的最小值(包含)。
  • high:生成随机数的最大值(不包含)。如果未指定,则默认为low,且low为0。
  • size:输出的形状。如果给定形状如(m, n, k),则生成m * n * k个样本。如果未指定,则返回单个值。
  • dtype:输出的数据类型,可选。
numpy.random.randint(low, high=None, size=None, dtype='l')
1.1.2 实践操作

下面的代码示例展示了如何使用numpy.random.randint生成随机整数:

import numpy as np# 生成一个介于0到9之间的随机整数
random_int = np.random.randint(10)
print("生成的随机整数:", random_int)# 生成一个介于1到10之间的随机整数
random_int_1_to_10 = np.random.randint(1, 11)
print("生成的1到10之间的随机整数:", random_int_1_to_10)# 生成一个形状为(3, 3)的随机整数数组,每个元素介于0到9之间
random_array = np.random.randint(10, size=(3, 3))
print("生成的随机整数数组:\n", random_array)
1.2 生成随机浮点数

除了生成随机整数,Numpy还提供了生成随机浮点数的方法。numpy.random.rand函数可以生成0到1之间的随机浮点数,而numpy.random.uniform函数则允许用户指定生成随机浮点数的范围。

1.2.1 理论知识

numpy.random.rand函数的基本语法如下:

  • d0, d1, …, dn:输出的形状。如果未指定,则返回单个值。
numpy.random.rand(d0, d1, ..., dn)

numpy.random.uniform函数的基本语法如下:

  • low:生成随机数的最小值(包含)。
  • high:生成随机数的最大值(不包含)。
  • size:输出的形状。如果未指定,则返回单个值。
numpy.random.uniform(low=0.0, high=1.0, size=None)
1.2.2 实践操作

下面的代码示例展示了如何使用numpy.random.rand和numpy.random.uniform生成随机浮点数:

import numpy as np
# 生成一个介于0到1之间的随机浮点数
random_float = np.random.rand()
print("生成的随机浮点数:", random_float)# 生成一个形状为(3, 3)的随机浮点数数组,每个元素介于0到1之间
random_float_array = np.random.rand(3, 3)
print("生成的随机浮点数数组:\n", random_float_array)# 生成一个介于1.0到5.0之间的随机浮点数
random_uniform = np.random.uniform(1.0, 5.0)
print("生成的1.0到5.0之间的随机浮点数:", random_uniform)# 生成一个形状为(3, 3)的随机浮点数数组,每个元素介于1.0到5.0之间
random_uniform_array = np.random.uniform(1.0, 5.0, size=(3, 3))
print("生成的1.0到5.0之间的随机浮点数数组:\n", random_uniform_array)
1.3 从特定分布中抽样

Numpy还提供了从各种概率分布中抽样的方法,例如正态分布、泊松分布等。这些方法在统计学和机器学习中非常有用。

1.3.1 理论知识

numpy.random.normal函数可以从正态分布中抽样。其基本语法如下:

loc:分布的均值。
scale:分布的标准差。
size:输出的形状。如果未指定,则返回单个值。

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

numpy.random.poisson函数可以从泊松分布中抽样。其基本语法如下:

lam:泊松分布的参数λ。
size:输出的形状。如果未指定,则返回单个值。

numpy.random.poisson(lam=1.0, size=None)
1.3.2 实践操作

下面的代码示例展示了如何使用numpy.random.normal和numpy.random.poisson从特定分布中抽样:

import numpy as np
# 从均值为0,标准差为1的正态分布中生成一个随机数
normal_sample = np.random.normal(0, 1)
print("从正态分布中生成的随机数:", normal_sample)# 从均值为0,标准差为1的正态分布中生成一个形状为(3, 3)的随机数数组
normal_array = np.random.normal(0, 1, size=(3, 3))
print("从正态分布中生成的随机数数组:\n", normal_array)# 从参数为5的泊松分布中生成一个随机数
poisson_sample = np.random.poisson(5)
print("从泊松分布中生成的随机数:", poisson_sample)# 从参数为5的泊松分布中生成一个形状为(3, 3)的随机数数组
poisson_array = np.random.poisson(5, size=(3, 3))
print("从泊松分布中生成的随机数数组:\n", poisson_array)
http://www.dtcms.com/a/319244.html

相关文章:

  • Numpy科学计算与数据分析:Numpy数据分析基础之统计函数应用
  • 【线性代数】5特征值和特征向量
  • Android 原生与 Flutter 通信完整实现 (Kotlin 版)
  • C++基础:继承
  • qt系统--事件
  • 设计模式中的行为模式
  • sqli-labs-master/Less-41~Less-50
  • 论文Review 激光实时动态物体剔除 DUFOMap | KTH出品!RAL2024!| 不上感知,激光的动态物体在线剔除还能有什么方法?
  • DrissionPage自动化:高效Web操作新选择
  • 【人工智能99问】NLP(自然语言处理)大模型有哪些?(20/99)
  • 【多重BFS】Monsters
  • 调用阿里云-阿里云百炼 AI
  • 表驱动法-灵活编程范式
  • Java 中 Object 类的解析:知识点与注意事项
  • Oracle参数Process
  • 深度学习的视觉惯性里程计(VIO)算法优化实践
  • PCB制造中压接孔、插接孔、沉头孔、台阶孔的区别及生产流程
  • [Oracle] MOD()函数
  • 数据库入门:从零开始构建你的第一个数据库
  • idea工具maven下载报错:PKIX path building failed,配置忽略SSL检查
  • [Oracle] CEIL()函数
  • 无人机航拍数据集|第7期 无人机绵羊红外目标检测YOLO数据集1964张yolov11/yolov8/yolov5可训练
  • 计算虚拟化技术
  • vscode.window.activeTextEditor 获取不到 png 图片路径问题
  • 僵尸进程问题排查
  • Github创建仓库,克隆提交代码到远程
  • 内存泄漏系列专题分析之三十二:高通相机CamX ION/dmabuf内存管理机制CmdBuffer
  • 【3D图像技术分析与实现】谷歌的AlphaEarth是如何实现的?
  • 鸿蒙RichEditor
  • 使用萤石云播放视频及主题模版配置