0Pricing
Data Science Academy · 课时

随机数与种子

使用 NumPy 生成可复现的合成数据

随机数与种子 是 CoddyKit 上的免费 Data Science Academy 课时。 这是第 4 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Data Science Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Data Science Academy 课程共包含 4 节课。

为什么要生成随机数据

真实数据集并不总是方便使用。随机数可以帮助您构建测试数据、模拟场景,并按需打乱样本。

现代生成器

首先使用 default_rng 创建一个生成器。这是目前 NumPy 推荐的生成随机数方式。

rng = np.random.default_rng()

均匀分布浮点数

对生成器调用 random,即可生成介于 0 和 1 之间的浮点数。传入 size 可以一次得到整个数组。

rng.random(3)   # 3 floats in [0, 1)

随机整数

使用 integers 在指定范围内生成整数。下限包含在内,上限不包含在内。

rng.integers(1, 7, size=5)   # like dice rolls

从正态曲线中抽样

normal 方法会从钟形曲线中抽样。传入 mean 和标准差,即可调整数值的分布范围。

rng.normal(0, 1, size=4)

随机性带来的问题

将随机代码运行两次,会得到不同的数字。当队友无法重现您的结果时,这会破坏可复现性。

使用种子固定序列

种子会将生成器设置到一个已知的起点。同一个种子意味着每次运行都会得到完全相同的数字。

rng = np.random.default_rng(42)

相同种子,相同输出

使用种子 42 创建的两个生成器会产生完全相同的数组。这就是笔记本能够在不同机器上保持可复现的原因。

a = np.random.default_rng(42).random(3)
b = np.random.default_rng(42).random(3)   # a == b

打乱并抽样

生成器还可以打乱数组,并使用 choice 随机选取样本,非常适合拆分数据或抽取测试案例。

rng.choice([10, 20, 30], size=2)

这对科学研究为何重要

设置种子可以让实验可重复。审阅者能够重新运行您的代码,并确认看到与您报告的完全相同的结果。

优先使用新 API

您可能仍会看到旧式的 np.random.seed 写法。新代码应优先使用 default_rng 生成器,以获得更简洁、更安全的随机数生成方式。

快速检查

同事重新运行您的笔记本,却得到了不同的随机结果。

随机数回顾

您生成了浮点数、整数和正态分布样本,然后使用种子将它们固定下来,使结果在任何地方都可复现。🎲

常见问题解答

「随机数与种子」课时是免费的吗?

是的 — 「随机数与种子」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Data Science Academy 课程的其余内容,请升级到 CoddyKit PRO。 Data Science Academy 课程共包含 4 节课。

「随机数与种子」这节课中我会学到什么?

使用 NumPy 生成可复现的合成数据 你通过在浏览器中直接运行的动手代码来练习 Data Science Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Data Science Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Data Science Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 4 节课,共 4 节。

「随机数与种子」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Data Science Academy 课中编写并运行代码吗?

能。每节 Data Science Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 重塑与展平数组
  2. 求和、均值与轴技巧
  3. 使用布尔掩码进行选择
  4. 随机数与种子
← 返回 Data Science Academy