Strumenti Utente

Strumenti Sito


dm:start

Data Mining A.A. 2017/18

DM 1: Foundations of Data Mining (6 CFU)

Instructors - Docenti:

Teaching assistant - Assistente:

DM 2: Advanced topics on Data Mining and case studies (6 CFU)

Instructors:

DM: Data Mining (9 CFU)

Instructors:

Teaching assistant - Assistente:

News

Learning goals -- Obiettivi del corso

… a new kind of professional has emerged, the data scientist, who combines the skills of software programmer, statistician and storyteller/artist to extract the nuggets of gold hidden under mountains of data. Hal Varian, Google’s chief economist, predicts that the job of statistician will become the “sexiest” around. Data, he explains, are widely available; what is scarce is the ability to extract wisdom from them.

Data, data everywhere. The Economist, Special Report on Big Data, Feb. 2010.

La grande disponibilità di dati provenienti da database relazionali, dal web o da altre sorgenti motiva lo studio di tecniche di analisi dei dati che permettano una migliore comprensione ed un più facile utilizzo dei risultati nei processi decisionali. L'obiettivo del corso è quello di fornire un'introduzione ai concetti di base del processo di estrazione di conoscenza, alle principali tecniche di data mining ed ai relativi algoritmi. Particolare enfasi è dedicata agli aspetti metodologici presentati mediante alcune classi di applicazioni paradigmatiche quali il Basket Market Analysis, la segmentazione di mercato, il rilevamento di frodi. Infine il corso introduce gli aspetti di privacy ed etici inerenti all’utilizzo di tecniche inferenza sui dati e dei quali l’analista deve essere a conoscenza. Il corso consiste delle seguenti parti:

  1. i concetti di base del processo di estrazione della conoscenza: studio e preparazione dei dati, forme dei dati, misure e similarità dei dati;
  2. le principali tecniche di datamining (regole associative, classificazione e clustering). Di queste tecniche si studieranno gli aspetti formali e implementativi;
  3. alcuni casi di studio nell’ambito del marketing e del supporto alla gestione clienti, del rilevamento di frodi e di studi epidemiologici.
  4. l’ultima parte del corso ha l’obiettivo di introdurre gli aspetti di privacy ed etici inerenti all’utilizzo di tecniche inferenza sui dati e dei quali l’analista deve essere a conoscenza

Reading about the "data scientist" job

  • Data, data everywhere. The Economist, Feb. 2010 download
  • Data scientist: The hot new gig in tech, CNN & Fortune, Sept. 2011 link
  • Welcome to the yotta world. The Economist, Sept. 2011 download
  • Data Scientist: The Sexiest Job of the 21st Century. Harvard Business Review, Sept 2012 link
  • Il futuro è già scritto in Big Data. Il SOle 24 Ore, Sept 2012 link
  • Special issue of Crossroads - The ACM Magazine for Students - on Big Data Analytics download
  • Peter Sondergaard, Gartner, Says Big Data Creates Big Jobs. Oct 22, 2012: YouTube video
  • Towards Effective Decision-Making Through Data Visualization: Six World-Class Enterprises Show The Way. White paper at FusionCharts.com. download

Hours - Orario e Aule

DM1 & DM

Classes - Lezioni

Day of Week Hour Room
Mercoledì/Wednesday 14:00 - 16:00 Aula C1
Giovedì/Thursday 16:00 - 18:00 Aula C1
Venerdì/Friday 11:00 - 13:00 Aula A1

Office hours - Ricevimento:

  • Prof. Pedreschi: Lunedì/Monday h 14:00 - 16:00, Dipartimento di Informatica
  • Prof. Monreale: Giovedì/Thursday h 14:00 - 16:00, Dipartimento di Informatica

DM 2

Classes - Lezioni

Day of week Hour Room

Office hours - Ricevimento:

  • Nanni : appointment by email, c/o ISTI-CNR

Learning Material -- Materiale didattico

Textbook -- Libro di Testo

  • Pang-Ning Tan, Michael Steinbach, Vipin Kumar. Introduction to Data Mining. Addison Wesley, ISBN 0-321-32136-7, 2006
  • 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

Slides of the classes -- Slides del corso

Le slide utilizzate durante il corso verranno inserite nel calendario al termine di ogni lezione. In buona parte esse sono tratte da quelle fornite dagli autori del libro di testo: Slides per "Introduction to Data Mining"

Past Exams

Data mining software

Class calendar - Calendario delle lezioni (2017-2018)

First part of course, first semester (DM1 - Data mining: foundations & DM - Data Mining)

