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 Introduzione Clustering con weka Algoritmi partizionanti K-Means Algoritmi basati sulla densità DBScan OPTICS Algoritmi per DB transazionali CLOPE Outline

3 Tecniche di clusterizzazione con WEKA Clusterizzazione del Dataset Iris

4 Possibilità di scelta tra vari algoritmi Tecniche di clusterizzazione con WEKA

5 Possibilità di scelta tra vari algoritmi Tecniche di clusterizzazione con WEKA

6 Scelta dei parametri

7 Tecniche di clusterizzazione con WEKA Scelta dei parametri

8 Tecniche di clusterizzazione con WEKA Il Cluster mode è utilizzato per scegliere cosa clusterizzare e le modalità con cui valutare i risultati Cluster Mode

9 Il pulsante Ignore attribute apre una finestra che permette di selezionare eventuali attributi da non considerare nella formazione dei cluster Tecniche di clusterizzazione con WEKA Ignore attribute

10 Premendo il tasto Start si fa partire l'algoritmo. Le informazioni riguardanti il processamento dei dati vengono mostrate nel riquadro a destra Tecniche di clusterizzazione con WEKA

11

12 Identificazione degli attributi più significativi Tecniche di clusterizzazione con WEKA

13

14 K = 2 K = 5

15 Applicazione al Dataset Wine Algoritmi partizionanti K-Means

16 Applicazione al Dataset Wine Algoritmi partizionanti K-Means

17 Algoritmi basati sulla densità DBScan

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

19

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

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

22 ( 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 Algoritmi basati sulla densità OPTICS

23 Al-Ri, optics ε=0.3

24

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

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

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

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

29 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 Algoritmi per DB transazionali

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

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

32 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 C i 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 C j that maximize profit; 11: if C i C j 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, laumento 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: } Algoritmi per DB transazionali - CLOPE

33 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à allordine delle transazioni Algoritmi per DB transazionali - CLOPE

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

35 Risultati CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances 0 46 ( 31%) 1 57 ( 38%) 2 42 ( 28%) 3 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 : % CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances 0 46 ( 31%) 1 57 ( 38%) 2 42 ( 28%) 3 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 : % CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances 0 49 ( 33%) 1 54 ( 36%) 246 ( 31%) 4 1 ( 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 :9.0 6 % CLOPE clustering results =============================================== Clustered instances: 150 Clustered Instances 0 49 ( 33%) 1 54 ( 36%) 246 ( 31%) 4 1 ( 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 :9.0 6 % Tutti gli attributi selezionati e repulsione a 2.8 Selezionati solo gli attributi sul petalo e repulsione a 2.5 Algoritmi per DB transazionali - CLOPE

36 Applicazione al Dataset Voting

37 GRAZIE PER LATTENZIONE


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

Presentazioni simili


Annunci Google