Cookiecutter Data Science 项目教程
1. 项目的目录结构及介绍
Cookiecutter Data Science (CCDS) 项目提供了一个逻辑上合理、标准化且灵活的项目结构,用于进行和分享数据科学工作。以下是项目的主要目录结构及其介绍:
├── LICENSE <- 项目使用的开源许可证(如果选择了开源许可证)
├── Makefile <- 包含方便命令的 Makefile,例如 `make data` 或 `make train`
├── README.md <- 项目顶层的 README 文件,供开发者使用
├── data
│ ├── external <- 来自第三方源的数据
│ ├── interim <- 经过转换的中间数据
│ ├── processed <- 用于建模的最终规范数据集
│ └── raw <- 原始的、不可变的数据
├── docs <- 默认的 mkdocs 项目,详情请参见 www.mkdocs.org
├── models <- 训练好的模型、模型预测或模型摘要
├── notebooks <- Jupyter 笔记本,命名约定为数字(用于排序)、创建者首字母和简短描述,例如 `1.0-jqp-initial-data-exploration`
├── pyproject.toml <- 项目配置文件,包含包元数据和工具配置(如 black)
├── references <- 数据字典、手册和其他解释性材料
├── reports <- 生成的分析报告,格式为 HTML、PDF、LaTeX 等
└── figures <- 生成的图形和图表,用于报告
├── requirements.txt <- 用于重现分析环境的依赖文件,例如 `pip freeze > requirements.txt`
├── setup.cfg <- flake8 的配置文件
└── [[ cookiecutter.module_name ]] <- 项目源代码
├── __init__.py <- 使 [[ cookiecutter.module_name ]] 成为一个 Python 模块
├── config.py <- 存储有用的变量和配置
├── dataset.py <- 用于下载或生成数据的脚本
├── features.py <- 用于创建建模特征的代码
├── modeling
│ ├── __init__.py
│ ├── predict.py <- 使用训练好的模型进行推理的代码
│ └── train.py <- 用于训练模型的代码
└── plots.py <- 用于创建可视化的代码
2. 项目的启动文件介绍
项目的启动文件主要是 Makefile
和 README.md
。
Makefile
Makefile
包含了一系列方便的命令,用于简化项目的常见操作。例如:
make data
:用于处理数据。make train
:用于训练模型。
README.md
README.md
是项目的顶层文档,包含了项目的概述、安装指南、使用说明等信息。它是开发者了解项目的第一步。
3. 项目的配置文件介绍
项目的配置文件主要包括 pyproject.toml
和 setup.cfg
。
pyproject.toml
pyproject.toml
是一个项目配置文件,包含了包的元数据和工具配置。例如:
- 包的名称、版本、作者等信息。
- 配置工具如
black
的设置。
setup.cfg
setup.cfg
是 flake8
的配置文件,用于配置代码风格检查工具 flake8
的规则。