Day Aula Topic Learning material Instructor
1. 20.09.2017 14:00-16:00 C1 Introduction Pedreschi
2. 21.09.2017 16:00-18:00 C1 Introduction Pedreschi
3. 22.09.2017 11:00-13:00 A1 Lecture canceled Data Understanding Pedreschi
4. 27.09.2017 14:00-16:00 C1 Data Understanding Pedreschi
5. 28.09.2017 16:00-18:00 C1 Data Preparation Pedreschi
6. 29.09.2017 11:00-13:00 A1 Introduction to Python, Knime Pedreschi/Guidotti
7. 04.10.2017 14:00-16:00 C1 Knime - Python: Data Understanding Pedreschi/Guidotti
8. 05.10.2017 16:00-18:00 C1 Clustering analysis: Centroid-based methods Pedreschi
9. 06.10.2017 11:00-13:00 A1 Clustering analysis: Hierarchical methods Pedreschi
10. 11.10.2017 14:00-16:00 C1 Clustering analysis: Density-based methods. Clustering Validation Pedreschi
11. 12.10.2017 16:00-18:00 C1 Frequent Patterns & Association Rules Pedreschi
12. 13.10.2017 11:00-13:00 A1 Frequent Patterns & Association Rules Pedreschi
13. 18.10.2017 14:00-16:00 C1 Exercises on Data Understanding Monreale/Guidotti
14. 19.10.2017 16:00-18:00 C1 Exercises on Clustering Monreale/Guidotti
15. 20.10.2017 11:00-13:00 A1 Knime - Python: Clustering Monreale/Guidotti
16. 25.10.2017 14:00-16:00 C1 Frequent Patterns & Association Rules Pedreschi
17. 26.10.2017 16:00-18:00 C1 Exercises on Patterns & AR Pedreschi/Guidotti
18. 27.10.2017 11:00-13:00 A1 Exercises on Clustering Pedreschi/Guidotti
03.11.2017 11:00-13:00 A1 First Mid-term test
19. 08.11.2017 14:00-16:00 C1 Knime - Python: Frequent Pattern & Association Rules
20. 09.11.2017 16:00-18:00 C1 Classification Pedreschi
21. 10.11.2017 11:00-13:00 A1 Classification Pedreschi
22. 15.11.2017 14:00-16:00 C1 Classification Pedreschi
23. 16.11.2017 16:00-18:00 C1 Knime - Python: Classification Guidotti / Pedreschi
24. 17.11.2017 11:00-13:00 A1 Exercises on Classification Guidotti / Pedreschi
25. 22.11.2017 14:00-16:00 C1 Alternative methods for clustering Monreale
28. 23.11.2017 16:00-18:00 C1 Transactional Clustering Monreale
29. 24.11.2017 11:00-13:00 A1 Alternative methods for frequent patterns and AR Monreale
30. 29.11.2017 14:00-16:00 C1 Exercises on alternative methods for clustering Monreale/Guidotti
31. 30.11.2017 16:00-18:00 C1 Alternative methods for classification/1 Monreale
32. 01.12.2017 11:00-13:00 A1 Alternative methods for classification/2 Monreale
33. 06.12.2017 14:00-16:00 C1 Alternative methods for classification/3 Monreale
34. 07.12.2017 16:00-18:00 C1 Exercises on alternative method for classification Guidotti/Monreale
35. 13.12.2017 14:00-16:00 C1 Monreale
36. 14.12.2017 16:00-18:00 C1 Guidotti
37. 15.12.2017 11:00-13:00 A1 Monreale

Second part of course, second semester (DMA - Data mining: advanced topics and case studies)

