Une structure de projet logique, raisonnablement standardisée mais flexible pour effectuer et partager des travaux de science des données.
Cookiecetter Data Science (CCDS) est un outil pour mettre en place un modèle de projet de science des données qui intègre les meilleures pratiques. Pour en savoir plus sur la philosophie du CCDS, visitez la page d'accueil du projet.
Cookiecutter Data Science V2 a changé de V1. Il nécessite désormais l'installation du nouveau package Python de Data-Science Cookietter, qui étend la fonctionnalité de l'utilitaire de modèles Cookietter. Utilisez le programme de ligne de commande
ccdsfourni au lieu decookiecutter.
Cookiecetter Data Science V2 nécessite Python 3.8+. Puisqu'il s'agit d'une application utilitaire interrogé, nous vous recommandons de l'installer avec PIPX. Options de commande d'installation:
# With pipx from PyPI (recommended)
pipx install cookiecutter-data-science
# With pip from PyPI
pip install cookiecutter-data-science
# With conda from conda-forge (coming soon)
# conda install cookiecutter-data-science -c conda-forge Pour démarrer un nouveau projet, exécutez:
ccdsLa structure du répertoire de votre nouveau projet ressemblera à ceci (selon les paramètres que vous choisissez):
├── LICENSE <- Open-source license if one is chosen
├── Makefile <- Makefile with convenience commands like `make data` or `make train`
├── README.md <- The top-level README for developers using this project.
├── data
│ ├── external <- Data from third party sources.
│ ├── interim <- Intermediate data that has been transformed.
│ ├── processed <- The final, canonical data sets for modeling.
│ └── raw <- The original, immutable data dump.
│
├── docs <- A default mkdocs project; see www.mkdocs.org for details
│
├── models <- Trained and serialized models, model predictions, or model summaries
│
├── notebooks <- Jupyter notebooks. Naming convention is a number (for ordering),
│ the creator's initials, and a short `-` delimited description, e.g.
│ `1.0-jqp-initial-data-exploration`.
│
├── pyproject.toml <- Project configuration file with package metadata for
│ {{ cookiecutter.module_name }} and configuration for tools like black
│
├── references <- Data dictionaries, manuals, and all other explanatory materials.
│
├── reports <- Generated analysis as HTML, PDF, LaTeX, etc.
│ └── figures <- Generated graphics and figures to be used in reporting
│
├── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
│ generated with `pip freeze > requirements.txt`
│
├── setup.cfg <- Configuration file for flake8
│
└── {{ cookiecutter.module_name }} <- Source code for use in this project.
│
├── __init__.py <- Makes {{ cookiecutter.module_name }} a Python module
│
├── config.py <- Store useful variables and configuration
│
├── dataset.py <- Scripts to download or generate data
│
├── features.py <- Code to create features for modeling
│
├── modeling
│ ├── __init__.py
│ ├── predict.py <- Code to run model inference with trained models
│ └── train.py <- Code to train models
│
└── plots.py <- Code to create visualizations
Si vous souhaitez utiliser l'ancien modèle de projet V1, vous devez avoir installé le package Cookietter-Data-Science ou Cookietter. Ensuite, utilisez l'un ou l'autre programme de ligne de commande avec l'option -c v1 :
ccds https://github.com/drivendataorg/cookiecutter-data-science -c v1
# or equivalently
cookiecutter https://github.com/drivendataorg/cookiecutter-data-science -c v1Nous accueillons les contributions! Voir les documents pour les directives.
pip install -r dev-requirements.txtpytest tests