Sei sulla pagina 1di 118

`

UNIVERSIT A DEGLI STUDI DI GENOVA

`

FACOLT A DI INGEGNERIA

` UNIVERSIT A DEGLI STUDI DI GENOVA ` FACOLT A DI INGEGNERIA Corso di Laurea Specialistica

Corso di Laurea Specialistica in Ingegneria Gestionale

Dispense per le esercitazioni dell’insegnamento

Business Intelligence

Prof. Davide Anguita

A cura di:

Alessandro Ghio Alessandro.Ghio@unige.it

Anno Accademico 2008 - 2009

Documento realizzato in L A T E X

Indice

Prefazione

 

5

Principali acronimi utilizzati

 

7

1 Introduzione

 

9

1.1 Cos’`e il Data Mining?

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

9

1.2 Terminologia di base

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

12

1.3 Data Mining Process

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

 

1.3.1 Definizione degli obiettivi

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

14

1.3.2 Organizzazione dei dati

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

1.3.3 Analisi esplorativa dei dati .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

15

1.3.4 Scelta delle metodologie di analisi

.

.

.

.

.

.

.

.

.

.

.

.

19

1.3.5 Analisi dei dati

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

20

1.3.6 Valutazione dei metodi statistici e dei risultati ottenuti

20

1.3.7 Implementazione dell’algoritmo

.

.

.

.

.

.

.

.

.

.

.

.

.

21

1.4 Il software che useremo: WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

21

1.5 Organizzazione della dispensa

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

24

2 Organizzazione dei dati

 

25

2.1 Tipi di attributi

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

25

 

2.1.1 Variabili qualitative

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

2.1.2 Variabili quantitative .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

26

2.2 La matrice dei dati

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

27

 

2.2.1

Gestione delle variabili

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

28

2.3 Normalizzazione di un dataset

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

29

3 Analisi esplorativa dei dati

 

31

3.1

Distribuzioni di frequenza

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

 

1

3.1.1 Distribuzioni univariate

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

31

3.1.2 Distribuzioni bivariate e multivariate

.

.

.

.

.

.

.

.

.

.

32

3.2 Analisi esplorativa univariata

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

33

3.2.1 Richiami su stimatori e loro caratteristiche

.

.

.

.

.

.

.

33

3.2.2 Indici di posizione

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

34

3.2.3 Indici di variabilit`a

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

35

3.2.4 Indici di eterogeneit`a

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

36

3.3 Analisi esplorativa bivariata e multivariata

.

.

.

.

.

.

.

.

.

.

.

38

3.4 Esempi di analisi con WEKA

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

40

3.5 Riduzione di dimensionalit`a

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

43

3.6 Esempi di riduzione di dimensionalit`a utilizzando WEKA

 

44

4 Classificazione

48

4.1 Zero Rules .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

4.1.1 Apprendimento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

4.1.2 Fase in avanti

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

4.1.3 Estensione al caso multiclasse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

4.1.4 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

49

4.2 Naive Bayesian Classifier

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

54

4.2.1 Apprendimento

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

54

4.2.2 Fase in avanti

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

4.2.3 Estensione al caso multiclasse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

55

4.2.4 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

4.3 Reti neurali: MultiLayer Perceptrons

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

4.3.1 Cenni storici: il percettrone

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

56

4.3.2 Architettura di un MLP

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

60

4.3.3 Apprendimento

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

62

4.3.4 Fase in avanti

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

64

4.3.5 Estensione al caso multiclasse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

64

4.3.6 Esempio di analisi in WEKA (I) .

.

.

.

.

.

.

.

.

.

.

.

.

64

4.3.7 Esempio di analisi in WEKA (II)

 

.

.

.

.

.

.

.

.

.

.

.

.

66

4.3.8 Validation set e test set

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

67

4.4 Support Vector Machines

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

68

4.4.1 Il problema del classificatore a massimo margine

 

68

4.4.2 Apprendimento

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

71

4.4.3 Fase in avanti

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

73

 

2

 

4.4.4 Estensione al caso multiclasse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

73

4.4.5 SVM e la probabilit`a

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

74

4.4.6 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

75

4.4.7 SVM per feature selection

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

76

4.5

Decision Trees .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

80

4.5.1 La nascita degli alberi di decisione

.

.

.

.

.

.

.

.

.

.

.

80

4.5.2 Apprendimento

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

82

4.5.3 Fase in avanti

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

86

4.5.4 Estensione al caso multiclasse

.

.

.

.

.

.

.

.

.

.

.

.

.

.

86

4.5.5 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

87

5 Regressione

 

90

5.1 Zero Rules .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

90

 

5.1.1 Apprendimento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

90

5.1.2 Fase in avanti

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

90

5.1.3 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

91

5.2 Support Vector Regression

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

91

 

5.2.1 Apprendimento

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

92

5.2.2 Fase in avanti

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

93

5.2.3 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

93

5.3 Regression Trees

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

93

 

5.3.1 Apprendimento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

93

5.3.2 Fase in avanti

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

94

5.3.3 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

94

6 Clustering

 

96

6.1

k–Means .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

96

6.1.1 Apprendimento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

97

6.1.2 Fase in avanti

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

98

6.1.3 Esempio di analisi in WEKA .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

98

7 Association rules

 

100

7.1

Apriori .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 101

7.1.1 Apprendimento

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 101

7.1.2 Esempio di analisi in WEKA (I) .

.

.

.

.

.

.

.

.

.

.

.

. 104

7.1.3 Esempio di analisi in WEKA (II)

.

.

.

.

.

.

.

.

.

.

.

. 106

3

8

Valutazione comparativa di algoritmi di Data Mining

108

8.1 Metodi (pratici) per la comparazione fra algoritmi .

.

.

.

.

.

. 108

8.1.1 Training set (TS)

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 108

8.1.2 Validation set (VS)

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 109

8.1.3 K–Fold Cross Validation (KCV) .

.

.

.

.

.

.

.

.

.

.

.

. 109

8.2 Analisi in WEKA explorer

 

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 110

8.2.1 Metodo TS

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 110

8.2.2 Metodo VS

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 111

8.2.3 Metodo KCV

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 111

8.3 Analisi in WEKA KF .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 112

8.3.1 Input .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 113

8.3.2 Selezione della classe

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 113

8.3.3 Creazione delle k fold per la KCV .

.

.

.

.

.

.

.

.

.

.

. 113

8.3.4 Inserimento dei blocchi per le SVM

 

.

.

.

.

.

.

.

.

.

.

. 113

8.3.5 Elaborazione dei risultati .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 114

8.3.6 Uscita a video .

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

. 114

8.3.7 Configurazione finale ed esecuzione

.

.

.

.

.

.

.

.

.

.

. 114

8.4 Note conclusive

.

.

.

.

.

.

.

.

.

.

.

.