🗂️ 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