drivendataorg/cookiecutter-data-science
A logical, reasonably standardized, but flexible project structure for doing and sharing data science work.
是什麼
Cookiecutter Data Science (CCDS) 是一個小型命令列工具,可為資料科學工作生成即用型專案骨架。它基於通用的 cookiecutter 模板工具,但增加了專用的 ccds 命令與遵循最佳實務的預先設計目錄結構。
為何重要
- 一致性 – 每個新專案皆從相同的邏輯目錄樹(原始資料、筆記本、模型、文件等)開始,讓團隊成員更容易上手並理解彼此的工作。
- 可重現性 – 模板包含
requirements.txt、Makefile與pyproject.toml,僅需一個指令即可重建環境。 - 效率 – 執行
ccds可在數秒內建立所有样板檔案,讓您專注於分析,而非目錄設定。 - 可擴充性 – 模板已版本化;您可選擇特定標籤/分支(例如舊版 v1 結構)或最新發行版本。
如何運作
- 安裝 該工具(建議使用
pipx):pipx install cookiecutter-data-science - 執行 產生器:
ccds # 會提示輸入專案名稱、模組名稱、授權等 - 回答 互動式問題;CCDS 會根據所選選項產生對應目錄結構。
- 在產生的
{{ cookiecutter.module_name }}套件內開始編碼,並使用提供的Makefile快捷指令(make data、make train等)執行常見任務。
產生骨架的關鍵部分
| 路徑 | 用途 |
|---|---|
data/ |
存放原始、外部、中間與處理後資料的子資料夾(唯讀原始資料有助於追蹤資料來源)。 |
notebooks/ |
採用命名規則的 Jupyter 筆記本,依序排列並記錄作者首字母。 |
{{ cookiecutter.module_name }}/ |
包含以下內容的 Python 套件: |
config.py– 中央設定值dataset.py– 下載/產生輔助函數features.py– 特徵工程工具modeling/–train.py與predict.pyplots.py– 可重用的繪圖函數 | |models/| 存放序列化模型、預測結果或模型摘要。 | |docs/| 專案文件的初始 mkdocs 站台。 | |reports/| 產生的分析輸出(HTML、PDF、LaTeX)與figures/子資料夾。 | |Makefile| 便捷指令(make data、make train、make test等)。 | |pyproject.toml與setup.cfg| 套件元資料與程式碼檢查設定(如 Black、flake8)。 | |requirements.txt| 精確鎖定 Python 依賴項以確保可重現性。 |
快速上手
# 1. 安裝工具(只需一次)
pipx install cookiecutter-data-science
# 2. 建立名為 "my-analysis" 的新專案
ccds # 按提示操作,將模組名設為 "my_analysis"
# 3. 進入新資料夾並執行第一個 make 目標
cd my_analysis
make data # 占位符 – 可替換為自己的指令
新資料夾內的產生 README.md 會說明專案特定的工作流程。
擴充 / 貢獻
- 倉儲包含模板本身與
ccdsCLI。 - 開發相依性列在
dev-requirements.txt中。 - 使用
pytest tests執行測試套件。 - 歡迎貢獻;請參閱線上 貢獻指南。
TL;DR
ccds = 透過一個指令快速搭建一個整潔、結構良好的資料科學倉儲,包含從資料資料夾到初始文件站台的所有內容,使協作與可重現工作變得更順暢。
相關
- 專案
- 專案
- 專案
- 專案
- 專案