CdSDATA SCIENCE AND BUSINESS INFORMATICS
Codice420AA
CFU12
PeriodoAnnuale
LinguaInglese
Il corso è suddiviso in due moduli.
DATA MINING: FONDAMENTI
I formidabili progressi della potenza di calcolo, della capacità di acquisizione e memorizzazione dei dati e di connettività hanno creato quantità di dati senza precedenti. Il data mining, ovvero la scienza dell’estrazione di conoscenza da tali masse di dati, si è quindi affermato come ramo interdisciplinare dell’informatica.
Le tecniche di data mining sono state applicate a molti problemi in ambito industriale, scientifico e sociale, e si ritiene che avranno un impatto sempre più profondo sulla società. L’obiettivo del corso è quello di fornire un’introduzione ai concetti di base del data mining e del processo di estrazione della conoscenza, con approfondimenti sui modelli analitici e gli algoritmi più diffusi.
DATA MINING: ASPETTI AVANZATI E APPLICAZIONI
La seconda parte del corso completa le conoscenze del primo modulo con:
- una rassegna delle tecniche avanzate per il mining delle nuove forme di dati;
- una rassegna delle principali aree applicative e di casi di studio paradigmatici.
DATA MINING: FOUNDATIONS
The formidable advances in computing power, data acquisition, data storage and connectivity have created unprecedented amounts of data. Data mining, i.e., the science of extracting knowledge from these masses of data, has therefore been affirmed as an interdisciplinary branch of computer science.
Data mining techniques have been applied to many industrial, scientific, and social problems, and are believed to have an ever deeper impact on society. The course objective is to provide an introduction to the basic concepts of data mining and the process of extracting knowledge, with insights into analytical models and the most common algorithms.
DATA MINING: ADVANCED ASPECTS AND APPLICATIONS
The second part of the course completes the knowledge of the first module with:
- A review of advanced techniques for the mining of new forms of data;
- A review of the main application areas and case studies.
Per la verifica delle conoscenze acquisite nel corso gli studenti dovranno sostenere una prova scritta che coprirà tutti gli argomenti trattati a lezione. Inoltre sarà chiesto agli studenti di organizzarsi in gruppi di tre unità per collaborare alla realizzazionee un progetto che ha l'obiettivo di analizzare un dataset con i diversi metodi di mining presentati a lezione.
Infine, lo studente dovrà anche sostenere una prova orale sugli argomenti trattati nei due moduli.
- In the written exam, the student must demonstrate his/her knowledge of the course topics simulating the data mining algorithms.
- In the oral exam the student must demonstrate the knowledge of the theory and must discuss the project report with a group presentation.
Al termine dei due moduli lo studente sarà in grado di:
- progettare un KDD process
- applicare le diverse tecniche di mining sulla base delle domande analitiche a cui rispondere
- usare strumenti di mining e librerie python
- simulare il funzionamento di ogni algoritmo di mining presentato a lezione
At the end of the course the student will be able to
- design a KDD process
- apply the diffenrt data mining techniques onthe basis of the analytical question to be answered
- use data mining tools and python libraries
- simulate how the data mining algorithms work
- Lo studente durante lo scritto dovrà svolgere degli esercizi che richiedono la simulazione degli algoritmi di mining
- Lo studente dovrà realizzare e presentare un progetto che richide di analizzare un dataset con i diversi metodi di mining presentati a lezione
- A corredo del progetto, lo studente dovrà preparare anche una relazione scritta che riporti i risultati dell’attività di progetto e l'interpretazione dei risultati trovati.
- Lo studente alla fine svolgerà un esame orale per la verifica delle conoscenze teoriche
- The student during the written exam will have to perform exercises that require simulation of the mining algorithms
- The student will have to realize and present a project aiming to analyze a dataset with the different mining methods presented in the classes
- As part of the project, the student will also have to prepare a written report that summarizes the results of the project activity and the interpretation of the results found.
- At the end of the course, the student will perform an oral examination to verify the knowledge of the theory
Lo studente potrà maturare abilità nel lavoro di gruppo. Inoltre potrà acquisire e/o sviluppare opportune sensibilità nelle scelte progettuali e di impostazione del processo analitico. Infine, lo studente potrà imparare come intepretare i risultati analitici e come visualizzarli in modo opportuno.
The student can master skills in team work. It will also acquire and / or develop appropriate sensitivity in the choices for the design and set-up of an analytical process. Finally, the student will learn how to interpret analytical results and how to visualize them properly.
In fase di esame saranno valutate le scelte progettuali effettuate dal gruppo di studenti e la capacità di elaborazione dei dati con strumenti di analytica e di mining. Inoltre, saranno valutate l’accuratezza e la precisione applicata dal gruppo nello svolgere le attività progettuale.
During the exam, the project choices made by the student group and the ability to process the data with analytical and mining tools will be evaluated. In addition, the accuracy and precision applied by the group in the design activities will be evaluated.
- Il corso si basa su lezioni frontali, con ausilio di slide, ed esercitazioni sia sulla simulazione degli algoritmi che sull'uso di Knime e Python per l'analisi e il mining dei dati (uso del PC personale)
- Tutto il materiale didattico verrà caricato sulla pagina del corso presente sul portale Didawiki.
- Lo studente potrà comunicare con il docente nelle ore di ricevimento e durante le esercitazioni
Delivery: face to face
Learning activities:
- attending lectures
- preparation of oral/written report
- individual study
- group work
- Laboratory work
Attendance: Advised
Teaching methods:
- Lectures
- Task-based learning/problem-based learning/inquiry-based learning
- project work
DATA MINING: ASPETTI AVANZATI E APPLICAZIONI
- Mining di serie temporali e dati spazio-temporali
- Mining di dati sequenziali, mining di grandi grafi e reti
- Tecniche avanzate di classificazione, clustering e outlier detection
- Linguaggi, standard e architetture dei sistemi di data mining
- Impatto sociale del data mining
- Data mining e protezione della privacy
- Applicazioni: Grande distribuzione, Marketing, CRM, Industria delle telecomunicazioni, Analisi finanziaria, analisi di rischio, Rilevamento di frodi, Pubblica amministrazione e sanità, Mobilità e trasporti
DATA MINING: advanced aspects and applications
- Mining of time series and spatio-temporal data
- Mining of sequential data and graphs
- Advanced techniques for classification, clustering and outlier detection
- Language, standard and architectures of data mining systems
- Social impact of data mining
- Data mining and privacy protection
- Case studies in socio-economic domains (marketing and CRM, mobility and transport, public health, etc.)
BOOKS
- Pang-Ning Tan, Michael Steinbach, Vipin Kumar. Introduction to Data Mining. Addison Wesley, ISBN 0-321-32136-7, 2006
- http://www-users.cs.umn.edu/~kumar/dmbook/index.php
- I capitoli 4, 6, 8 sono disponibili sul sito del publisher. – Chapters 4,6 and 8 are also available at the publisher's Web site.
- Berthold, M.R., Borgelt, C., Höppner, F., Klawonn, F. GUIDE TO INTELLIGENT DATA ANALYSIS. Springer Verlag, 1st Edition., 2010. ISBN 978-1-84882-259-7
SOFTWARE
- KNIME The Konstanz Information Miner. Download page
- Python - Anaconda (2.7 version!!!): Anaconda is the leading open data science platform powered by Python. Download page (the following libraries are already included)
- Scikit-learn: python library with tools for data mining and data analysis Documentation page
- Pandas: pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. Documentation page
- WEKA Data Mining Software in JAVA. University of Waikato, New Zealand Download page
BOOKS
- Pang-Ning Tan, Michael Steinbach, Vipin Kumar. Introduction to Data Mining. Addison Wesley, ISBN 0-321-32136-7, 2006
- http://www-users.cs.umn.edu/~kumar/dmbook/index.php
- I capitoli 4, 6, 8 sono disponibili sul sito del publisher. – Chapters 4,6 and 8 are also available at the publisher's Web site.
- Berthold, M.R., Borgelt, C., Höppner, F., Klawonn, F. GUIDE TO INTELLIGENT DATA ANALYSIS. Springer Verlag, 1st Edition., 2010. ISBN 978-1-84882-259-7
SOFTWARE
- KNIME The Konstanz Information Miner. Download page
- Python - Anaconda (2.7 version!!!): Anaconda is the leading open data science platform powered by Python. Download page (the following libraries are already included)
- Scikit-learn: python library with tools for data mining and data analysis Documentation page
- Pandas: pandas is an open source, BSD-licensed library providing high-performance, easy-to-use data structures and data analysis tools for the Python programming language. Documentation page
- WEKA Data Mining Software in JAVA. University of Waikato, New Zealand Download page
Le esercitazioni svolte in aula e le slides possono essere scaricati dal sito web del corso: http://didawiki.di.unipi.it/doku.php/dm/start
Exercises and slides may be downloaded from the web site: http://didawiki.di.unipi.it/doku.php/dm/start
L'esame consiste in una prova scritta sugli argomenti trattati a lezione, un progetto svolto in gruppi di tre unità e una prova orale che prevede la discussione del progetto e la verifica dell'acquisizione delle nozioni teoriche
The exam consists of a written test on the topics discussed in the classes, a project carried out in groups of three people and an oral test that involves the discussion of the project and the verification of the acquisition of theoretical notions