Skip to content

1. The Project Template

Maike Rodrigo edited this page Feb 20, 2022 · 3 revisions

As you can see, these project has some directories and files, for organization purposes, this project is based on coockiecuter template.

Below is a description of every folder, and some files.

Project Organization


|
├── data
│   ├── processed                <- The final, after being transformed.
|   ├── prepared                 <  The cleaned, and imputed data, prepared to receive feature engineering.
│   └── raw                      <- The original, immutable data dump.
│
├── docs                         <- A default Sphinx project; see sphinx-doc.org for details
├── img                          <- image files used in the documentation
├── models                       <- Trained and serialized models, model predictions, or model summaries
├── notebooks                    <- Jupyter notebooks. The naming convention is a number (for ordering),
│                                   the creator's initials, and a short `-` delimited description, e.g.
│                                   `1.0-jqp-initial-data-exploration`.
│
├── 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
│
├── src                          <- Source code for use in this project.
│   ├── __init__.py              <- Makes src a Python module
│   │
│   ├── data                     <- Scripts to download or generate data
│   │   └── make_dataset.py
│   │
│   ├── features                 <- Scripts to turn raw data into features for modeling
│   │   └── build_features.py
│   │
│   ├── models                   <- Scripts to train models and then use trained models to make
│   │   │                           predictions
│   │   ├── predict_model.py
│   │   └── train_model.py
│   │
│   └── visualization            <- Scripts to create exploratory and results-oriented visualizations
│       └── visualize.py
│
├── test                         <- The tests to all packages and scripts should be put here.    
├── .gitattributes
├── .gitgnore                    <- List of files or paths to ignore in Git.
├── .pre-commit-config.yaml      <- This file defines the pre-commit hooks to execute.   
├── configs.ini                  <- is a configuration file used by ConfigParser, to provide paths and
|                                   information about the package
├── LICENSE                      <- The repository license
├── Makefile                     <- Makefile with commands like `make data` or `make train`
├── README.md                    <- The top-level README for developers using this project.  
|
├── requirements-dev.in          <- The file where you should put the development dependencies like Black, Pytest, etc.
├── requirements.in              <- The file where you should put the modules and scripts dependencies.
├── requirements-dev.txt         <- ❗This file will be automatically generated by the pip-compile, DON'T EDIT IT❗
├── requirements.txt             <- ❗This file will be automatically generated by the pip-compile, DON'T EDIT IT❗ 
│     
├── dvc.yaml                     <- Defines the Machine Learning or Data Science pipeline through connected stages.
├── dvc.lock                     <- Used to record the state of your pipeline(s) and its outputs. Each dvc.yaml will have a 
│                                   correspondent dvc.lock file.
├── params.yaml                  <- Used to define the parameters that each stage depends on. It allows Git to track the parameters used 
│                                   in each pipeline version.                          
├── .dvc                         <- Internal DVC files
├── .dvcignore                   <- List of files or paths to ignore in DVC.
│                      
├── setup.py                     <- makes project pip installable (pip install -e .) so src can be imported
└── tox.ini                      <- tox file with settings for running tox; see tox.readthedocs.io

see also the ML experiment workflow