(DATA MINING TECHNIQUES)
CdSINFORMATICA
Codice309AA
CFU9
PeriodoPrimo semestre
LinguaInglese
Moduli | Settore/i | Tipo | Ore | Docente/i | |
DATA MINING | INF/01 | LEZIONI | 72 |
|
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 e metodi del data mining e del processo di estrazione della conoscenza, con approfondimenti sui modelli analitici e gli algoritmi più diffusi considerando anche diverse forme di dato. Inoltre saranno studiati per ogni task di mining aspetti algoritmici e eventuali approfondimenti di varianti algoritmiche delle tecniche di base.
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 concepts and methods 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.
La verifica delle conoscenze acquisite nel corso si svolgerà attraverso un orale e un progetto.
Per la realizzazione del progetto agli studenti sarà chiesto di organizzarsi in gruppi di due/tre unità.
Il progetto sarà realizzato per step con delle consegne intermedie.
Infine, lo studente dovrà anche sostenere una prova orale sugli argomenti trattati e il progetto, per cui dovrà preparare una presentazione. Lo studente dovrà dimostrare la padronanza dei concetti ma anche dei contenuti del progetto realizzato.
Gli studenti non frequentanti dovranno contattare il docente per concordare il progetto da realizzate e la data dell'orale. Il progetto coprirà tutti gli argomenti trattati nelle varie scadenze intermedie a cui sono stati sottoposti gli altri studenti.
Course examination will be perfomed by an oral examination and a project.
For the project development students will be organized in groups of 2/3 units. The project will be developed by setps with periodic deadlines and delivery.
In the oral examination the student must demonstrate the knowledge of the theory and must discuss the project report with a group presentation.
Non attending students need to contact the instructor by mail to arrange project topics and the oral examination dates. They need to deliver a final project making up for the missing midterms.
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 e implementare 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 and design of data mining tools and python libraries
- simulate how the data mining algorithms work
- Lo studente dovrà realizzare e presentare un progetto che richiede di analizzare dei dati 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 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 analitica 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 con ausilio di slide, ed esercitazioni sia sulla simulazione degli algoritmi che sull'uso di 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
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
- Classificazione: alberi di decisione, metodi Bayesiani, Tecniche avanzate di classificazione
- Clustering: metodi basati su partizione, gerarchici, basati su densità
- Pattern frequenti, pattern sequenziali e regole associative
- Time series analysis
- Ethics
- Fundamentals of data mining and the knowledge discovery process
- Explorative Data Analysis and Visual analytics
- Clustering: partition based techniques, density based techniques and hierarchical techniques
- Classification: decision trees and Bayesian Methods, Advanced techniques for classification
- Analytical experiments with data mining tools
- Frequent patterns, sequential patterns and Rules
- Time series analysis
- Ethics
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
- Python - Anaconda: 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
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
- 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
Le esercitazioni svolte in aula e le slides possono essere scaricati dal sito web del corso: http://didawiki.cli.di.unipi.it/doku.php/magistraleinformatica/dmi/start
Exercises and slides may be downloaded from the web site: http://didawiki.di.unipi.it/doku.php/dm/start
L'esame consiste in un progetto svolto in gruppi di due/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 project carried out in groups of two/three people and an oral test that involves the discussion of the project and the verification of the acquisition of theoretical notions