Obiettivi del laboratorio annesso al corso teorico è fornire una esperienza diretta "hand on" di analisi dati sia pur in contesto didattico.
Il linguaggio di riferimento è Python e l'utilizzo delle principali librerie statistiche, di analisi dati e di visualizzazione dati.
Lo studente verrà guidato passo passo al caricamento dei dati, al loro riordino e pre-processing, alla esplortazione visuale e alla applicazione degli algoritmi che vengono via via presentati a lezione.
Lezioni in aula, il docente presenta agli studenti script python illustrandone il significato e chidendo di replicarli ed applicarli ai vari data set.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus
Programmazione
Nozioni di base di statistica e calcolo delle probabilità.
Nozioni di basi di dati.
Algebra lineare.
nozioni di calcolo numerico.
Obbligatoria
Statistica descrittiva e tecniche di visualizzazione.
Correlazione e regressione lineare. Regressione non lineare. regressione logistica.
Classificatori bayesiani: MAP.
Apprendimento di un classificatore: tipi di errore. matrice di confuzione. Curve ROC.
Dscriminati lienari: percettrone, discriminate lineare di Fisher, SVM.
Kernel trick e SVM non lineari.
PCA e altre tecniche non lineari di riduzione della dimenionalità.
K-nn
Alberi decisionali. CART.
Clustering: k-means e clustering gerarchico.
metodi di ensamble. Boosting.
Notebook Jupyter forniti dal docente
Chapters from:Python for Data Analysis: Data Wrangling with Pandas, Numpy, and IPython (Inglese) W.Mckinney O'reilly 2017
Argomenti | Riferimenti testi | |
---|---|---|
1 | Statistica descrittiva | notebook jupyter fornito dal docente, capitoli testo b) |
2 | Modalità più comuni di visualizzaizone dati | notebook jupyter fornito dal docente, capitoli testo b) |
3 | correlazione e indici di correlazione lineare | notebook jupyter fornito dal docente, capitoli testo b) |
4 | confronto tra popolazioni, cenni di statistica inferenziale | notebook jupyter fornito dal docente, capitoli testo b) |
5 | il problema della classificazione automatica, Ts, CS e errore | notebook jupyter fornito dal docente, capitoli testo b) |
6 | Regressione lineare | notebook jupyter fornito dal docente, capitoli testo b) |
7 | regressione non lineare e logistica | notebook jupyter fornito dal docente, capitoli testo b) |
8 | Formula di Bayes, classificazione MAP | notebook jupyter fornito dal docente, capitoli testo b) |
9 | Analisi discriminante: LDA, percettrone | notebook jupyter fornito dal docente, capitoli testo b) |
10 | SVM, SVM e kernel trick | notebook jupyter fornito dal docente, capitoli testo b) |
11 | Alberi decisionali: CART | notebook jupyter fornito dal docente, capitoli testo b) |
12 | Riduzione di dimensionalità lineare: PCA | notebook jupyter fornito dal docente, capitoli testo b) |
13 | K-nn e parzen methods (metodi non parametrici) | notebook jupyter fornito dal docente, capitoli testo b) |
14 | Clustering: k-means, medoids, clustering gerarchico | notebook jupyter fornito dal docente, capitoli testo b) |
L'esame consiiste nella presentazione e discussione di un progetto di analisi dati scelto dallo studente e pre-approvato dal docente.
La verifica dell’apprendimento potrà essere effettuata anche per via telematica, qualora le condizioni lo dovessero richiedere.
Tipici data set vengono estratti da Kaggkle e si richiede di eseguire task di regressione e di classificazione utilizzando differenti algoritmi e strategier, valutandone l'efficacia.