0Pricing
Learn AI with Python · 课时

专业人工智能项目目录结构

了解 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 反馈 — 无需本地设置。

此课程中的所有课时

  1. 专业人工智能项目目录结构
  2. 人工智能项目的 Git
  3. 可复现性:随机种子、配置与环境
  4. Jupyter Notebook 最佳实践
← 返回 Learn AI with Python