La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William.

Presentazioni simili


Presentazione sul tema: "CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William."— Transcript della presentazione:

1 CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William

2 Outline Introduzione Algoritmi partizionanti
Clustering con weka Algoritmi partizionanti K-Means Algoritmi basati sulla densità DBScan OPTICS Algoritmi per DB transazionali CLOPE

3 Clusterizzazione del Dataset “Iris”
Tecniche di clusterizzazione con WEKA Clusterizzazione del Dataset “Iris” Funzioni per la misura della similarità locale vs. globale 3

4 Tecniche di clusterizzazione con WEKA
Possibilità di scelta tra vari algoritmi Funzioni per la misura della similarità locale vs. globale 4

5 Tecniche di clusterizzazione con WEKA
Possibilità di scelta tra vari algoritmi Funzioni per la misura della similarità locale vs. globale 5

6 Tecniche di clusterizzazione con WEKA
Scelta dei parametri Funzioni per la misura della similarità locale vs. globale 6

7 Tecniche di clusterizzazione con WEKA
Scelta dei parametri Funzioni per la misura della similarità locale vs. globale 7

8 Tecniche di clusterizzazione con WEKA
Cluster Mode Il “Cluster mode” è utilizzato per scegliere cosa clusterizzare e le modalità con cui valutare i risultati Funzioni per la misura della similarità locale vs. globale 8

9 Tecniche di clusterizzazione con WEKA
Ignore attribute Funzioni per la misura della similarità locale vs. globale Il pulsante “Ignore attribute” apre una finestra che permette di selezionare eventuali attributi da non considerare nella formazione dei cluster 9

10 Premendo il tasto “Start” si fa partire l'algoritmo.
Tecniche di clusterizzazione con WEKA Premendo il tasto “Start” si fa partire l'algoritmo. Le informazioni riguardanti il processamento dei dati vengono mostrate nel riquadro a destra Funzioni per la misura della similarità locale vs. globale 10

11 Tecniche di clusterizzazione con WEKA
Funzioni per la misura della similarità locale vs. globale 11

12 Identificazione degli attributi più significativi
Tecniche di clusterizzazione con WEKA Identificazione degli attributi più significativi Funzioni per la misura della similarità locale vs. globale 12

13 Tecniche di clusterizzazione con WEKA
Funzioni per la misura della similarità locale vs. globale 13

14 Tecniche di clusterizzazione con WEKA
Funzioni per la misura della similarità locale vs. globale K = 2 K = 5 14

15 Algoritmi partizionanti K-Means
Applicazione al Dataset “Wine” Funzioni per la misura della similarità locale vs. globale 15

16 Algoritmi partizionanti K-Means
Applicazione al Dataset “Wine” Funzioni per la misura della similarità locale vs. globale 16

17 Algoritmi basati sulla densità
DBScan

18 Algoritmi basati sulla densità - DBScan
Variando ε (IRIS)

19

20 Algoritmi basati sulla densità - DBScan
Variando MinPoints (IRIS)

21 Algoritmi basati sulla densità - DBScan
Limiti Quali dimensioni dare a ε? Non si possono individuare tutti i cluster e sottocluster in presenza di densità diverse

22 ( Ordering Points To Identify the Clustering Structure )
Algoritmi basati sulla densità OPTICS ( Ordering Points To Identify the Clustering Structure ) “it does not produce a clustering of a data set explicitly; but instead creates an augmented ordering of the database representing its density-based clustering structure”

23 Al-Ri, optics ε=0.3

24

25 Algoritmi basati sulla densità - OPTICS
Algoritmo = è un core object

26 Algoritmi basati sulla densità - OPTICS
Confronto con DBScan ε = 0.9 ; MinPoints= 6 Clustered Instances (100%) ε = 0.5 ; MinPoints= 6 (si perdono i cluster a bassa densità) ( 58%) ( 42%) Unclustered instances : 14

27 Algoritmi basati sulla densità - OPTICS
Confronto con DBScan ε = 0.3 ; MinPoints= 6 Clustered Instances ( 16%) ( 43%) ( 40%) Unclustered instances : 22 cluster cluster Cluster Undefined 23 Perché?

28 Algoritmi basati sulla densità - OPTICS
Confronto con DBScan ?? BORDER rispetto ad un core non ancora processato??

29 Algoritmi per DB transazionali
Caratteristiche dei dataset transazionali: Alta dimensione Sparsità Grandi volumi di tuple In questi casi, algoritmi basati sulle distanze (es. k-means) sono inefficienti. Gli algoritmi gerarchici (es. ROCK) sono, invece, abbastanza efficienti ma poco scalabili Funzioni per la misura della similarità locale vs. globale

