跳到主要内容

Jupyter

Jupyter 笔记本把可执行代码、Markdown 说明、公式和运行输出放在同一个 .ipynb 文件中。你可以改动算例的参数,把新的计算结果或图像留在解释旁边。JupyterLab 围绕这种文件格式,提供文件浏览器、终端、编辑器和多笔记本工作界面。

拿本站算例动手

下面链接的是含 Python 代码的公开 Markdown 笔记,不是可下载的 notebook。把算例复制到自己的笔记本时,也把适用条件写在代码单元格旁边。

想看什么从哪里开始改什么、观察什么
精度要求怎样影响所需数据量样本量公式两段代码都可独立运行,只用 Python 标准库。原参数分别得到均值估计所需的 97 个观测、比例估计所需的 385 个观测。把误差容限减半,再比较数量。这是区间估计的近似规划,不能保证消除抽样偏差。
求平均后,分布怎样变化中心极限定理在笔记本所用的 Python 环境中准备好 NumPy 和 Matplotlib,把 sample_size 从 30 改为 100,比较指数分布样本均值的直方图。对比运行结果时保留随机种子。定理描述的是样本均值,不是说原始观测会变成正态分布。

运行前,在笔记本之外记录并锁定 Python 和依赖包版本。这两个算例的输入都在代码中给定或生成;若换成自己的数据集,要记录来源,并使用可移植的相对路径,避免依赖特定机器的绝对路径。使用 R 笔记本时,也应锁定 R 环境。

从头重新运行

内核是执行代码并保留变量的进程。页面上的单元格顺序,未必就是先前的执行顺序,因此保存下来的输出本身不能证明计算可复现。

改完算例后,重启内核,从上到下运行所有单元格。这能暴露缺失的导入,或对先前运行残留变量的依赖。保留解释新结果所需的参数和文字;不适合放进 Git 的大型生成输出,应作为构建产物处理。

笔记本适合探索和解释。当其他程序开始依赖其中的代码时,把可复用逻辑移到普通源文件中并配上测试,不要让它依赖笔记本的执行顺序。

延伸阅读

探索关联打开关联网络