Estructura profesional de directorios para proyectos de IA
Organización data/, notebooks/, src/, models/, tests/ y patrón cookiecutter-data-science.
Estructura profesional de directorios para proyectos de IA es una lección gratuita de Learn AI with Python en CoddyKit. Esta es la lección 1 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Learn AI with Python, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Learn AI with Python incluye 4 lecciones en total.
Por qué es importante la estructura
Un montón de notebooks llamados final.ipynb, final2.ipynb y really_final.ipynb es la forma de acabar con un proyecto de IA. Una estructura de directorios coherente hace que los proyectos sean legibles, reproducibles y fáciles de compartir.
Esta lección aborda la estructura de Cookiecutter Data Science, ampliamente utilizada.
La carpeta data
Separe los datos según la etapa de procesamiento para no sobrescribir nunca las entradas sin procesar:
data/raw/— datos de origen originales e inmutablesdata/processed/— datos limpios y listos para el modelodata/interim/— transformaciones intermedias
Trate data/raw como de solo lectura: siempre debe poder regenerar todo lo demás a partir de esta carpeta.
Por qué los datos sin procesar son inmutables
Si un error de limpieza corrompe su única copia de los datos, el proyecto queda arruinado. Mantener data/raw intacta significa que cada archivo procesado se puede reproducir volviendo a ejecutar el pipeline.
Los resultados procesados se pueden descartar; los datos sin procesar son sagrados.
La carpeta notebooks
notebooks/ contiene notebooks de exploración y elaboración de informes. Una convención habitual consiste en numerarlos según la etapa y añadir las iniciales, por ejemplo, 1.0-mk-eda.ipynb.
Los notebooks sirven para explorar; la lógica reutilizable debe pasar a src/.
El paquete src
src/ contiene el código Python que se puede importar, dividido según su responsabilidad:
src/data/— scripts de carga y procesamientosrc/features/— ingeniería de característicassrc/models/— código de entrenamiento y predicciónsrc/visualization/— gráficos e informes
src/features y src/models
Mantener la ingeniería de características y el modelado en módulos separados ofrece varias ventajas: puede probar el código de características mediante pruebas unitarias, reutilizarlo en distintos notebooks y cambiar de modelo sin reescribir la preparación de los datos.
from src.features.build_features import make_features
from src.models.train import train_model
X = make_features(df)
model = train_model(X, y)La carpeta models
models/ almacena artefactos entrenados serializados (por ejemplo, model.pkl y model.joblib). Son resultados, no código fuente.
Por lo general, los archivos de modelos grandes no deberían incluirse en Git; utilice DVC o almacenamiento de objetos para gestionarlos (lo veremos en la siguiente lección).
La carpeta reports
reports/ contiene resultados generados para las personas: reports/figures/ para los gráficos y un documento de informe en el nivel superior. El código produce estos archivos, por lo que se pueden regenerar.
Archivos de configuración y entorno
Complete el proyecto con archivos de nivel de proyecto:
requirements.txtoenvironment.yml— dependenciasconfig.yaml— hiperparámetros y rutasREADME.md— descripción del proyecto e instrucciones para ejecutarlo.gitignore— elementos que Git debe omitir
La estructura completa
En conjunto, un proyecto de IA bien estructurado tiene este aspecto:
project/
data/
raw/
interim/
processed/
notebooks/
src/
data/
features/
models/
visualization/
models/
reports/
figures/
config.yaml
requirements.txt
README.mdGeneración con Cookiecutter
No tiene que crear esta estructura manualmente cada vez. La plantilla cookiecutter-data-science genera toda la estructura con un solo comando.
# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree createdComprobación rápida: ¿dónde se guardan los datos sin procesar?
Descarga un archivo CSV original de un proveedor de datos.
Repaso: estructura del proyecto
Ha aprendido la estructura profesional de un proyecto de IA:
data/raw(inmutable) ydata/processedpara las distintas etapasnotebooks/para la exploración, ysrc/featuresysrc/modelspara el código reutilizablemodels/para los artefactos yreports/para los resultados- Configuración, requisitos, README y .gitignore en la raíz
- cookiecutter-data-science para generar la estructura al instante
Siguiente: usar Git de forma eficaz en proyectos de IA.
Preguntas frecuentes
¿La lección «Estructura profesional de directorios para proyectos de IA» es gratis?
Sí — el texto completo de «Estructura profesional de directorios para proyectos de IA» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Learn AI with Python, actualiza a CoddyKit PRO. El curso de Learn AI with Python incluye 4 lecciones en total.
¿Qué aprenderé en «Estructura profesional de directorios para proyectos de IA»?
Organización data/, notebooks/, src/, models/, tests/ y patrón cookiecutter-data-science. Practicas Learn AI with Python con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Learn AI with Python?
No se requiere experiencia previa. Learn AI with Python en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 1 de 4.
¿Cuánto tiempo toma la lección «Estructura profesional de directorios para proyectos de IA»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Learn AI with Python?
Sí. Cada lección de Learn AI with Python incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Estructura profesional de directorios para proyectos de IA
- Git para proyectos de IA
- Reproducibilidad: semillas, configuraciones y entornos
- Buenas prácticas para Jupyter Notebooks