30 ( Clustering with sLOPE )
Algoritmi per DB transazionali CLOPE ( Clustering with sLOPE ) Idea di base Misurare la qualità di un cluster attraverso una funzione di similarità globale basata sul rapporto altezza/larghezza dell’istogramma del cluster. Esempio: cluster formato dalle transazioni {ab, abc, acd} H=2 a b c d W=4 Più alto è il rapporto H/W, migliore è il cluster perché viene migliorato l’overlapping intra-cluster.

31 Algoritmi per DB transazionali - CLOPE
Sia C un cluster, si definiscono: D(C) insieme degli item distinti presenti nel cluster; Occ(i,C) occorrenze dell’item i nel cluster; S(C) dimensione dell’istogramma del cluster. Per un clustering C={C1,…,Ck} la funzione profitto è: Si introduce il parametro r detto repulsione usato per controllare il livello di similarità intra-cluster

32 Algoritmi per DB transazionali - CLOPE
Algoritmo /* Fase 1 - Initialization */ 1: while not end of the database file 2: read the next transaction 〈t,unknown〉; 3: put t in an existing cluster or a new cluster Ci that maximize profit; 4: write 〈t, i〉 back to database; /* Fase 2 - Iteration */ 5: repeat 6: rewind the database file; 7: moved = false; 8: while not end of the database file 9: read 〈t, i〉; 10: move t to an existing cluster or new cluster Cj that maximize profit; 11: if Ci ≠ Cj then 12: write 〈t, j〉; 13: moved = true; 14: until not moved; Occupazione di memoria: nella RAM vengono memorizzati solo la transazione corrente e alcune informazioni (cluster feature) per ogni cluster come numero di transazioni (N), numero di item distinti (W), le occorrenze per ciascun item (occ) e la dimensione del cluster (S). Calcolo del profitto: è possibile individuare il miglior cluster in cui inserire una transazione attraverso la funzione DeltaAdd che calcola, utilizzando le clustering feature, l‘aumento relativo della funzione Profit 1: int DeltaAdd(C, t, r) { 2: S_new = C.S + t.ItemCount; 3: W_new = C.W; 4: for (i = 0; i < t.ItemCount; i++) 5: if (C.occ[t.items[i]] == 0) ++W_new; 6: return S_new*(C.N+1)/(W_new)r-C.S*C.N /(C.W)r; 7: } L‘algoritmo è composto da 2 fasi: la prima fase esegue un primo scan del database e costruisce il clustering, la seconda fase rifinisce il clustering eseguendo altri scan (in genere pochi). L‘algoritmo termina quando l‘ultimo scan non ha modificato il clustering. Complessità di DeltaAdd = O(t.itemCount)

33 Algoritmi per DB transazionali - CLOPE
Vantaggi Rapidità Complessità: O(N x K x A) Bassa occupazione di memoria Database con item e cluster possono essere memorizzati in 40 MB Efficienza Qualità del clustering molto vicina a quella di algoritmi come ROCK e scarsa sensibilità all’ordine delle transazioni N:transazioni K: num max di cluster A: dimensione media delle transazioni

34 Algoritmi per DB transazionali - CLOPE
Applicazione con WEKA L’algoritmo è attivo solo se il dataset caricato è composto di attributi categorici. L’unico parametro da introdurre è la repulsione. Per provare l’algoritmo con il dataset di prova (Iris), è stato applicato un filtro per discretizzare gli attributi (10 bin equi-frequenza) e renderli binari.

35 Algoritmi per DB transazionali - CLOPE
Risultati Tutti gli attributi selezionati e repulsione a 2.8 Selezionati solo gli attributi sul petalo e repulsione a 2.5 CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances ( 33%) ( 36%) 46 ( 31%) ( 1%) Class attribute: class Classes to Clusters: <-- assigned to cluster | Iris-setosa | Iris-versicolor | Iris-virginica Cluster 0 <-- Iris-setosa Cluster 1 <-- Iris-versicolor Cluster 2 <-- Iris-virginica Cluster 4 <-- No class Incorrectly clustered instances : % CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances ( 31%) ( 38%) ( 28%) 5 ( 3%) Class attribute: class Classes to Clusters: <-- assigned to cluster | Iris-setosa | Iris-versicolor | Iris-virginica Cluster 0 <-- Iris-setosa Cluster 1 <-- Iris-versicolor Cluster 2 <-- Iris-virginica Cluster 3 <-- No class Incorrectly clustered instances : %

36 Applicazione al Dataset “Voting”
Algoritmi per DB transazionali - CLOPE Applicazione al Dataset “Voting”

37 GRAZIE PER L’ATTENZIONE


Scaricare ppt "CLUSTERING WITH WEKA Branca Stefano Dosi Clio Gnudi Edward William."

Presentazioni simili


Annunci Google