90733 - DATA ANALYTICS

Scheda insegnamento

SDGs

L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.

Imprese innovazione e infrastrutture Città e comunità sostenibili Consumo e produzione responsabili

Anno Accademico 2020/2021

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 (es. AWS DP). 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 Learning/Data Mining 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. Il corso si conclude con un ciclo di seminari sulle applicazioni della data-analytics in ambito business/industriale, prevedendo la partecipazione di aziende del settore. 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 IOL. 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:

  • 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 IOL del corso. Inoltre, sono previsti seminari aziendali nell’ultima settimana di lezione.


Modalità di verifica 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. 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 IOL). 

Orario di ricevimento

Consulta il sito web di Marco Di Felice

Consulta il sito web di Giuseppe Lisanti