DATA AND ARTIFICIAL INTELLIGENCE LABS

Stefano Guarino

Obiettivi formativi

L'obiettivo di questo corso è introdurre gli studenti ai principi di base dell'analisi dei dati e dell'apprendimento automatico, facendo uso di esempi e casi di studio reali. La conoscenza di questi temi rientra nell'obiettivo generale di formare studenti con un profilo competitivo e competenze di valore in un mercato del lavoro in continua evoluzione.

Prerequisiti

Non sono richieste conoscenze precedenti o competenze informatiche/ingegneristiche, ma una conoscenza di base di statistica e programmazione può essere utile.

Risultati di apprendimento attesi

Al termine del corso, gli studenti conosceranno i concetti principali dell'analisi dei dati e comprenderanno l'importanza di utilizzare algoritmi adeguati per estrarre tendenze e modelli dai dati, combinando tecniche di data mining, modellazione predittiva e apprendimento automatico. Il corso insegnerà agli studenti a utilizzare un approccio alla risoluzione dei problemi e al processo decisionale basato sui dati, promuovendo il loro pensiero critico e la loro capacità di lavorare da soli o in gruppo.

Contenuti Del Corso

Principi di programmazione python e programmazione scientifica. Ingestione, pulizia e preelaborazione dei dati. Visualizzazione e fit di distribuzioni statistiche. Analisi di correlazione, modelli di regressione e previsione. Segmentazione dei clienti e modello RFM. Sistemi di raccomandazione. Apprendimento e classificazione supervisionati e non.

Testi Di Riferimento

Hastie, T., Tibshirani, R., Friedman, J. H., & Friedman, J. H. (2009). The elements of statistical learning: data mining, inference, and prediction (Vol. 2, pp. 1-758). New York: springer. VanderPlas, J. (2016). Python data science handbook: Essential tools for working with data. " O'Reilly Media, Inc.". Shmueli, G., Bruce, P. C., Gedeck, P., & Patel, N. R. (2019). Data mining for business analytics: concepts, techniques and applications in Python. John Wiley & Sons.

Metodologie Didattiche

Tutte le lezioni saranno altamente interattive. Gli studenti avranno accesso diretto ai set di dati e al codice utilizzato per analizzarli. Verrà chiesto loro di discutere il problema in questione e di identificare gli obiettivi e i possibili approcci per raggiungerli. Mentre il docente presenta le tecniche, gli studenti saranno invitati a testarle sui dati forniti e a discutere i risultati.

Modalità di verifica dell'apprendimento

L'ultimo giorno di lezione sarà utilizzato per verificare la comprensione dell'argomento da parte degli studenti, coinvolgendoli in un progetto "pratico" da affrontare in piccoli gruppi.

Criteri per l’assegnazione dell’elaborato finale

Gli studenti che dimostreranno una profonda comprensione dell'argomento potranno realizzare una tesi sull'applicazione del data mining e del machine learning all'analisi delle campagne di comunicazione sui social media.

Settimana 1

Nessuna lezione

Settimana 2

Nessuna lezione

Settimana 3

Nessuna lezione

Settimana 4

Introduzione alla programmazione scientifica in Python (4 ore). Impareremo a utilizzare l'interprete Python e i notebook ipython. Verranno introdotti i concetti di base della programmazione in Python: variabili e assegnazioni; operatori; input/output; tipi di dati; funzioni; flussi di controllo (istruzioni if-elif-else, l'istruzione while, il ciclo for); strutture dati (stringhe, liste, tuple, dizionari); installazione di pacchetti e importazione di moduli e funzioni. Verranno esaminate le principali librerie python per la programmazione scientifica: NumPy, SciPy, Pandas, Scikit-learn e Matplotlib.

Settimana 5

Analisi dei dati di vendite di un negozio al dettaglio (4 ore). Prenderemo in considerazione un piccolo insiene di dati sugli acquisti effettuati in un negozio al dettaglio nel corso di un anno. Introdurremo i principi dell'analisi e della visualizzazione esplorativa dei dati, come la preelaborazione, la pulizia, il filtraggio e il ridimensionamento dei dati. Ci concentreremo sulle statistiche descrittive univariate e bivariate, studiando le distribuzioni di probabilità e il loro fit, parametrico o non parametrico. Cercheremo di comprendere i modelli di acquisto dei clienti, per capire come ottimizzare gli orari di apertura e l'allocazione delle risorse nel negozio.

Settimana 6

Analisi dei dati di vendita di un negozio online (4 ore). Verranno presi in considerazione dati reali e sintetici relativi alle transazioni e ai clienti di un negozio online. Verranno introdotte tecniche come la standardizzazione e il ridimensionamento dei dati, il rilevamento degli outlier e il clustering multivariato non supervisionato. Ci concentreremo sui clienti, presentando alcuni metodi per la segmentazione dei clienti e per la stima del loro valore (ad esempio, attraverso il modello RFM).

Settimana 7

Progettazione di un sistema di raccomandazione a partire dai dati di recensioni Amazon (4 ore). Prenderemo in considerazione dati reali relativi agli acquisti su Amazon. Introdurremo le tecniche per incorporare le entità in un opportuno spazio vettoriale e misurare la loro reciproca somiglianza, affrontando anche il tema della riduzione della dimensionalità. Verranno poi illustrati diversi modi per definire un sistema di raccomandazione, partendo dalle raccomandazioni basate sulla popolarità, per poi considerare il filtraggio collaborativo basato sull'utente e sull'articolo. Infine, passeremo in rassegna i principi fondamentali dell'estrazione di regole di associazione.

Settimana 8

Previsione della qualità del vino con l'apprendimento automatico (4 ore). Prenderemo in considerazione un insieme di vini descritti da una serie di parametri, come acidità, alcol e zucchero residuo, e classificati in base alla loro qualità, giudicata da esperti del settore. Inizieremo con la pulizia e la visualizzazione dei dati, per poi valutare la correlazione tra le diverse covariate ed eseguire una selezione delle caratteristiche. Introdurremo quindi le basi dell'apprendimento supervisionato: come suddividere i dati tra addestramento e test, come eseguire una k-fold cross-validation e mettere a punto i parametri di un modello e come valutare le prestazioni di un algoritmo di classificazione. Infine, testeremo diverse famiglie di modelli di regressione e classificazione sul nostro set di dati e vedremo come selezionare quello che fornisce la previsione più accurata.

Settimana 9

Ripasso finale e pratica (4 ore). Verranno rivisti i concetti principali visti nelle lezioni precedenti. Agli studenti verranno forniti ulteriori set di dati e verrà chiesto loro di collaborare per analizzarli.

Settimana 10

Nessuna lezione

Settimana 11

Nessuna lezione

Settimana 12

Nessuna lezione