Capitolo 4 di 1527%
Capitolo 4

Machine Learning: Imparare dai Dati

Come gli algoritmi imparano

📌Il Processo di Apprendimento

significa che l'algoritmo impara dai dati senza essere programmato esplicitamente. Il processo base è questo: riceve i dati, produce una previsione iniziale, misura l'errore, aggiorna i parametri e ripete il ciclo molte volte. Dopo molte iterazioni, il modello non "conosce" davvero i dati: apprende pattern utili e migliora la capacità di generalizzare su esempi nuovi. In un prodotto reale il valore nasce da un ciclo rapido di esperimento, misurazione e miglioramento: senza metriche stai solo facendo una demo, non costruendo un sistema affidabile. Nota pratica: prima del deploy testa il modello su dati mai visti. Per migliorare risultati reali servono anche , tuning di , buon e lettura corretta di .
Takeaway: conta il modello che generalizza meglio, non quello più complesso.

🖼️ Infografica

In arrivo

Il ciclo fondamentale del Machine Learning: dati in input, previsione del modello, calcolo errore, aggiornamento pesi. Schema visuale che mostra la differenza tra modello che memorizza (overfitting) e modello che generalizza, con il concetto di train/test split.

media/ch04-machine-learning/sec-01/infographic.png

📌Overfitting e Underfitting

: quando l'algoritmo memorizza i dati di invece di apprendere pattern generali. È come studiare gli esami passati a memoria e andare in crisi quando cambiano le domande.

: quando il modello è troppo semplice per catturare i pattern rilevanti.

Segnale pratico rapido: score alto + validation score basso = ; training e validation entrambi bassi = . La sfida è trovare equilibrio tra semplicità e capacità di generalizzare su dati nuovi. Nota pratica: valuta sempre il modello su dati mai visti, non solo su quelli di .
Takeaway: scegli il modello che regge meglio nel reale, non quello che "brilla" solo in .

🎬 Video

In arrivo

Spiegazione visiva di overfitting e underfitting con curve di training e validation loss. Come riconoscere i segnali diagnostici: gap crescente tra train e val, bias elevato, e le strategie di mitigazione (regularization, dropout, early stopping).

media/ch04-machine-learning/sec-02/video.mp4

🚀Caso reale

Nel forecasting delle vendite, un modello lineare può battere modelli più complessi quando i dati sono pochi, puliti e relativamente stabili nel tempo. In pratica non scegli il modello più sofisticato, ma quello che mantiene performance stabili sui dati nuovi del tuo scenario reale.

🖼️ Infografica

In arrivo

Framework decisionale in 3 passi per scegliere il modello giusto: dimensione dataset, complessità del pattern, vincoli di interpretabilità. Mostra quando un modello semplice (LR) batte uno complesso (RF) e come il contesto business guida la scelta tecnica.

media/ch04-machine-learning/sec-03/infographic.png

🛠️Production Warning + Task

Warning: ottimizzare solo l' può nascondere errori gravi, soprattutto quando alcune classi sono rare ma importanti.

Task (20 min): scegli due metriche aggiuntive — ad esempio e per classificazione, oppure MAE e MAPE per regressione — e spiega in quale scenario reale le useresti al posto dell'.

🎙️ Podcast

In arrivo

Perché ottimizzare solo l'accuracy è pericoloso: il podcast esplora scenari reali in cui un'accuracy alta nasconde fallimenti gravi (classi rare, sbilanciamento, errori asimmetrici). Guida lo studente nella scelta di metriche complementari: precision e recall per classificazione, MAE e MAPE per regressione. Collega con overfitting (CH4 sec-2) e con la scelta strategica del modello in CH9. Takeaway operativo: la metrica giusta dipende dal costo degli errori nel tuo contesto specifico.

media/ch04-machine-learning/sec-04/podcast.mp3

ML Workflow Pratico — 5 Step

Impara facendo. Scarica il lab e la guida, poi segui gli step.

📋 Setup

Obiettivo del Laboratorio:

