DATA MINING

A.A. di erogazione 2020/2021
Insegnamento opzionale

Laurea Magistrale in INFORMATICA
 (A.A. 2020/2021)

Docenti

L'insegnamento è condiviso, tecnicamente "mutuato" con altri corsi di laurea, consultare il dettaglio nella sezione Mutuazioni
Anno di corso: 
1
Tipologia di insegnamento: 
Caratterizzante
Settore disciplinare: 
INFORMATICA (INF/01)
Lingua: 
Inglese
Crediti: 
6
Ciclo: 
Secondo Semestre
Ore di attivita' frontale: 
48
Dettaglio ore: 
Lezione (48 ore)

Con il termine Data Mining si intende un insieme di tecniche e strumenti usati per esplorare grandi quantità di dati, con lo scopo di individuare/estrarre informazioni/conoscenze significative, in modo da renderle disponibili ai processi decisionali.
Questo corso vuole fornire i fondamenti della disciplina, focalizzando lo studio sulle più importanti tecniche di Data Mining di attuale interesse applicativo/industriale.
Il corso associa alla conoscenza teorica del Data Mining l'utilizzo del software open source Python.
I partecipanti al corso saranno guidati nella ricerca di pattern all’interno di dataset, e attraverso gli strumenti forniti da Python impareranno a preprocessare i dati, eseguire operazioni di Clustering, Classificazione e Previsione.
In sintesi, gli obiettivi formativi dell'insegnamento ed i risultati attesi di apprendimento sono i seguenti:
- Acquisire conoscenze e capacità di utilizzo del linguaggio Python e librerie tipiche del Data Mining, per poter processare dataset ed eseguire algoritmi di machine learning.
- Acquisire conoscenze di base per il pre-processamento dei dati. Alla fine del corso, lo studente saprà trattare le principali problematiche relative al dato e, autonomamente, affrontare un problema reale nel miglior modo.
- Comprensione di alcuni algoritmi di machine learning, supervisionati e non, per poter estrarre informazioni dai dati. L’obiettivo formativo è quello di dotare gli studenti delle conoscenze necessarie per risolvere problemi reali mediante l’individuazione e sviluppo degli opportuni algoritmi di machine learning. Il corso sarà costituito da una parte teorica di descrizione dei algoritmi classici di Machine Learning e da una parte pratica in cui tali metodologie vengono applicate mediante il linguaggio Python.
- Capacità di apprendimento di nuove metodologie tipiche del web data mining per le principali tecniche di analisi delle tracce che gli utenti lasciano sul web. L'apprendimento sarà sostenuto da numerosi casi di studio sviluppati.

Contenuti di base del corso di Sistemi Intelligenti erogato al primo anno del corso di laurea magistrale.
Il corso è consigliato per chi ha la conoscenza di almeno un linguaggio di programmazione o scripting.
Si consiglia di procurarsi un computer portatile (Windows, Mac o Linux) in grado di eseguire l'interprete Python.

Le lezioni affronteranno i seguenti argomenti:
Linguaggi, librerie e strumenti per il Data Mining (14 h, obiettivo formativo 1)
- IPython: intro, help, magic commands, debug.
- Il linguaggio Python: introduzione, tipi di dati, elementi di base del linguaggio.
- Librerie per il data mining: NumPy come struttura dati, Pandas per la maipolazione dei dati, MatPlotLib per la visualizzazione dei dati, Sci-Kit learn per l’utilizzo di algoritmi di Machine Learning.
Pre-processing dei dati (14 h, obiettivo formativo 2)
- Feature-Engineering
- Soluzioni per la gestione dei dati mancanti
- Dati di training, di validation e testing
- Tecniche per la gestione di dataset sbilanciati
- Bigrams, Stemming, Lemmatizing
Algoritmi di machine learning (14 h, obiettivo formativo 3)
- Introduzione Machine Learning
- Supervised-Learning Classification,
- Decision tree classifier, algoritmo ed esempi
- Ensamble models: boosting, bagging, stacking
- Support Vector Machine
- Linear regression, Polynomial basis function, gaussian basis function e regularization.
- Frequent itemsets e association rules mining
- Hyperparameter tuning
Web data mining (14 h, obiettivo formativo 4)
- Recommender-systems, Collaborative-Filtering, content-based filtering. Valutazione dei recommendation systems.
- Word2Vec, Sentiment Analysis, Document Sentiment Classification, Aspect based Sentiment Analysis.
- Information Extraction, Named Entity Recognition
- Social Networks, Face Recognition, problemi Multimodali
Gli argomenti verranno affrontati usando come riferimento il linguaggio di programmazione Python. Ciò nondimeno, molti degli argomenti trattati nel corso sono di validità generale, e le tecniche proposte sono generalmente applicabili con linguaggi diversi.

