38
Esercizi Esercitazione Data Mining

Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Embed Size (px)

Citation preview

Page 1: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizi

Esercitazione Data Mining

Page 2: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 1 Sia dato il seguente dataset

x y z U

0 0 1 0

1 1 1 0

1 0 0 1

0 1 1 0

0 0 1 0

0 1 0 1

1 0 1 1

1 1 0 1

1 1 1 0

1 0 1 1

Page 3: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 1 (punto a) Utilizzando l’algoritmo Naive Bayes,

Nell’ipotesi in cui le variabili x,y,z siano discrete binarie, calcolare P(U=0|x = 1,y=0,z=1).

Soluzione:

)1,0,1(

)0(*)0|1,0,1(

zyxP

UPUzyxP

)1(*)1|1,0,1()0(*)0|1,0,1(

)0(*)0|1,0,1(

UPUzyxPUPUzyxP

UPUzyxP

P(U=0|x=1,y=0,z=1)=

Page 4: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 1

1*5/2*5/2)0|1(*)0|0(*)0|1()0|1,0,1( UzPUyPUxPUzyxP

5/2*5/3*5/4)1|1(*)1|0(*)1|1()1|1,0,1( UzPUyPUxPUzyxP

10/5*]5/2*5/3*5/4[10/5*1*5/2*5/2

10/5*1*5/2*5/2

096.008.0

08.0

= = 0.454;

Page 5: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 1 (punto b) Utilizzando l’algoritmo Naive Bayes,

Nell’ipotesi in cui x e y siano discrete binarie e z continua, calcolare la classificazione ottimale per x=1,y=0,z=1.

Soluzione: Z è continua: usiamo una distribuzione gaussiana di media

μ e varianza σ2 .

y

Page 6: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 1 Calcoliamo P(z=1|U=0) e P(z=1|U=1):

se U=0 -> μ = 1 e σ2 = 0 -> P(z=1|U=0) = 1;

se U=1 -> μ = 0.4 e σ2 = = 0.24 applicando la formula della densità con z=1

-> P(z=1|U=1) = 0.3854;

5

34.026.0 22

v0 = P(0)*[P(x=1|U=0)*P(y=0|U=0)*P(z=1|U=0)] = 0,08 v1 = P(1)*[ P(x=1|U=1)*P(y=0|U=1)*P(z=1|U=1)] = 0,0926

Page 7: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 2 In riferimento al dataset presentato nell’esercizio 1:

nell’ipotesi in cui tutte le variabili siano discrete binarie, apprendere l’albero di decisione basato sul guadagno informativo.

Soluzione: Calcoliamo, innanzi tutto il primo attributo sul quale fare

split. Usando come criterio, l’Information Gain, otteniamo:

Page 8: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 2 H(D): [5+,5-], H(X0): [1+,3-] e H(X1): [4+,2-]. H(D) = 1 H(X0) = -1/4*log2(1/4)-3/4*log2(3/4) = 0.8113 H(X1) = -4/6*log2(4/6)-2/6*log2(2/6) = 0.9183 Gain (D, x) = H(D) – (4/10)*H(X0)-(6/10)*H(X1) = 1-

(4/10)*0.8113-(6/10)*0.9183 = 0.124;

Analogamente: Gain (D, y) = 0.029 e Gain (D, z) = 0.514. Quindi il primo attributo su cui fare split è z.

Ripetendo gli stessi calcoli sulle rimanenti tuple (ripulite dell’attributo z), otteniamo il seguente albero di classificazione:

Page 9: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 2

Page 10: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 Si applichi, al dataset dell’esercizio 1, l’algoritmo 2-

Means all’intero dataset, ignorando l’attributo di classe U, utilizzando la distanza euclidea e la distanza di Jaccard.

Soluzione: Distanza Euclidea Supponiamo di avere il seguente assegnamento

iniziale: C1 = {x1,x2,x3,x4,x5} C2 = {x6,x7,x8,x9,x10}.

I centroidi dei clusters saranno: Ce1= [2/5, 2/5, 4/5] e Ce2 = [4/5, 3/5, 3/5].

Page 11: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 Iterazione1

C1 C2

X1 0.6 * 1.07

X2 1.03 0.6 *

X3 0.842 * 0.871

X4 0.938 * 0.979

X5 0.824 * 1.07

X6 0.824 * 1.07

X7 0.938 0.748 *

X8 0.938 0.748 *

X9 1.03 0.6 *

X10 0.938 0.748 *

Page 12: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 Pertanto i nuovi clusters saranno:

C1={x1,x3,x4,x5,x6} e C2={x2,x7,x8,x9,x10}

E i nuovi centroidi: Ce1 = [1/5, 2/5, 3/5] e Ce2 = [1, 3/5, 4/5].

A questo punto si reitera l’algoritmo.

Page 13: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 Iterazione 2

C1 C2

X1 0.748 * 1.41

X2 1.07 0.44 *

X3 1.07 1 *

X4 0.748 0.44 *

X5 0.6 * 1.18

X6 0.871 * 1.34

X7 0.979 0.632 *

X8 1.16 0.894 *

X9 1.07 0.447 *

X10 0.979 0.632 *

Page 14: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 I clusters saranno:

C1 = {x1,x5,x6} e C2 = {x2,x3,x4,x7,x8,x9,x10}

I centroidi saranno quindi: Ce1 = [0,0.33,0.66] e Ce2 = [0.857,0.571,0.714]

Page 15: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 Iterazione 3

C1 C2

X1 0.473 * 1.06

X2 1.25 0.535 *

X3 1.242 0.925 *

X4 0.751 * 1

X5 0.473 * 1.06

X6 0.940 * 1.195

X7 1.106 0.654 *

X8 1.372 0.845 *

X9 1.25 0.535 *

X10 1.106 0.654 *

Page 16: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 3 I cluster sono:

C1 = {x1,x4,x5,x6} e C2 = {x2,x3,x7,x8,x9,x10}

I centroidi sono: Ce1 = [0,0.5,0.75] e Ce2 = [1,0.5,0.66]

L’algoritmo continua ad iterare finchè non si raggiunge la condizione di stop (i centroidi non cambiano più).

Distanza di Jaccard

Dist J =

Il procedimento dell’algoritmo è identico al passo precedente

yxyx

yx

22

Page 17: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 4 Prendendo in considerazione il dataset dell’ esercizio 1

e assumendo un supporto del 30% e una confidenza dell’80%,

Calcolare gli itemset frequenti unidimensionali trasformando il dataset in formato transazionale;

Calcolare le regole associative a partire dagli itemset frequenti calcolati nel primo punto.

Page 18: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 4 (primo punto) Soluzione:

Trasformiamo il dataset in formato transazionale e applichiamo Apriori per il calcolo degli itemsets frequenti.

TID Items

T1 z

T2 xyz

T3 xu

T4 yz

T5 z

T6 yu

T7 xzu

T8 xyu

T9 xyz

T10 xzu

Page 19: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 4 Apriori

L1 C2 L2 C3L3

x:6 xy xy :3 xyz xyz:2*y:5 xz xz :4 xyu**z:7 xu xu:4 xzu**u:5 yz yz:3

yu yu:2*zu zu:2*

(*) Non raggiungono il supporto (**) Proprietà Apriori

Page 20: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 4 Gli itemsets frequenti sono, quindi:

F = {x,y,z,u,xy,xz,xu,yz}

Page 21: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 4 (secondo punto) Le regole associative

sono :

L’unica regola che supera la soglia di confidenza fissata è : u->x

Rule Confidencex->y 1/2y->x 3/5x->z 2/3z->x 4/7x->u 2/3u->x 4/5y->z 3/5z->y 3/7

Page 22: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 Si consideri il seguente

dataset: A B C3 1 X4 2 X4 1 X3 2 X12 1 Y13 2 Y13 3 Y18 7 X16 8 X18 9 X23 7 Y23 8 Y24 9 Y

Page 23: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 Considerando C come attributo di classe ed A e B come

variabili numeriche continue, calcolare l’entropia del dataset e costruire due alberi di decisione:

Discretizzando A e B. Assumendo A e B come attributi numerici.

Motivare il metodo di discretizzazione scelto e discutere le differenze fra i due alberi generati.

Page 24: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5

ID A B C1 3 1 X2 4 2 X3 4 1 X4 3 2 X5 12 1 Y6 13 2 Y7 13 3 Y8 18 7 X9 16 8 X10 18 9 X11 23 7 Y12 23 8 Y13 24 9 Y

Page 25: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 L’entropia dell’intero Dataset è 0.9957.

Si discretizzano A e B secondo i seguenti criteri:

AMB=Molto Basso (X<10)B=Basso (10<=X<15)M=Medio (15<=X<20)A=Alto (20<=X<25)

BB=Basso (X<5) A=Alto (X>=5)

Page 26: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5ID A B C1 MB B X2 MB B X3 MB B X4 MB B X5 B B Y6 B B Y7 B B Y8 M A X9 M A X10 M A X11 A A Y12 A A Y13 A A Y

Page 27: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 L’albero di decisione è (banalmente) il seguente:

Page 28: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 Nell’altro caso invece, occorre scegliere

l’attributo su cui splittare.

Lo split sull’attributo A garantisce un maggior guadagno informativo rimane però da stabilire la soglia per lo split.

Visto che A assume 8 valori diversi possiamo scegliere fra 7 soglie diverse.

Tramite la seguente tabella calcoliamo il guadagno informativo correlato allo split sulle varie soglie

Page 29: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5

A<  >= <  >= <  >= <  >= <  >= <  >= <  >=

X 2 5 4 3 4 3 4 3 5 2 7 0 7 0Y 0 6 0 6 1 5 3 3 3 3 3 3 5 1G

18 23 24

0,1546 0,36 0,1307 0,0037 0,0349 0,3178 0,0912

4 12 13 16

Risulta conveniente splittare il dataset distinguendo fra valori di A<12 e valori di A>=12.

Page 30: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 A questo punto splittiamo su B.

Risulta conveniente splittare il dataset distinguendo fra valori di B<7 e valori di B>=7.

B<  >= <  >= <  >= <  >= <  >=

X 0 3 0 3 0 3 1 2 2 1Y 1 5 2 4 3 3 4 2 5 1G

9

0,0699 0,152 0,2516 0,0728 0,0248

2 3 7 8

Page 31: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 5 L’ultimo split viene fatto nuovamente su A, la scelta

della soglia è banale.

Page 32: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 6 Sia dato il seguente

dataset:

ID OPL_HIGH STRUCKOPEN_DOO

R PUSHED HIT PARKED COLLITION CLASS

1 0 0 0 0 0 1 1 0

2 0 0 0 0 0 0 1 0

3 0 1 0 1 0 0 1 0

4 0 0 1 0 1 0 1 0

5 1 1 1 0 0 1 1 0

6 0 0 0 0 0 1 1 0

7 1 0 0 0 0 0 0 0

8 0 0 0 1 0 0 0 0

9 1 1 0 1 0 0 1 1

10 0 0 0 0 1 1 0 1

11 0 0 0 0 1 1 1 1

12 1 0 0 0 0 0 1 1

13 1 1 0 0 0 0 1 1

14 1 1 1 0 0 0 1 1

Page 33: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 6 Vengono appresi due classificatori, che producono le

seguenti probabilità per CLASS=1:

Considerando la soglia di classificazione 0.5, produrre la matrice di confusione e disegnare i punti sul piano ROC. Qual è il classificatore migliore?

Page 34: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 6 Matrice di Confusione per

C1real/predicted 0 1

0 6 21 1 5

Matrice di Confusione per C2

real/predicted 0 10 8 01 1 5

Page 35: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 6 C1:

TPR = 5/6 ; FPR = ¼ C2:

TPR = 5/6 ; FPR = 0

1

1

5/6

Page 36: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 7 Si consideri il seguente reticolo in cui è rappresentato il

bordo della frequenza

Page 37: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 7 Secondo l’algoritmo apriori, quali sono gli itemsets

candidati di dimensione 2, e quali di questi sono frequenti?

Soluzione:

2-Itemsets candidati {AB, AC, AD, BC, BD, CD } 2-Itemsets Frequenti {AB, AC, AD, BC, BD, CD }

Page 38: Esercizi Esercitazione Data Mining. Esercizio 1 Sia dato il seguente dataset xyzU 0010 1110 1001 0110 0010 0101 1011 1101 1110 1011

Esercizio 7 Secondo l’algoritmo apriori, quali sono gli itemsets

candidati di dimensione 4, e quali di questi sono frequenti?

Soluzione:

4-Itemsets Candidati {ABCD} 4-Itemsets Frequenti {}