Esercitazione Data Mining Esercizi Esercitazione Data Mining
Esercizio 1 Sia dato il seguente dataset x y z U 1
Esercizio 1 (punto a) Utilizzando l’algoritmo Naive Bayes, Soluzione: Nell’ipotesi in cui le variabili x,y,z siano discrete binarie, calcolare P(U=0|x = 1,y=0,z=1). Soluzione: P(U=0|x=1,y=0,z=1)=
Esercizio 1 = = 0.454;
Esercizio 1 (punto b) y 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
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; 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
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:
Esercizio 2 Analogamente: 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:
Esercizio 2
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].
Esercizio 3 Iterazione1 C1 C2 X1 0.6 * 1.07 X2 1.03 X3 0.842 * 0.871 0.938 * 0.979 X5 0.824 * X6 X7 0.938 0.748 * X8 X9 X10
Esercizio 3 Pertanto i nuovi clusters saranno: E i nuovi centroidi: 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.
Esercizio 3 Iterazione 2 C1 C2 X1 0.748 * 1.41 X2 1.07 0.44 * X3 1 * 0.6 * 1.18 X6 0.871 * 1.34 X7 0.979 0.632 * X8 1.16 0.894 * X9 0.447 * X10
Esercizio 3 I clusters saranno: I centroidi saranno quindi: 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]
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 X6 0.940 * 1.195 X7 1.106 0.654 * X8 1.372 0.845 * X9 X10
Esercizio 3 Distanza di Jaccard 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
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.
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 T6 yu T7 xzu T8 xyu T9 T10
Esercizio 4 Apriori L1 C2 L2 C3 L3 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
Esercizio 4 Gli itemsets frequenti sono, quindi: F = {x,y,z,u,xy,xz,xu,yz}
Esercizio 4 (secondo punto) Le regole associative sono : L’unica regola che supera la soglia di confidenza fissata è : u->x
Esercizio 5 Si consideri il seguente dataset:
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.
Esercizio 5
Esercizio 5 L’entropia dell’intero Dataset è 0.9957. Si discretizzano A e B secondo i seguenti criteri: A MB=Molto Basso (X<10) B=Basso (10<=X<15) M=Medio (15<=X<20) A=Alto (20<=X<25) B B=Basso (X<5) A=Alto (X>=5)
Esercizio 5
Esercizio 5 L’albero di decisione è (banalmente) il seguente:
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
Esercizio 5 Risulta conveniente splittare il dataset distinguendo fra valori di A<12 e valori di A>=12.
Esercizio 5 A questo punto splittiamo su B. Risulta conveniente splittare il dataset distinguendo fra valori di B<7 e valori di B>=7.
Esercizio 5 L’ultimo split viene fatto nuovamente su A, la scelta della soglia è banale.
Esercizio 6 Sia dato il seguente dataset:
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?
Esercizio 6 Matrice di Confusione per C1 Matrice di Confusione per C2
Esercizio 6 C1: TPR = 5/6 ; FPR = ¼ C2: TPR = 5/6 ; FPR = 0 1 5/6 1
Esercizio 7 Si consideri il seguente reticolo in cui è rappresentato il bordo della frequenza
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 }
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 {}