Day Room (Aula) Topic Learning material Instructor (default: Nanni)
1. 21.02.2017 16:00-18:00 B Introduction + Sequential patters/1 Introduction Sequential patters Nanni + Pedreschi
2. 24.02.2017 16:00-18:00 B Sequential patterns/2
3. 28.02.2017 16:00-18:00 B Sequential patterns/3 Link to SPMF, a tool for seq. patterns and sample dataset. Exercises: Text 1 and Text 2
03.03.2017 16:00-18:00 B cancelled
4. 07.03.2017 16:00-18:00 B Time series/1 Time series
5. 10.03.2017 16:00-18:00 B Time series/2 Python examples, Knime examples, link to sounds dataset (source: speech recognition example)
6. 14.03.2017 16:00-18:00 B Time series/3 Python examples/2
7. 17.03.2017 16:00-18:00 B Time series/4 Python examples/3, Knime example
8. 21.03.2017 16:00-18:00 B DM Process/1 Example AMRP (also described in this report, in Italian), CRISP-DM, Link to the CRISP-DM 1.0 guide (by SPSS)
9. 24.03.2017 16:00-18:00 B DM Process/2 Intro_CRM Churn
10. 28.03.2017 16:00-18:00 B DM Process/3 Collective churn analysis, Promotions, Sophistication. Sample reports made by students and (loosely) following CRISP-DM: Report 1 (Italian), Report 2 (English), Report 3 (Italian). Exercise on CRISP-DM: understanding churn
31.03.2017 16:00-18:00 B Cancelled
11. 04.04.2017 16:00-18:00 B Exercises Exercise on Understanding churn (with a solution). See also exercises in section Past Exams
07.04.2017 11:00-13:00 A1 + C1 Mid-term exams
12. 21.04.2017 16:00-18:00 B Classification: alternative methods/1 slides on K-nearest neighbours and Naive Bayes Pedreschi
13. 28.04.2017 16:00-18:00 B Classification: alternative methods/2 slides on Artificial Neural Networks and Support Vector Machines Pedreschi
14. 02.05.2017 16:00-18:00 B Classification: alternative methods/3 slides on ensemble methods and slides on the wisdom of the crowds original 1907 Nature paper by Francis Galton "Vox populi" Pedreschi
15. 05.05.2017 16:00-18:00 Lecture canceled
16. 09.05.2017 16:00-18:00 B Classification: validation methods/1 Slides from P. Adamopoulos, Slides from J.F. Ehmke
17. 12.05.2017 16:00-18:00 B Classification: validation methods/2 Imbalanced data & evaluation, Knime sample classification & evaluation, Python sample classification & evaluation
18. 16.05.2017 16:00-18:00 B Classification: validation methods/3
19. 19.05.2017 16:00-18:00 B Exercises Ex. from past exams 1, Ex. from past exams 2, Mixed Exercises, Lift chart
20. 23.05.2017 16:00-18:00 B Outlier Detection/1 Slides from SDM2010 tutorial
21. 26.05.2017 16:00-18:00 B Outlier Detection/2 Python examples, Knime examples, link to ELKI framework, test dataset for ELKI
22. 30.05.2017 16:00-18:00 B Exercises Exercises on outliers detection, Exercises on ensembles and ROC/Lift chart
06.06.2017 11:00-13:00 A + B Mid-term exams

Exams

Exam DM part I (DMF)

The exam is composed of three parts:

  • A written exam, with exercises and questions about methods and algorithms presented during the classes. It can be substitute with the first and second mid-term tests of November and December.
  • An oral exam, that includes: (1) discussing the project report with a group presentation; (2) discussing topics presented during the classes, including the theory of the parts already covered by the written exam.
  • A project consists in exercises that require the use of data mining tools for analysis of data. Exercises include: data understanding, clustering analysis, frequent pattern mining, and classification. The project has to be performed by max 3 people. It has to be performed by using Knime, Python or a combination of them. The results of the different tasks must reported in a unique paper. The total length of this paper must be max 20 pages of text including figures. The project must be delivered at least 2 days before the oral exam. The paper must emailed to datamining [dot] unipi [at] gmail [dot] com. Please, use “[DM 2016-2017] Project” in the subject. Tasks of the project:
    1. Data Understanding (Assigned on: 17/10/2016): Explore the dataset with the analytical tools studied and write a concise “data understanding” report describing data semantics, assessing data quality, the distribution of the variables and the pairwise correlations.
    2. Clustering analysis (Assigned on: 14/11/2016): Explore the dataset using various clustering techniques. Carefully describe your's decisions for each algorithm and which are the advantages provided by the different approaches. (see Guidelines for details)
    3. Association Rules (Assigned on: 21/11/2016): Explore the dataset using frequent pattern mining and association rules extraction. Then use them to predict a variable either for replacing missing values or to predict the hotel type. (see Guidelines for details)
    4. Classification (Assigned on: 12/12/2016): Explore the dataset using classification trees and random forest. Use them to predict the hotel type. (see Guidelines for details)
  • Project 2
    1. Dataset: Expedia (Hotel Recommendations)
    2. Assigned: 11/01/2017
    3. Deadline: 11/02/2017 Deadline extension 23.59 of 13/02/2017
    4. Hint: if the dataset is too big to be analyzed by your computer you can use a representative sample of the entire dataset. You must specify in the project report how you selected this sample and justify your choices.

Guidelines for the project are here.

Exam DM part II (DMA)

