Nuova ricerca

Francesco GUERRA

Professore Ordinario
Dipartimento di Ingegneria "Enzo Ferrari"

Insegnamento: Big Data Analysis

Ingegneria informatica (Offerta formativa 2020)

Obiettivi formativi

Il quantitativo di dati che è possibile analizzare adesso è enorme. In questo momento, si parla di “data science” per indicare un campo di ricerca emergente nel quale sono studiate e applicate tecniche per estrarre informazioni, analizzare i contenuti e scoprire nuova conoscenza da sorgenti dati di grandi dimensioni (big data) al fine di ottenere un vantaggio competitivo. La “data science” ha quindi una importanza cruciale sia per il mondo del lavoro sia per quello della ricerca.
Il corso intende avere un orientamento prettamente pratico e prevede una serie di attività laboratoriali e progettuali attraverso le quali verranno introdotte e analizzate le tecniche fondamentali di analisi di big data che includono algoritmi per la gestione di dati (e.g., MapReduce), algoritmi di data mining e di modellazione statistica. Il corso prevede l’uso dell’ambiente di machine learning WEKA, e lo sviluppo di semplici programmi con il linguaggio Python (in particolare e librerie pandas e scikit-learn).
Attraverso questo corso gli studenti saranno in grado di:
- Conoscere i maggiori trend tecnologici, scientifici e applicativi connessi con i big data e la data science.
- Conoscere gli aspetti significativi di alcune piattaforme per l’analisi di dati.
- Modellare un problema relativo all’analisi di dati e proporre approcci per la sua risoluzione.
- Utilizzare alcune importanti tecniche di analisi di dati, text analysis e data mining
- Utilizzare le librerie pandas, sklearn per analizzare dati ae applicare tecniche di data mining

Prerequisiti

Conoscenze in gestione di basi di date (come quelle fornite dagli insegnamenti di Basi di Dati e Lab del Dipartimento di Ingegneria “Enzo Ferrari”). Verranno inoltre applicati algoritmi descritti in corsi di Machine Learning. Per studenti provenienti da altre sedi universitarie e/o altri corsi di studio l'acquisizione di contenuti analoghi ai corsi soprannominati.

Programma del corso

Parte 1. Architetture e piattaforme per la gestione di Big Data
1.1 Algoritmi e piattaforme di Map Reduce (Algoritmi di MapReduce, Estensioni al Map Reduce, Modello di Costo)

Parte 2. Tecniche per la ricerca e l’analisi di Big Data
2.1 Analisi di dati mediante l’applicazione di Modelli statistici e di Data Mining. Casi d’uso presentati con l’ambiente di analisi statistica WEKA e sklearn (Regressione, Classificazione Bayes, Decision Trees, Classification Rules, Association Rules). Apprendimento della libreria scikit-learn.
2.2 Ricerca di elementi simili (Locality-Sensitive Hashing for Documents)
2.3 Ricerca di Frequent Itemsets (Market Basket Analysis)
2.4 Link analysis e Page Rank
2.5 Text analysis, mining e retrieval (text retrieval, language models, text classification, Sentiment Analysis
2.6 Recommendation Systems (Content-Based Recommendations / Collaborative Filtering)
2.7 Elementi di Analisi di Time Series

Metodi didattici

La materia viene insegnata attraverso lezioni frontali che si avvalgono dell’uso di slide rese disponibili agli studenti mediante la piattaforma dolly e di lezioni pratiche in laboratorio. Le lezioni frontali hanno l’obiettivo di fornire una conoscenza “teorica” di base della materia. Per ogni argomento trattato vengono inoltre resi disponibili attraverso la piattaforma dolly alcuni elementi di dettaglio (articoli scientifici, siti web specializzati) per chi approfondire ulteriormente gli argomenti trattati. Le lezioni pratiche hanno l’obiettivo di introdurre alcuni strumenti software di analisi di dati. Il sistema WEKA, la libreria pandas e scikit-learn di python e il sistema Tableau verranno introdotti durante le lezioni e lo studente potrà applicare in maniera autonoma a dataset resi disponibili le tecniche introdotte.

Testi di riferimento

Gli argomenti delle lezioni sono tratte dai seguenti testi:

A. Anand Rajaraman, Jure Leskovec, Jeffrey D. Ullman: Mining of Massive Datasets, Cambridge University Press
B. Ian H. Witten, Eibe Frank, Mark A. Hall: Data Mining, Morgan Kauffman 2012
C. David M. Diez, Cristopher D Barr, Mine Centinkaya-Rundel: OpenIntro Statistics, 2012
D. Bing Liu, Sentiment Analysis and Opinion Mining, Morgan & Claypool Publishers, 2011
E. AnHai Doan,Alon Halevy,Zachary Ives: Principles of Data Integration, Morgan Kaufmann 2012
F. W. Bruce Croft, Donald Metzler, Trevor Strohman: Search Engines – Information Retrieval in Practice, Addison Wesley 2010
G. ChengXiang Zhai, Sean Massung: Text Data Management and Analysis, -- A Practical Introduction to Information Retrieval and Text Mining Acm Books 2016
H. Daniel Jurafsky & James Martin: Speech and Language Processing.

Verifica dell'apprendimento

L’apprendimento viene verificato attraverso una prova pratica di laboratorio nella quale viene richiesto di analizzare un dataset (applicazione di tecniche di trasformazione e mining dei dati). Alla prova pratica di laboratorio è affiancata una prova orale con l’obiettivo di verificare la conoscenza più teorica delle tematiche dell’insegnamento.

Risultati attesi

1. Conoscenza e comprensione:
Le lezioni frontali forniranno allo studente la capacità di conoscere e comprendere i maggiori trend tecnologici, scientifici e applicativi connessi con i big data e gli aspetti significativi di alcune piattaforme per l'analisi di dati.
Lo studente sarà in grado di analizzare dati strutturati utilizzando strumenti software quali WEKA e le librerie python pandas, scikit-learn.

2. Capacità di applicare conoscenza e comprensione
Tramite le lezioni pratiche in laboratorio lo studente saprà modellare problemi relativi all'analisi di dati e proporre approcci per la loro risoluzione e sapere utilizzare alcune importanti tecniche di analisi di dati e data mining.

3. Autonomia di giudizio
Lo studente sarà in grado di scoprire analizzare e valutare la conoscenza emergente da dati strutturati, utilizzando delle soluzioni informatiche avanzate.

4. Abilità comunicative
Lo studente saprà produrre report completi che descrivano la conoscenza emergente da dati strutturati, redigendo delle ipotesi e verificandole attraverso l’analisi dei dati.

5. Capacità di apprendimento
Lo studente disporrà di una conoscenza di base tale da permettergli approfondimenti successivi sui temi della business intelligence, analisi di dati, process mining e gestione di grandi quantitativi di dati