HTML CSS JAVASCRIPT SQL MYSQL PYTHON JAVA PHP C C++ C# PACKET TRACER CYBERSECURITY REACT TYPESCRIPT NODE.JS GIT & GITHUB DATA SCIENCE BOOTSTRAP GO KOTLIN JQUERYDJANGOVUEANGULAR MONGODB POSTGRESQL SASS NUMPY PANDAS SCIPY DSA RUST SWIFT BASHXMLW3.CSSANGULARJSAIAWSPROGRAMMAZIONEEXCEL WORD POWERPOINT
Corso gratuito

Corso Data Science in italiano

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

TipoDescrizioneEsempio
NumericiNumeri, su cui si fanno calcolietà, prezzo, temperatura
CategoriciCategorie/etichette, senza ordine numericocolore, città, sì/no
OrdinaliCategorie con un ordinebasso/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.

DurataBattiti mediCalorie
60110409
60117479
45109340
45118406

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.

LibreriaA cosa serve
PandasCaricare, pulire e manipolare tabelle di dati (DataFrame)
NumPyCalcolo numerico veloce su array e matrici
MatplotlibCreare grafici e visualizzazioni
SciPyStatistica avanzata e calcolo scientifico
Scikit-learnMachine learning (regressione, classificazione...)
Importare le librerie
📘 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à

MisuraCos'è
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)
  • 0: nessuna relazione lineare
  • −1: correlazione negativa perfetta (una cresce, l'altra cala)
Calcolare la correlazione
💡 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.

VoceSignificato
Dep. VariableLa variabile che stiamo predicendo (y)
MethodIl metodo di stima (OLS = minimi quadrati ordinari)
No. ObservationsQuanti dati abbiamo usato
R-squaredQuanto bene il modello spiega i dati (0–1)
Df Residuals / ModelGradi 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.

CoefficienteSignificato
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
  • 🪐 Jupyter Notebook — lo standard professionale per analisi dati
  • 📊 Kaggle Notebooks — notebook + migliaia di dataset reali pronti all'uso
  • 💻 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

  1. Crea un DataFrame con i voti di 5 esami e calcola media, mediana e massimo
  2. Filtra le righe con voto ≥ 24 e contale
  3. Ordina il DataFrame per voto decrescente
  4. Carica un CSV qualsiasi e stampa describe() e info()

Livello intermedio

  1. Trova e riempi i valori mancanti di una colonna con la sua media
  2. Calcola la correlazione tra due colonne numeriche e interpretala
  3. Disegna uno scatter plot di due variabili e descrivi l'andamento
  4. Usa groupby per calcolare una media per categoria

Livello avanzato

  1. Costruisci una regressione lineare con scipy e fai una previsione
  2. Stampa la summary() di statsmodels e leggi R² e P-value
  3. Disegna i dati reali con sopra la retta del modello
  4. 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.

  1. Qual è la differenza tra dato strutturato e non strutturato?
  2. Cos'è un DataFrame?
  3. Quale funzione Pandas dà al volo media, min e max di tutte le colonne?
  4. Quando è meglio usare la mediana al posto della media?
  5. Cosa misura la deviazione standard?
  6. Che relazione c'è tra varianza e deviazione standard?
  7. Cosa significa un coefficiente di correlazione di −1?
  8. Perché "correlazione non implica causalità"?
  9. Cosa rappresentano pendenza e intercetta in una regressione?
  10. 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
  • Statistica: media, mediana, percentili, deviazione standard, varianza, correlazione
  • Modelli: regressione lineare, tabella di regressione, coefficienti, P-value, R-quadro
  • Pratica: caso completo, esercizi, dataset reali

Piano di studio

La Data Science si impara mettendo le mani sui dati. Il piano alterna teoria, statistica e pratica con dataset reali.

PeriodoObiettivo
Settimana 1Basi: tipi di dati, Pandas, DataFrame, caricare CSV, describe/info
Settimana 2Pulizia dati + funzioni (filtri, groupby, sort) su un dataset reale
Settimana 3Statistica: media, mediana, deviazione standard, percentili, grafici
Settimana 4Correlazione, matrice di correlazione, heatmap
Settimana 5Regressione lineare: modello, previsioni, R², P-value
Settimana 6Progetto 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.

CertificazioneEnteNote
Data Science CertificateW3SchoolsBase, buono per iniziare il CV
IBM Data Science ProfessionalIBM / CourseraCompleto e riconosciuto
Google Data AnalyticsGoogle / CourseraOttimo per analisti junior
Competizioni KaggleKaggleI 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.

I tuoi prossimi passi

  • 🤖 Machine Learning: approfondisci con scikit-learn — classificazione, clustering, alberi decisionali
  • 📊 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.

✏️ Provalo tu — leggi e modifica il codice Python
Anteprima