0Pricing
Learn AI with Python · Lezione

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 immutabili
  • data/processed/ — dati puliti, pronti per il modello
  • data/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'elaborazione
  • src/features/ — feature engineering
  • src/models/ — codice per l'addestramento e la previsione
  • src/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.txt o environment.yml — dipendenze
  • config.yaml — iperparametri e percorsi
  • README.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.md

Generarla 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 created

Verifica 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/processed per le varie fasi
  • notebooks/ per l'esplorazione, src/features e src/models per il codice riutilizzabile
  • models/ 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

  1. Struttura professionale delle directory di un progetto IA
  2. Git per progetti di IA
  3. Riproducibilità: seed, configurazioni e ambienti
  4. Buone pratiche per i notebook Jupyter
← Torna a Learn AI with Python