专业人工智能项目目录结构
了解 data/、notebooks/、src/、models/、tests/ 布局和 cookiecutter-data-science 模式
专业人工智能项目目录结构 是 CoddyKit 上的免费 Learn AI with Python 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Learn AI with Python 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Learn AI with Python 课程共包含 4 节课。
结构为何重要
一堆名为 final.ipynb、final2.ipynb 和 really_final.ipynb 的笔记本,会让 AI 项目走向失败。一致的目录结构能让项目易读、可复现且便于协作。
本课介绍广泛使用的Cookiecutter Data Science 布局。
data 文件夹
按处理阶段分离数据,以免原始输入被覆盖:
data/raw/——原始且不可变的源数据data/processed/——已清理、可供模型使用的数据data/interim/——中间转换结果
将 data/raw 视为只读目录——您应始终能够从中重新生成其他所有内容。
原始数据为何不可变
如果清理错误损坏了数据的唯一副本,项目就完了。保持 data/raw 不变,意味着每个已处理文件都可以通过重新运行流程来复现。
已处理的输出可以丢弃;原始数据必须妥善保留。
notebooks 文件夹
notebooks/ 用于存放探索和报告笔记本。常见做法是按阶段编号并加上姓名首字母,例如 1.0-mk-eda.ipynb。
笔记本用于探索;可复用的逻辑应移入 src/。
src 软件包
src/ 包含可导入的 Python 代码,并按职责拆分:
src/data/——加载和处理脚本src/features/——特征工程src/models/——训练和预测代码src/visualization/——图表和报告
src/features 与 src/models
将特征工程和建模保存在独立模块中会带来很多好处:您可以对特征代码进行单元测试,在多个笔记本之间复用它,并且无需重写数据准备就能更换模型。
from src.features.build_features import make_features
from src.models.train import train_model
X = make_features(df)
model = train_model(X, y)models 文件夹
models/ 用于存储序列化的训练产物(例如 model.pkl、model.joblib)。这些是输出结果,而不是源代码。
大型模型文件通常不应放入 Git——请改用 DVC 或对象存储来跟踪它们(下一课将介绍)。
reports 文件夹
reports/ 用于存放供人阅读的生成输出:reports/figures/ 用于保存图表,根目录用于保存报告文档。这些内容由您的代码生成,因此可以重新生成。
配置和环境文件
使用以下项目级文件完善项目:
requirements.txt或environment.yml——依赖项config.yaml——超参数和路径README.md——项目是什么以及如何运行它.gitignore——Git 应跳过的内容
完整布局
整合起来,一个整洁的 AI 项目如下所示:
project/
data/
raw/
interim/
processed/
notebooks/
src/
data/
features/
models/
visualization/
models/
reports/
figures/
config.yaml
requirements.txt
README.md使用 Cookiecutter 生成结构
您不必每次都手动构建这些内容。cookiecutter-data-science 模板可以用一条命令搭建整个结构。
# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree created快速检查:原始数据放在哪里
您从数据提供方下载了一个原始 CSV 文件。
回顾:项目结构
您了解了专业 AI 项目的布局:
data/raw(不可变),以及用于各处理阶段的data/processed- 用于探索的
notebooks/,以及用于可复用代码的src/features和src/models - 用于存放产物的
models/,以及用于存放输出的reports/ - 根目录中包含配置、依赖项、README 和 .gitignore
- 使用 cookiecutter-data-science 即可立即搭建整个结构
下一步:在 AI 项目中有效使用 Git。
常见问题解答
「专业人工智能项目目录结构」课时是免费的吗?
是的 — 「专业人工智能项目目录结构」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Learn AI with Python 课程的其余内容,请升级到 CoddyKit PRO。 Learn AI with Python 课程共包含 4 节课。
「专业人工智能项目目录结构」这节课中我会学到什么?
了解 data/、notebooks/、src/、models/、tests/ 布局和 cookiecutter-data-science 模式 你通过在浏览器中直接运行的动手代码来练习 Learn AI with Python,全天候 AI 导师会在你学习这节课的过程中回答你的问题。
学习 Learn AI with Python 需要有经验吗?
无需任何先前经验。CoddyKit 上的 Learn AI with Python 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。
「专业人工智能项目目录结构」课时需要多长时间?
大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。
我能在这节 Learn AI with Python 课中编写并运行代码吗?
能。每节 Learn AI with Python 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。
此课程中的所有课时
- 专业人工智能项目目录结构
- 人工智能项目的 Git
- 可复现性:随机种子、配置与环境
- Jupyter Notebook 最佳实践