- Docente: Marco Di Felice
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Marco Di Felice (Modulo 1) Giuseppe Lisanti (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea Magistrale in Informatica (cod. 5898)
-
Orario delle lezioni (Modulo 1)
dal 19/09/2024 al 19/12/2024
-
Orario delle lezioni (Modulo 2)
dal 23/09/2024 al 16/12/2024
Conoscenze e abilità da conseguire
Al termine del corso, lo studente: (i) conosce le principali tipologie di data-analytics (diagnostic, predictive, prescription, etc) e le tecniche abilitanti; (ii) è in grado di implementare un processo di data pipeline, dall’acquisizione all’analisi degli stessi; (iii) conosce le principali applicazioni della Data Analytics in ambito aziendale e business.
Contenuti
Il corso introduce concetti, tecniche e strumenti per la progettazione ed implementazione di processi di valorizzazione ed analisi di dati. A tal proposito, il corso intende fornire una panoramica esaustiva di tutti gli elementi costitutivi di una pipeline di dati digitali, dall’acquisizione, pre-processamento ed estrazione di conoscenza mediante tecniche statistiche e di Machine Learning, fino alla visualizzazione dei risultati ed all’analisi di prestazione. Vengono inoltre discussi casi d’uso della data analytics in ambiti business, ed in scenari tecnologici di grande impatto industriale, abilitati dalla disponibilità di big-data (es. IoT ed Industria 4.0). Dal punto di vista dell’organizzazione temporale, a valle di un breve richiamo su nozioni di programmazione con Python (e relative librerie per il processamento dati), il corso prevede cicli di lezioni per ciascuna componente della data-pipeline. Nello specifico, vengono brevemente richiamate le tecniche base di acquisizione dati (mediante data querying, APIs, Web scraping, etc) e i modelli architetturali di data streaming e pipelining più utilizzati. Successivamente, vengono presentate le tecniche di data pre-processing per il filtro/pulizia dei dati, trasformazione/selezione delle feature e riduzione della dimensionalità. Vengono quindi illustrate le tecniche più comuni di data visualization, al fine di presentare i risultati ma anche di supportare le scelte nel processo di analisi, e le relative implementazione mediante librerie Python. Una componente cruciale della pipeline, e quindi del corso, è costituita della presentazione delle tecniche di estrazione automatica di conoscenza dai dati: a tal proposito, vengono illustrate in dettaglio alcune delle tecniche più utilizzate in ambito Machine & Deep Learning secondi approcci Supervised, Unsupervised, e di nuovo la loro implementazione mediante framework Python (es. Scikit Learn, PyTorch). Infine si presentano metriche e metodologie per la valutazione di prestazioni di processi di data analytics. . Segue l’elenco dettagliato degli argomenti introdotti fin qui:
-
Richiami di programmazione Python e librerie per analisi dati (Pandas, Numpy, etc)
-
Componenti della data-pipeline
-
Acquisizione dati: tecniche ed architetture
-
Pre-processamento dati: cleaning, trasformazione, riduzione della dimensionalità, estrazione di feature, etc
-
Visualizzazione dati: marcatori e canali, separabilità, tipologia di grafici)
-
Modellazione
-
Concetti di base (classificazione vs regressione, overfitting vs underfitting, generalizzazione, regolarizzazione, etc)
-
Approcci Supervised (es. KNN, SVM, introduzione alle reti neurali)
-
Approcci Unsupervised (es. k-Means, Gaussian Mixture model, etc)
-
-
Analisi di prestazioni: metriche, metodi di valutazione, ottimizzazione degli iperparametri
-
-
Use-case della data analytics in contesti business ed industriali
Testi/Bibliografia
Tutte le slide del corso saranno rese disponibili sulla piattaforma Virtuale. Non esiste un unico testo di riferimento; per sezioni specifiche del corso (segnalate di volta in volta dai docenti), si consiglia la lettura dei testi seguenti:
- Gareth James, Daniela Witten, Trevor Hastie, Robert Tibshirani, An Introduction to Statistical Learning, Springer, 2013
-
Cristopher Bishop, Pattern Recognition and Machine Learning, Springer, 2016
-
Jiawei Han, Micheline Kamber, Jian Pei, Data Mining: Concepts and Techniques, Morgan Kaufmann Series in Data Management Systems
Ulteriori letture vengono suggerite dai docenti durante il corso in base all’argomento affrontato.
Metodi didattici
Il corso prevede lezioni frontali ed esercitazioni. Quest'ultime sono svolte utilizzando prevalentemente il linguaggio Python; i docenti mettono a disposizione dataset, sketch di codice di esempio e soluzioni attraverso la pagina Virtuale del corso. Inoltre, sono previsti seminari aziendali nell’ultima settimana di lezione.
Modalità di verifica e valutazione dell'apprendimento
La verifica dell’apprendimento prevede due prove: progetto e prova orale. Il progetto consiste nella progettazione ed implementazione di un processo di data-analytics, considerando tutte le fasi della pipeline presentate in aula ed utilizzando i tool illustrati a lezione (PyTorch + Scikit-Learn). La traccia del progetto può essere scelta dagli studenti (previa approvazione) o proposta dal docente durante il corso. Il progetto può essere svolto singolarmente o in gruppi di massimo 2 unità. A valle della discussione del progetto, segue una prova orale con domande di teoria sugli argomenti presentati durante il corso. Il voto finale si ottiene dalla media dei voti conseguiti dallo studente nelle due prove. Al fine di stimolare la partecipazione e l’interazione durante il semestre di lezione, potrebbe essere prevista la possibilità di assegnare esercizi bonus, sotto forma di piccoli challenge o di consegne individuali, da svolgere a casa durante il semestre di lezione ed in via facoltativa; l’eventuale consegna degli esercizi concorre alla votazione finale (media scritto/progetto).
Strumenti a supporto della didattica
Gli strumenti includono: slide, personal computer, proiettore, dataset di esempio (messi a disposizione attraverso Virtuale).
Orario di ricevimento
Consulta il sito web di Marco Di Felice
Consulta il sito web di Giuseppe Lisanti
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.