Struttura professionale delle directory di un progetto IA
Struttura data/, notebooks/, src/, models/, tests/ e pattern cookiecutter-data-science.
Struttura professionale delle directory di un progetto IA è una lezione Learn AI with Python gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Learn AI with Python, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Learn AI with Python include 4 lezioni in totale.
Perché la struttura è importante
Un mucchio di notebook chiamati final.ipynb, final2.ipynb e really_final.ipynb è una ricetta per far fallire i progetti di IA. Una struttura coerente delle directory rende i progetti leggibili, riproducibili e adatti alla collaborazione.
Questa lezione illustra il layout ampiamente utilizzato di Cookiecutter Data Science.
La cartella data
Separi i dati in base alla fase di elaborazione, così gli input grezzi non vengono mai sovrascritti:
data/raw/— dati sorgente originali e immutabilidata/processed/— dati puliti, pronti per il modellodata/interim/— trasformazioni intermedie
Tratti data/raw come di sola lettura: deve sempre essere possibile rigenerare tutto il resto a partire da essa.
Perché i dati raw sono immutabili
Se un bug nella pulizia danneggia l'unica copia dei dati, il progetto è compromesso. Mantenere intatta data/raw significa che ogni file elaborato può essere riprodotto rieseguendo la pipeline.
Gli output elaborati sono sacrificabili; i dati raw sono sacri.
La cartella notebooks
notebooks/ contiene notebook per l'esplorazione e la reportistica. Una convenzione comune consiste nel numerarli in base alla fase e aggiungere le iniziali, ad esempio 1.0-mk-eda.ipynb.
I notebook servono per l'esplorazione; la logica riutilizzabile dovrebbe essere spostata in src/.
Il package src
src/ contiene il codice Python importabile, suddiviso per responsabilità:
src/data/— script per il caricamento e l'elaborazionesrc/features/— feature engineeringsrc/models/— codice per l'addestramento e la previsionesrc/visualization/— grafici e report
src/features e src/models
Separare il feature engineering e la modellazione in moduli distinti è vantaggioso: può testare il codice delle feature con unit test, riutilizzarlo in diversi notebook e cambiare modello senza riscrivere la preparazione dei dati.
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 cartella models
models/ memorizza gli artefatti addestrati serializzati, ad esempio model.pkl e model.joblib. Sono output, non codice sorgente.
Di solito i file di modelli di grandi dimensioni non dovrebbero essere inseriti in Git: li tracci invece con DVC o con l'object storage (argomento della prossima lezione).
La cartella reports
reports/ contiene gli output generati per le persone: reports/figures/ per i grafici e un documento di report nella directory principale. Questi output sono prodotti dal codice, quindi possono essere rigenerati.
File di configurazione e dell'ambiente
Completi il progetto con file a livello di progetto:
requirements.txtoenvironment.yml— dipendenzeconfig.yaml— iperparametri e percorsiREADME.md— descrizione del progetto e istruzioni per eseguirlo.gitignore— elementi che Git deve ignorare
La struttura completa
Mettendo tutto insieme, un progetto di IA ben organizzato si presenta così:
project/
data/
raw/
interim/
processed/
notebooks/
src/
data/
features/
models/
visualization/
models/
reports/
figures/
config.yaml
requirements.txt
README.mdGenerarla con Cookiecutter
Non deve costruirla a mano ogni volta. Il template cookiecutter-data-science crea lo scheletro dell'intera struttura con un solo comando.
# pip install cookiecutter
# cookiecutter -c v1 https://github.com/drivendata/cookiecutter-data-science
# Answer a few prompts -> full project tree createdVerifica rapida: dove vanno i dati raw
Ha scaricato un CSV originale da un fornitore di dati.
Riepilogo: struttura del progetto
Ha appreso il layout professionale di un progetto di IA:
data/raw(immutabile),data/processedper le varie fasinotebooks/per l'esplorazione,src/featuresesrc/modelsper il codice riutilizzabilemodels/per gli artefatti,reports/per gli output- File di configurazione, requirements, README e .gitignore nella directory principale
- cookiecutter-data-science per creare istantaneamente la struttura di base
Prossimo argomento: usare Git in modo efficace nei progetti di IA.
Domande Frequenti
La lezione «Struttura professionale delle directory di un progetto IA» è gratuita?
Sì — il testo completo di «Struttura professionale delle directory di un progetto IA» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Learn AI with Python, passa a CoddyKit PRO. Il corso Learn AI with Python include 4 lezioni in totale.
Cosa imparerò in «Struttura professionale delle directory di un progetto IA»?
Struttura data/, notebooks/, src/, models/, tests/ e pattern cookiecutter-data-science. Eserciti Learn AI with Python con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Learn AI with Python?
Non è richiesta alcuna esperienza precedente. Learn AI with Python su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.
Quanto tempo richiede la lezione «Struttura professionale delle directory di un progetto IA»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Learn AI with Python?
Sì. Ogni lezione Learn AI with Python include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Struttura professionale delle directory di un progetto IA
- Git per progetti di IA
- Riproducibilità: seed, configurazioni e ambienti
- Buone pratiche per i notebook Jupyter