🗂️ Jerarquía de directorios

Estructura de carpetas para proyectos de ciencia de datos ¿por qué?

.
├── .code_quality
│   ├── mypy.ini                        # configuración de mypy
│   └── ruff.toml                       # configuración de ruff
├── .github                             # configuración de github
│   ├── actions
│   │   └── python-poetry-env
│   │       └── action.yml              # github action para configurar entorno python
│   ├── dependabot.md                   # github action para actualizar dependencias
│   ├── pull_request_template.md        # plantilla para pull requests
│   └── workflows                       # flujos de trabajo de github actions
│       ├── ci.yml                      # ejecutar integración continua (pruebas, pre-commit, etc.)
│       ├── dependency_review.yml       # revisión de dependencias
│       ├── docs.yml                    # construir documentación (mkdocs)
│       └── pre-commit_autoupdate.yml   # actualizar hooks de pre-commit
├── .vscode                             # configuración de vscode
|   ├── extensions.json                 # lista de extensiones recomendadas
|   ├── launch.json                     # configuración de ejecución de vscode
|   └── settings.json                   # configuración de vscode
├── conf                                # carpeta de archivos de configuración
│   └── config.yaml                     # archivo principal de configuración
├── data
│   ├── 01_raw                          # datos crudos inmutables
│   ├── 02_intermediate                 # datos tipados
│   ├── 03_primary                      # datos del modelo de dominio
│   ├── 04_feature                      # características del modelo
│   ├── 05_model_input                  # frecuentemente llamados 'master tables'
│   ├── 06_models                       # modelos serializados
│   ├── 07_model_output                 # datos generados por ejecuciones del modelo
│   ├── 08_reporting                    # reportes, resultados, etc
│   └── README.md                       # descripción de la estructura de datos
├── docs                                # documentación de tu proyecto
│   ├── index.md                        # página principal de documentación
├── models                              # almacenar modelos finales
├── notebooks
│   ├── 1-data                          # extracción y limpieza de datos
│   ├── 2-exploration                   # análisis exploratorio de datos (EDA)
│   ├── 3-analysis                      # Análisis estadístico, pruebas de hipótesis.
│   ├── 4-feat_eng                      # ingeniería de características (creación, selección y transformación.)
│   ├── 5-models                        # entrenamiento de modelos, evaluación y ajuste de hiperparámetros.
│   ├── 6-interpretation                # interpretación de modelos
│   ├── 7-deploy                        # empaquetado de modelos, estrategias de despliegue.
│   ├── 8-reports                       # narrativa, resúmenes y conclusiones de análisis.
│   ├── notebook_template.ipynb         # plantilla para notebooks
│   └── README.md                       # información sobre los notebooks
├── src                                 # código fuente para uso en este proyecto
│   ├── README.md                       # descripción de la estructura de src
│   ├── tmp_mock.py                     # archivo python de ejemplo
│   ├── data                            # extracción, validación, procesamiento, transformación de datos
│   ├── model                           # entrenamiento, evaluación, validación, exportación de modelos
│   ├── inference                       # predicción, servicio, monitoreo de modelos
│   └── pipelines                       # orquestación de pipelines
│       ├── feature_pipeline            # transforma datos crudos en características y etiquetas
│       ├── training_pipeline           # transforma características y etiquetas en un modelo
│       └── inference_pipeline          # toma características y un modelo entrenado para predicciones
├── tests                               # código de pruebas para tu proyecto
│   ├── test_mock.py                    # archivo de prueba de ejemplo
│   ├── data                            # pruebas para el módulo data
│   ├── model                           # pruebas para el módulo model
│   ├── inference                       # pruebas para el módulo inference
│   └── pipelines                       # pruebas para el módulo pipelines
├── .editorconfig                       # configuración del editor
├── .gitignore                          # archivos a ignorar en git
├── .pre-commit-config.yaml             # configuración para hooks de pre-commit
├── codecov.yml                         # configuración para codecov
├── Makefile                            # comandos útiles para configurar entorno, ejecutar pruebas, etc.
├── mkdocs.yml                          # configuración para documentación mkdocs
├── pyproject.toml                      # archivo de dependencias y configuración del proyecto
├── uv.lock                             # dependencias bloqueadas
└── README.md                           # descripción de tu proyecto