Impara ad analizzare i dati da zero: Pandas, statistica, correlazione e regressione lineare con Python, per trasformare i numeri in previsioni e decisioni.
Cos'è la Data Science
La Data Science (scienza dei dati) è la disciplina che usa metodi scientifici, statistica, programmazione e algoritmi per estrarre conoscenza e valore dai dati. È uno dei mestieri più richiesti del momento: ogni azienda raccoglie dati e ha bisogno di persone capaci di trasformarli in decisioni.
Cosa fa un Data Scientist
📥 Raccoglie i dati da database, file, API e sensori
🧹 Pulisce e prepara i dati (la fase più lunga del lavoro)
📊 Analizza i dati con statistica e visualizzazioni
🤖 Modella i dati con algoritmi di machine learning
💡 Comunica i risultati per guidare le decisioni
A cosa serve
La Data Science risponde a domande concrete: Quali clienti rischiano di abbandonare? Quanto venderemo il mese prossimo? Questa email è spam? Quali prodotti consigliare? Dietro a Netflix, Amazon, le diagnosi mediche assistite e le previsioni meteo c'è la scienza dei dati.
📘 In questo corso useremo Python con le librerie Pandas (gestione dati), NumPy (calcolo numerico) e Matplotlib (grafici): lo stack standard della Data Science.
💡 Non parti da zero in informatica? Ti consiglio di seguire prima il corso Python: qui daremo per scontate le basi del linguaggio.
Cosa sono i dati
Un dato (data) è una raccolta di informazioni: numeri, parole, misurazioni, osservazioni o descrizioni di qualcosa. I dati sono la materia prima della Data Science.
I due tipi principali di dati
Dati strutturati: organizzati in tabelle con righe e colonne (es. un foglio Excel, un database). Facili da analizzare.
Dati non strutturati: testo libero, immagini, audio, video. Più ricchi ma più difficili da elaborare.
Tipi di valori
Tipo
Descrizione
Esempio
Numerici
Numeri, su cui si fanno calcoli
età, prezzo, temperatura
Categorici
Categorie/etichette, senza ordine numerico
colore, città, sì/no
Ordinali
Categorie con un ordine
basso/medio/alto, voto scolastico
I numerici si dividono ancora in discreti (contabili, es. numero di figli) e continui (qualsiasi valore in un intervallo, es. altezza). Capire il tipo di dato è il primo passo: determina quali analisi e quali grafici hanno senso.
📘 Dataset: un insieme di dati organizzato, di solito una tabella. Data point (o osservazione): una singola riga. Feature (o variabile): una singola colonna.
La tabella: righe e colonne
Nella Data Science i dati vivono quasi sempre in una tabella: una griglia di righe (le osservazioni) e colonne (le variabili). È la stessa struttura di un database o di un foglio di calcolo.
Durata
Battiti medi
Calorie
60
110
409
60
117
479
45
109
340
45
118
406
Questa tabella descrive sessioni di allenamento: ogni riga è una sessione, ogni colonna una caratteristica misurata (durata in minuti, battiti cardiaci medi, calorie bruciate).
Perché la struttura conta
Ogni riga = un'osservazione completa e indipendente
Ogni colonna = una variabile con un tipo coerente (tutti numeri, o tutte categorie)
L'analisi cerca relazioni tra colonne (es. più durata → più calorie?)
💡 In Python questa tabella diventa un DataFrame di Pandas: lo vedremo tra poco. Mentalmente, pensa sempre ai tuoi dati come a una tabella ordinata.
Python per la Data Science
Python è il linguaggio più usato nella Data Science: semplice da leggere, con un ecosistema enorme di librerie specializzate. Vediamo gli strumenti fondamentali.
Libreria
A cosa serve
Pandas
Caricare, pulire e manipolare tabelle di dati (DataFrame)
📘 La convenzione import pandas as pd dà alle librerie un alias breve: troverai sempre pd, np e plt in ogni codice di Data Science.
Il DataFrame di Pandas
Il DataFrame è la struttura dati centrale di Pandas: una tabella bidimensionale con righe e colonne etichettate. È come un foglio Excel programmabile.
Creare e ispezionare un DataFrame
Caricare dati reali
Leggere un file CSV
💡 df.describe() e df.info() sono i tuoi primi due comandi su qualsiasi dataset nuovo: ti danno subito media, min, max e l'elenco dei valori mancanti.
Funzioni utili sui dati
Pandas offre decine di funzioni per esplorare e riassumere i dati con una riga di codice. Sono il pane quotidiano dell'analisi.
Funzioni di analisi
📘 groupby è potentissimo: "raggruppa per durata e calcola la media delle calorie" diventa una sola riga. È il cuore di gran parte delle analisi.
Preparazione dei dati
I dati reali sono sporchi: valori mancanti, duplicati, formati sbagliati, errori. La preparazione dei dati (data cleaning) è la fase più lunga e importante: si dice che occupi l'80% del tempo di un Data Scientist.
I problemi tipici
🕳️ Valori mancanti (celle vuote, NaN)
👯 Duplicati (righe ripetute)
🔤 Formato sbagliato (date come testo, numeri con la virgola)
📏 Valori anomali (outlier: un'età di 300 anni)
Pulire un DataFrame
⚠️ Non esiste UNA risposta giusta per i valori mancanti: a volte si eliminano, a volte si riempiono con media/mediana. La scelta dipende dal contesto e influenza i risultati: documentala sempre.
Funzioni lineari
La matematica è il linguaggio dei dati. La funzione lineare è la più semplice e la più usata: descrive una relazione a "linea retta" tra due variabili.
La sua formula è:
f(x) = a·x + b
x è l'ingresso (la variabile indipendente)
a è la pendenza (slope): di quanto cresce f(x) quando x aumenta di 1
b è l'intercetta (intercept): il valore di f(x) quando x = 0
Una funzione lineare in Python
📘 Le funzioni lineari sono alla base della regressione lineare, il modello predittivo più importante che vedremo nella sezione avanzata.
Disegnare le funzioni
Visualizzare i dati è essenziale: un grafico comunica in un istante ciò che una tabella di numeri nasconde. In Python usiamo Matplotlib.
Disegnare una funzione lineare
Il grafico a dispersione (scatter)
Scatter plot: dati reali vs retta
💡 Lo scatter plot è il primo grafico da fare per studiare la relazione tra due variabili numeriche: ti mostra subito se c'è un andamento (e se è lineare).
Pendenza e intercetta
I due numeri che definiscono una retta hanno un significato pratico fondamentale nella Data Science.
La pendenza (slope, a)
Indica quanto cambia y per ogni unità di x. Si calcola come variazione di y diviso variazione di x:
a = (y₂ − y₁) / (x₂ − x₁)
L'intercetta (intercept, b)
È il valore di y quando x = 0: il punto in cui la retta tocca l'asse verticale.
Calcolare pendenza e intercetta
📘 Trovare la "miglior retta" che attraversa una nuvola di punti reali significa trovare la pendenza e l'intercetta ottimali: è esattamente ciò che fa la regressione lineare.
Introduzione alla statistica
La statistica è il cuore della Data Science: l'insieme di metodi per descrivere, riassumere e trarre conclusioni dai dati.
Le misure di centralità
Misura
Cos'è
Media (mean)
La somma dei valori divisa per quanti sono
Mediana (median)
Il valore centrale, ordinando i dati
Moda (mode)
Il valore che compare più spesso
Media, mediana e moda
⚠️ La media è sensibile ai valori estremi (outlier): un solo stipendio da milionario alza la "media degli stipendi" di un'azienda. In questi casi la mediana descrive meglio la realtà.
I percentili
Un percentile indica il valore sotto al quale cade una certa percentuale dei dati. Il 75° percentile è il valore sotto cui sta il 75% delle osservazioni.
Sono utilissimi per capire la distribuzione: l'altezza al 90° percentile dei bambini di un'età è quella superata solo dal 10% più alto.
Calcolare i percentili
📘 I quartili (25°, 50°, 75° percentile) dividono i dati in quattro parti uguali e sono alla base del box plot, un grafico che riassume la distribuzione in un colpo d'occhio.
La deviazione standard
La deviazione standard misura quanto i dati sono sparpagliati attorno alla media. Bassa = i valori sono vicini alla media; alta = molto dispersi.
Deviazione standard
Interpretazione pratica
In una distribuzione "a campana" (normale), circa il 68% dei dati cade entro 1 deviazione standard dalla media, il 95% entro 2 e il 99,7% entro 3. È la famosa regola 68-95-99,7.
💡 Media e deviazione standard insieme raccontano molto: "stipendio medio 30.000€ con deviazione 2.000€" è un'azienda molto diversa da "30.000€ con deviazione 20.000€".
La varianza
La varianza è un'altra misura di dispersione, strettamente legata alla deviazione standard: la deviazione standard è la radice quadrata della varianza.
Si calcola facendo la media dei quadrati delle distanze di ogni valore dalla media. Si eleva al quadrato per evitare che scarti positivi e negativi si annullino.
Varianza e deviazione standard
📘 Perché due misure? La varianza è comoda nei calcoli matematici (compare nelle formule), la deviazione standard è più intuitiva perché ha la stessa unità di misura dei dati (euro, cm...).
La correlazione
La correlazione misura quanto due variabili variano insieme. Il coefficiente di correlazione va da −1 a +1:
+1: correlazione positiva perfetta (una cresce, l'altra cresce in proporzione)
💡 Una correlazione vicina a ±1 indica una relazione lineare forte e quindi prevedibile: è il segnale che la regressione lineare funzionerà bene.
La matrice di correlazione
Quando le variabili sono molte, la matrice di correlazione mostra in un colpo d'occhio la correlazione tra ogni coppia di colonne.
Matrice di correlazione
Visualizzarla: la heatmap
Heatmap della correlazione
📘 La heatmap usa il colore per l'intensità: rosso acceso per correlazioni forti positive, blu per quelle negative. È lo strumento standard per esplorare dataset con molte colonne.
Correlazione ≠ causalità
È la lezione più importante di tutta la statistica: la correlazione non implica la causalità. Due variabili possono muoversi insieme senza che una causi l'altra.
L'esempio classico
Le vendite di gelati e gli annegamenti sono fortemente correlati. Il gelato causa annegamenti? No: c'è una terza variabile nascosta — il caldo estivo — che fa aumentare entrambi.
Le trappole da conoscere
Variabile confondente: una causa comune nascosta (il caldo)
Causalità inversa: è B a causare A, non il contrario
Coincidenza: con tanti dati, alcune correlazioni nascono per puro caso
⚠️ Confondere correlazione e causalità porta a decisioni disastrose. Prima di dire "X causa Y" servono esperimenti controllati (es. test A/B), non la sola correlazione osservata nei dati.
📘 Esistono interi siti che raccolgono correlazioni spurie esilaranti (es. il consumo di formaggio e i decessi per lenzuola aggrovigliate): un promemoria divertente di quanto sia facile farsi ingannare.
La regressione lineare
La regressione lineare è il modello predittivo più importante: trova la retta che meglio approssima la relazione tra una variabile di ingresso (x) e una di uscita (y), per poi fare previsioni.
La tua prima regressione
📘 "Regressione" = trovare la relazione tra variabili. "Lineare" = la relazione è una retta. Il modello impara dai dati passati per prevedere casi nuovi mai visti.
La tabella di regressione
Per analisi serie si usa statsmodels, che produce una tabella di regressione completa: non solo la previsione, ma anche quanto fidarsi del modello.
Regressione con statsmodels
La tabella contiene molti numeri. Nelle prossime lezioni impareremo a leggere i più importanti: coefficienti, P-value e R-quadro.
💡 La summary() sembra intimidatoria all'inizio, ma bastano 3-4 numeri per giudicare un modello. È lo standard nei report di analisi dei dati.
Leggere le informazioni
In cima alla tabella di regressione ci sono le informazioni generali sul modello: cosa stiamo predicendo, con quale metodo, su quanti dati.
Voce
Significato
Dep. Variable
La variabile che stiamo predicendo (y)
Method
Il metodo di stima (OLS = minimi quadrati ordinari)
No. Observations
Quanti dati abbiamo usato
R-squared
Quanto bene il modello spiega i dati (0–1)
Df Residuals / Model
Gradi di libertà (dati e variabili usate)
📘 OLS (Ordinary Least Squares), i "minimi quadrati", è il metodo che trova la retta minimizzando la somma dei quadrati degli errori (le distanze verticali tra i punti reali e la retta).
💡 Più "No. Observations" (più dati) hai, più il modello è affidabile. Una regressione su 5 punti dice poco; su 5.000 punti diventa solida.
I coefficienti
I coefficienti sono il cuore del modello: i numeri che definiscono la retta. Sono esattamente la pendenza e l'intercetta che già conosci.
Coefficiente
Significato
const (intercetta)
Il valore previsto di y quando x = 0
x1 (pendenza)
Di quanto cambia y per ogni unità di x in più
Estrarre e usare i coefficienti
📘 Il coefficiente di una variabile risponde alla domanda chiave del business: "se aumento questa leva di 1, di quanto cambia il risultato?". È l'informazione più azionabile del modello.
Il P-Value
Il P-value risponde a una domanda cruciale: questa variabile conta davvero, o l'apparente relazione è frutto del caso?
P-value piccolo (< 0,05): la variabile è statisticamente significativa, la relazione è probabilmente reale
P-value grande (> 0,05): non abbiamo prove sufficienti, la relazione potrebbe essere casuale
Leggere i P-value
⚠️ La soglia 0,05 è una convenzione, non una verità assoluta. E "significativo" non vuol dire "grande": una variabile può essere statisticamente significativa ma avere un effetto pratico minuscolo. Valuta sempre entrambe le cose.
R-quadro (R²)
L'R-quadro (R², o coefficiente di determinazione) misura quanto bene il modello spiega i dati. Va da 0 a 1:
R² = 1: il modello spiega il 100% della variabilità (retta perfetta)
R² = 0,8: spiega l'80% — buon modello
R² = 0: il modello non spiega nulla
Valutare il modello con R²
💡 Un R² alto NON garantisce buone previsioni su dati nuovi (rischio di overfitting) e NON implica causalità. È un buon indicatore, ma va sempre letto insieme a P-value, quantità di dati e buon senso.
Caso pratico completo
Mettiamo tutto insieme in un caso completo: dalla preparazione dei dati alla previsione, con valutazione del modello e grafico finale.
Progetto: prevedere le calorie
📘 Questo è il flusso completo della Data Science: dati → pulizia → esplorazione → modello → valutazione → previsione → comunicazione. Lo ripeterai su ogni progetto, dal più semplice al più complesso.
🎯 Sfida
Trova online un dataset che ti interessa (sport, videogiochi, musica, meteo) su Kaggle, caricalo con Pandas e prova a prevedere una colonna a partire da un'altra con una regressione. Calcola R² e P-value: il tuo modello è affidabile?
Praticare la Data Science online
Ogni esempio del corso ha il pulsante ▶ Provalo tu: apre un editor dove puoi leggere e modificare il codice Python con la sintassi colorata. Per eseguirlo davvero (con Pandas, NumPy e i grafici) usa uno di questi ambienti gratuiti.
Dove eseguire il codice
📓 Google Colab — notebook Python nel browser, gratis, con Pandas/NumPy/Matplotlib già pronti: l'ideale per la Data Science
💻 Anaconda — la distribuzione Python con tutte le librerie, da installare sul tuo computer
Il tuo primo notebook
Esercizi di Data Science
Esercizi pratici progressivi. Fai ognuno in un notebook (Google Colab è perfetto).
Livello base
Crea un DataFrame con i voti di 5 esami e calcola media, mediana e massimo
Filtra le righe con voto ≥ 24 e contale
Ordina il DataFrame per voto decrescente
Carica un CSV qualsiasi e stampa describe() e info()
Livello intermedio
Trova e riempi i valori mancanti di una colonna con la sua media
Calcola la correlazione tra due colonne numeriche e interpretala
Disegna uno scatter plot di due variabili e descrivi l'andamento
Usa groupby per calcolare una media per categoria
Livello avanzato
Costruisci una regressione lineare con scipy e fai una previsione
Stampa la summary() di statsmodels e leggi R² e P-value
Disegna i dati reali con sopra la retta del modello
Trova un dataset su Kaggle e svolgi l'intero flusso dall'inizio alla previsione
🎯 Sfida
Scarica il celebre dataset Titanic da Kaggle e rispondi con i dati: la classe del biglietto era correlata alla sopravvivenza? Usa groupby, percentuali e una heatmap di correlazione per costruire il tuo primo mini-report.
Quiz di Data Science
Verifica le tue conoscenze. Le risposte sono in fondo.
Qual è la differenza tra dato strutturato e non strutturato?
Cos'è un DataFrame?
Quale funzione Pandas dà al volo media, min e max di tutte le colonne?
Quando è meglio usare la mediana al posto della media?
Cosa misura la deviazione standard?
Che relazione c'è tra varianza e deviazione standard?
Cosa significa un coefficiente di correlazione di −1?
Perché "correlazione non implica causalità"?
Cosa rappresentano pendenza e intercetta in una regressione?
Cosa indica un R-quadro vicino a 1?
📘 Risposte: 1) Strutturato = in tabelle righe/colonne; non strutturato = testo/immagini/audio. 2) Una tabella dati bidimensionale di Pandas. 3) describe(). 4) Quando ci sono outlier che falsano la media. 5) Quanto i dati sono dispersi attorno alla media. 6) La deviazione standard è la radice quadrata della varianza. 7) Correlazione negativa perfetta: una sale, l'altra scende in proporzione. 8) Possono variare insieme per una causa comune nascosta o per caso. 9) Pendenza = quanto cambia y per unità di x; intercetta = y quando x=0. 10) Il modello spiega quasi tutta la variabilità dei dati.
Programma del corso
La mappa completa di tutto ciò che copre questo corso, dai primi dati ai modelli predittivi.
Fondamenti: cos'è la Data Science, tipi di dati, tabelle, Python e le sue librerie
Pandas: DataFrame, caricamento dati, funzioni di analisi, pulizia dei dati
Matematica: funzioni lineari, grafici, pendenza e intercetta
Progetto completo su un dataset Kaggle, dall'inizio al report
💡 Il segreto: dalla settimana 2 lavora SEMPRE su dati che ti interessano davvero. Analizzare i tuoi dati Spotify o i risultati della tua squadra rende tutto più motivante e memorabile.
Domande da colloquio
La Data Science è molto richiesta. Queste sono le domande più frequenti ai colloqui per analisti e data scientist junior.
🔹 Differenza tra media, mediana e moda: quando usare l'una o l'altra?
🔹 Cosa misura la deviazione standard? E la varianza?
🔹 Perché correlazione non implica causalità? Fai un esempio
🔹 Come gestisci i valori mancanti in un dataset?
🔹 Cos'è un outlier e come lo tratti?
🔹 Spiega la regressione lineare a chi non è tecnico
🔹 Cosa indica l'R-quadro? E il P-value?
🔹 Cos'è l'overfitting?
🔹 Quali librerie Python usi e per cosa?
🔹 Descrivi il flusso completo di un progetto di analisi dati
💡 Ai colloqui di Data Science conta più il ragionamento sui dati che la formula a memoria: spiega perché scegli un metodo e quali assunzioni stai facendo.
Bootcamp Data Science
Un percorso intensivo per partire da zero e arrivare al tuo primo modello predittivo, con progetti guidati su dataset reali.
Cosa imparerai
✅ Manipolare dati come un professionista con Pandas
✅ Pulire dataset reali e sporchi
✅ Visualizzare i dati con grafici efficaci
✅ Applicare la statistica per trovare relazioni nascoste
✅ Costruire e valutare modelli di regressione
✅ Presentare i risultati in un report convincente
📘 Vuoi un percorso guidato con un docente? Prenota una lezione o scrivi dal modulo contatti: prepariamo un piano su misura, anche per gruppi e classi.
Certificazione in Data Science
Le certificazioni attestano le tue competenze nell'analisi dei dati: un plus sul CV, anche se un portfolio di progetti reali resta la prova più convincente per i datori di lavoro.
Certificazione
Ente
Note
Data Science Certificate
W3Schools
Base, buono per iniziare il CV
IBM Data Science Professional
IBM / Coursera
Completo e riconosciuto
Google Data Analytics
Google / Coursera
Ottimo per analisti junior
Competizioni Kaggle
Kaggle
I risultati valgono più di un badge
Come prepararsi
📊 Padroneggia Pandas, NumPy e Matplotlib
📈 Conosci bene statistica descrittiva e regressione
🧹 Sai pulire e preparare dati reali e disordinati
🟩 Pubblica i tuoi progetti su GitHub e partecipa a competizioni Kaggle
Conclusione — E ora?
Hai completato il corso di Data Science! Ora sai manipolare i dati con Pandas, pulirli, analizzarli con la statistica, visualizzarli e costruire modelli di regressione per fare previsioni. Hai in mano il flusso completo del data scientist.
📊 Visualizzazione avanzata: impara Seaborn e Plotly per grafici interattivi
🗄️ SQL: i dati vivono nei database — il corso SQL è un alleato indispensabile
🐍 Rinforza Python con il corso Python se senti qualche lacuna
🟩 Costruisci un portfolio: pubblica i tuoi notebook su GitHub e Kaggle
🎯 La tua sfida finale
Scegli un tema che ami, trova un dataset reale su Kaggle e realizza un progetto completo: carica i dati, puliscili, esplorali con grafici e statistica, costruisci un modello di regressione e scrivi un breve report con le tue conclusioni. Pubblicalo su GitHub: sarà il primo pezzo del tuo portfolio da data scientist.