The exam is composed of three parts:

  • A written exam, with exercises and questions about methods and algorithms presented during the classes. It can be substitute with the first and second mid-term tests of April and June.
  • An oral exam, that includes: (1) discussing the project report with a group presentation; (2) discussing topics presented during the classes, including the theory of the parts already covered by the written exam.
  • A project consists in exercises that require the use of data mining tools for analysis of data. Exercises include: sequential patterns, time series, classification (alternative methods and validation), outlier detection. The project has to be performed by max 3 people. It has to be performed by using Knime, Python, other software or a combination of them. The results of the different tasks must reported in a unique paper. The total length of this paper must be max 20 pages of text including figures. The project must be delivered at least 2 days before the oral exam.
    • Sequential patterns. Apply sequential pattern mining (with temporal constraints, if needed) to a dataset that encodes 100 Bach's chorales as sequences of numbers. Two files are provided: one encodes only notes (MIDI pitch integer numbers), the other encodes notes & durations as a single number (number = duration*100 + note). Objective: Find the top-5 most frequent sequences with at least 5 notes, and the top-5 contiguous sequences (i.e. contiguous strings of notes) with at least 4 notes. Repeat the experiments on both the datasets, using appropriate algorithms and adjusting parameters. Dataset: Preprocessed data, see also the original data and further details on the UCI page.
    • Time series. It is given a dataset of the homicides recorded in the USA over 35 years, expressed as timeseries of yearly counts of homicides for each state. You are asked to look for similarities across the states. Objectives: check whether there is some periodicity in the timeseries; look for clusters over the time series using (i) DBSCAN with DTW, (ii) DBSCAN with Euclidean distance, (iii) K-means with Euclidean distance, each time searching the best parameters and commenting the results. In case of empty values (i.e. no records provided for some year/month in some state), fill them with a zero or another reasonable value. Dataset: download it from Kaggle (11 MB , zipped); you can also (optionally) use the following preprocessing python script to extract the relevant data from the dataset.
    • Classification. Using the Titanic dataset with target variable “Survived”, extract one classification model for each of the following approaches: kNN, SVM, neural networks, naive Bayes. For at least one of them, perform a search to select the parameters that optimize accuracy. For all the others, simply choose reasonable parameters values. After dividing the dataset in training and test sets, provide for all the models the confusion matrix, accuracy, precision & recall for the positive class.
    • Outlier detection. Given the 2-d dataset provided below, apply the distance-based outlier detection method (DB(epsilon,n)) fitting the parameters in order to have a 5% of outliers. On the same dataset apply the LOF method, and select the top 5% outliers according to it. Compare the outputs, showing the differences and trying to explain the results. Dataset: download here.

Appelli di esame

Mid-term exams

Date Hour Place Notes Marks
First Mid-term 2016 4.11.2016 9:00 - 11:00 Room A
Second Mid-term 2016 21.12.2016 9:00 - 11:00 Room A
Date Hour Place Notes Marks
1st Mid-term 2017 7.4.2017 11:00 - 13:00 Rooms A1 + C1 Solutions Results 7.4.2017
2nd Mid-term 2017 6.6.2017 11:00 - 13:00 Rooms A + B Solutions Results 6.6.2017

Appelli regolari / Exam sessions

Session Date Time Room Notes Solutions Marks
1. 19 Jan 2017 09:00 C In the same date we will define the dates for the oral exam.
2. 08 Feb 2017 14:00 C In the same date we will define the dates for the oral exam.
3. 08 June 2017 14:00 A1 (1) Oral exam of DM1 for students having already the vote for the written exam of DM1. (2) Oral exam of DM2 for students having already the vote for the written exam of DM2. Please, use the system for registration: https://esami.unipi.it/
4. 09 June 2017 10:00 A1 (1) Oral exam of DM1 for students having already the vote for the written exam of DM1. (2) Oral exam of DM2 for students having already the vote for the written exam of DM2. Please, use the system for registration: https://esami.unipi.it/
5. 13 June 2017 11:00 A1 Written exam of DM1/DM2. In the same date we will do oral exam for students already having the written vote and we will define the dates for the oral exam. Please, use the system for registration: https://esami.unipi.it/ Solutions Results DM2 13.6.2017
6. 04 July 2017 09:00 A1 Written exam of DM1/DM2. In the same date we will do oral exam for students already having the written vote and we will define the dates for the oral exam. Please, use the system for registration: https://esami.unipi.it/ Solutions Results DM2 4.7.2017
7. 06 September 2017 09:00 A1 Written exam of DM1/DM2. In the same date we will do oral exam for students already having the written vote and we will define the dates for the oral exam. Please, use the system for registration: https://esami.unipi.it/ Solutions Results DM2 6.9.2017

Appelli straordinari A.A. 2015/16 / Extra sessions A.A. 2015/16

Date Time Room Notes Results

Edizioni anni precedenti

dm/start.txt · Ultima modifica: 20/09/2017 alle 13:52 (3 giorni fa) da Fosca Giannotti