Una estructura de proyecto lógica, razonablemente estandarizada pero flexible para hacer y compartir el trabajo de ciencia de datos.
CookieCutter Data Science (CCDS) es una herramienta para establecer una plantilla de proyecto de ciencia de datos que incorpore las mejores prácticas. Para obtener más información sobre la filosofía de CCDS, visite la página de inicio del proyecto.
CookieCutter Data Science V2 ha cambiado de V1. Ahora requiere instalar el nuevo paquete Python CookieCutter-Science, que extiende la funcionalidad de la utilidad de plantilla de CookieCutter. Use el programa de línea de comandos
ccdsproporcionado en lugar decookiecutter.
CookieCutter Data Science V2 requiere Python 3.8+. Dado que esta es una aplicación de utilidad de proyectos cruzados, recomendamos instalarla con PIPX. Opciones de comando de instalación:
# 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 Para comenzar un nuevo proyecto, ejecute:
ccdsLa estructura del directorio de su nuevo proyecto se verá así (dependiendo de la configuración que elija):
├── 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 desea utilizar la plantilla de proyecto V1 antigua, debe tener instalado el paquete CookieCutter-Data-Science o el paquete CookieCutter. Luego, use cualquier programa de línea de comandos con la opción -c v1 :
ccds https://github.com/drivendataorg/cookiecutter-data-science -c v1
# or equivalently
cookiecutter https://github.com/drivendataorg/cookiecutter-data-science -c v1¡Agradecemos las contribuciones! Vea los documentos para las pautas.
pip install -r dev-requirements.txtpytest tests