Imparerai il ciclo di vita completo di un modello di Machine Learning usando dati reali (i prezzi delle case in California). Non è solo teoria: prenderai dei dati grezzi, allenerai due modelli diversi e misurerai in dollari veri quant'è l'errore delle tue predizioni.

  • Usare Pandas per esplorare un dataset da 20.640 righe
  • Il concetto fondamentale di split Training vs Test
  • Confrontare un modello semplice (Linear Regression) con uno complesso (Random Forest)
  • Leggere le metriche d'errore (MAE e ) e tracciare un grafico

Prerequisiti:

  • ✅ Python 3.7+ (scarica da python.org)
  • ✅ pip (incluso in Python)

Comandi di avvio:

# 1. Estrai lo ZIP e accedi

$ cd ml-lab-01-regression/

# 2. Installa dipendenze

$ pip install -r requirements.txt

# 3. Esegui il lab

$ python main.py

💡 Tip: Se pip install fallisce, prova pip3 o usa un virtual environment.

Step 1

Carica i Dati

Legge il dataset California Housing (20k case con prezzi reali) che userai per il training.

Carica i Dati — Codice

python

Loading...

📁 main.py (righe 28-32)

Carica il dataset e costruisce features (X) e target prezzo (y) in formato Pandas — la base strutturata per tutto il workflow ML.

🎯 Prova: Stampa X.head() — quante righe? Quante colonne? Poi verifica se i dati sono pronti per la validation.

Step 2

Dividi Training e Test

Split 80% training / 20% validation.

Dividi Training e Test — Codice

python

Loading...

📁 main.py (righe 35-38)

Divide il dataset: 80% per il training, 20% per il test — il principio fondamentale di ogni valutazione ML affidabile.

🎯 Prova: Cambia test_size a 0.1 — vedi MAE migliorare?

Step 3

Allena il Modello

Crea 2 modelli: Linear Regression + Random Forest, poi confronta la capacità di generalization.

Allena il Modello — Codice

python

Loading...

📁 main.py (righe 41-48)

Istanzia e addestra due modelli sullo stesso training set: Linear Regression (lineare, veloce) vs Random Forest (ensemble, più potente).

🎯 Prova: Cambia n_estimators e confronta velocità/accuratezza: è più veloce?

Step 4

Valuta Performance

Misura MAE e su training e validation per scovare overfitting.

Valuta Performance — Codice

python

Loading...

📁 main.py (righe 51-60)

Calcola MAE e R² su training e test per misurare l'errore in dollari e rilevare overfitting dal gap tra le due metriche.

🎯 Prova: Se test_mae >> train_mae → overfitting! Confronta anche RMSE.

Step 5

Visualizza Risultati

Grafico scatter: previsioni vs realtà. Se i punti si allineano alla diagonale, il modello ha buona generalization.

Visualizza Risultati — Codice

python

Loading...

📁 main.py (righe 63-71)

Grafico scatter previsioni vs realtà — più i punti si avvicinano alla diagonale, migliore è la generalizzazione del modello.

🎯 Prova: Confronta il grafico dei due modelli: chi ha dispersione minore e MAE più basso?

🎯 Punti Chiave

  • Il modello impara cercando pattern nei dati
  • Overfitting = memorizzazione (non generalizzazione)
  • Underfitting = modello troppo semplice
  • La validazione è cruciale
  • Learning outcome: distinguere overfitting/underfitting e scegliere una metrica adeguata

💬 Discussione in Aula

  • Come potremmo testare se un modello sta soffrendo di overfitting?
  • In quali situazioni reali è più rischioso l'overfitting vs underfitting?
  • Se un algoritmo impiega 1000 cicli per imparare, cosa succede al ciclo 1001?

Media del Capitolo

2/3 pronti

Gli slot con media reale non sono più placeholder; gli altri restano placeholder finché non carichiamo i file.

🎙️ Podcast

In arrivo

Podcast del Capitolo 4: ciclo di apprendimento ML, trappola dell accuracy, come scegliere precision vs recall in base al costo degli errori, e decisioni architetturali per modelli che generalizzano davvero in produzione.

Durata target: 10-15 min

Path previsto: media/ch04-machine-learning/podcast.mp3

🧠 Quiz del Capitolo

Domanda 1 / 100/10 risposte

1. Qual è il primo step corretto in qualsiasi workflow ML?

Seleziona una risposta per continuare