48 ore di Lezioni frontali
Le ore di lezione frontale vengono svolte in aula, alternando momenti teorici ad esercizi pratici.
Il software analitico utilizzato sarà Python, piattaforma open-source liberamente scaricabile dal web.
Come strumento di editing si adopererà IPython, uno strumento open source, basato su browser che consente agli studenti di creare/modificare documenti che contengono il codice, le visualizzazioni e il testo.
Durante il corso verranno inoltre scaricati e installati pacchetti analitici aggiuntivi necessari per i diversi argomenti in studio.
In aula viene fornita assistenza continua da parte del docente.

L'esame consta di un progetto e di un insieme di domande sugli argomenti affrontati a lezione.
Il progetto viene proposto dallo studente in base ai suoi interessi. In assenza di specifiche proposte, il progetto è proposto dal docente. Nel progetto gli studenti sono tipicamente chiamati ad implementare semplici metodi di indagine sperimentale su dati messi loro a disposizione da siti web e/o da dati di banchmarking di altra natura disponibili su repository online. Tali indagini sono volte ad accertare la capacità degli studenti di adattare i metodi studiati ai casi reali, comprendendone eventualmente le specificità. Il progetto deve essere accompagnato da una relazione che descriva gli obiettivi, i contenuti, le risultanze ottenute e le conclusioni.
L'esito del progetto, in trentesimi, è positivo se riporta una votazione almeno pari a 18/30.
La prova teorica consta di un insieme di domande presentate allo studente tramite la piattaforma Moodle e serve per capire il grado di conoscenza che lo studente ha acquisito sugli argomenti trattati a lezione. Normalmente bastano 30 minuti per rispondere a circa 20 domande ma non c’è un limite di tempo fissato per completare la prova. Il voto di questa prova viene utilizzato per calcolare il voto finale attraverso una moltiplicazione con un fattore di scala e il calcolo della media con il voto del progetto.
Il voto del progetto concorre in modo significativo alla determinazione del voto finale.

Il materiale didattico è disponibile sul sito di e-learning: Slide, dispense, esempi di applicazioni.
Esistono però diversi libri che possono proficuamente essere utilizzati dagli studenti per poter integrare il materiale fornito tramite e-learning .
- Data Mining the Web: Uncovering Patterns in Web Content, Structure, and Usage
Authors: Zdravko Markov, Daniel T. Larose
Publisher: WILEY-INTERSCIENCE
- Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data - July 2011
Author:Bing Liu
Publisher: Springer Publishing Company, Incorporated
- Python Data Science Handbook: Essential Tools for Working with Data
Author: Jake VanderPlas
Publisher: O'Reilly

Il docente riceve su appuntamento, previa richiesta via e-mail a nome.cognome@uninsubria.it. Il docente risponde solo alle e-mail firmate e provenienti dal dominio studenti.uninsubria.it.

Cerchi il programma? Potrebbe non essere ancora stato caricato o riferirsi ad insegnamenti che verranno erogati in futuro.
Seleziona l‘anno in cui ti sei immatricolato e troverai le informazioni relative all'insegnamento del tuo piano di studio.

A.A. 2019/2020

Anno di corso: 2
Curriculum: GENERICO

A.A. 2018/2019

Anno di corso: 1
Curriculum: GENERICO