当前位置: 首页 > 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.lryc.cn/news/612890.html

相关文章:

  • 光纤滑环 – 光纤旋转接头(FORJ)- 杭州驰宏科技
  • AutoMQ-Kafka的替代方案实战
  • QML与C++交互的方式
  • Kafka数据生产和发送
  • 基于Spring Cloud Stream与Kafka的事件驱动微服务架构设计与实战指南
  • 【Kafka系列】第二篇| Kafka 的核心概念、架构设计、底层原理
  • MQTT:Dashboard访问授权
  • MQTT:Dashboard黑名单与连接抖动
  • 【LeetCode】set和map相关算法题 前K个高频单词、随机链表的复制、两个数组的交集、环形链表
  • Flink-1.19.0源码详解9-ExecutionGraph生成-后篇
  • VScode使用jupyter notebook,配置内核报错没有torch解决
  • 贪心算法分析与解决指南
  • 1.电动汽车动力电池系统技术介绍与分类
  • 机器视觉系统工业相机的成像原理及如何选型
  • OpenCV图像处理入门实战指南
  • 为什么需要日志收集系统
  • 【运维】自动化生产环境部署工作流
  • Mac/Windows跨平台PDF与AI高效解决方案
  • day 48 模型的可视化与推理
  • 连续最高天数的销售额(动态规划)
  • 3D 软件在游戏开发中的全链路应用:从原型到上线的实战解析
  • 音乐创作好助手—— 蘑兔音乐
  • 【自动驾驶】《Sparse4Dv3》代码学习笔记
  • uniapp/uniappx实现图片或视频文件选择时同步告知权限申请目的解决华为等应用市场上架审核问题
  • 行业应用案例:MCP在不同垂直领域的落地实践
  • 学深度学习,有什么好的建议或推荐的书籍?
  • 深入解析Java类加载机制:双亲委派模型的设计与实现
  • 开源大模型实战:GPT-OSS本地部署与全面测评
  • Android 之 Jetpack - Lifecycle
  • 告别复杂配置!cpolar让Prometheus监控突破网络限制