CdSINFORMATICA
Codice309AA
CFU9
PeriodoPrimo semestre
LinguaItaliano
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. Inoltre saranno studiati per ogni task di mining aspetti algoritmici e eventuali approfondimenti di varianti algoritmiche delle tecniche di base.
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. Morover, the course will present advanced techniques which are variants of the basic techniques and will discuss the algorithmical aspects.
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 realizzazione di un progetto.
Infine, lo studente dovrà anche sostenere una prova orale sugli argomenti trattati a lezione.
- 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.
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 richiede 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
- Concetti di base del data mining e del processo di estrazione della conoscenza
- Preprocessing ed analisi esplorativa dei dati
- Pattern frequenti e regole associative
- Classificazione: alberi di decisione, metodi Bayesiani, Tecniche avanzate di classificazione
- Clustering: metodi basati su partizione, gerarchici, basati su densità, clustering transazionale
- Esperimenti analitici con strumenti di data mining
- Fundamentals of data mining and the knowledge discovery process
- Explorative Data Analysis and Visual analytics
- Frequent patterns and Rules
- Clustering: partition based techniques, density based techniques and hierarchical techniques, transactional clustering
- Classification: decision trees and Bayesian Methods, Advanced techniques for classification
- Analytical experiments with data mining tools
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.cli.di.unipi.it/doku.php/dm/start
Exercises and slides may be downloaded from the web site: http://didawiki.cli.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