Data Mining: Clustering docent: dr. Toon Calders Gebaseerd op slides van Tan, Steinbach, and Kumar. Introduction to Data Mining Wat is clustering? Het onderverdelen van de objecten in een database in homogene groepen. Input: Relatie R(A,, A n ) Output: { C,, C n } met C,, C n R Criterium: Gelijkenis binnen groep is groter dan gelijkenis tussen objecten van verschillende groepen.
Wat is clustering? Intra-cluster afstanden minimaliseren Inter-cluster afstanden maimaliseren Toepassingen van cluster analse Begrijpen Groepeer gerelateerde documenten, genen, stocks, Samenvatten 4 Reduceer de grootte van de dataset; individuele punten worden samengevat door hun cluster Discovered Clusters Applied-Matl-DOWN,Ba-Network-Down,-COM-DOWN, Cabletron-Ss-DOWN,CISCO-DOWN,HP-DOWN, DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN, Micron-Tech-DOWN,Teas-Inst-Down,Tellabs-Inc-Down, Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN, Sun-DOWN Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN, ADV-Micro-Device-DOWN,Andrew-Corp-DOWN, Computer-Assoc-DOWN,Circuit-Cit-DOWN, Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN, Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN Fannie-Mae-DOWN,Fed-Home-Loan-DOWN, MBNA-Corp-DOWN,Morgan-Stanle-DOWN Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP, Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP, Schlumberger-UP Industr Group Technolog-DOWN Technolog-DOWN Financial-DOWN Oil-UP Clusters van neerslag in Australia
Notie Cluster is vaak ambigu Hoeveel clusters? 6? Of? Misschien 4? Tpes van clusterings Een clustering is een verzameling clusters Hiërarchische en partitionele clusterings. { C,, C n } is een Partitional Clustering: C i C j = {} voor alle i < j n Hiërarchische clustering: C i C j = {} of C i C j = C i of C i C j = C j voor alle i < j n
Partitionele Clustering Originele punten Partitionele clustering Hiërarchische Clustering p p p p4 p p p p4 Traditionele Hiërarchische Clustering Traditioneel Dendrogram p p p p4 p p p p4 Niet-traditionele Hiërarchische Clustering Niet-traditioneel Dendrogram
Clustering Algoritmes K-means en varianten Densit-based clusterings Hierarchische clusterings K-means Clustering Partitionele clustering benadering Elke cluster wordt geassocieerd met een centroid (centraal punt) Elk punt gaat naar de cluster met de dichtstbijzijnde centroid Aantal clusters K moet vooraf gespecifieerd worden
K-Means Clustering Veronderstelling: We hebben een afstandsmaat op D en we kunnen van een verzameling punten S het centrum bepalen centroid(s). Input: constante K, database D, afstandsmaat d Output: Partitie {C,, C K } van D zodanig dat: i {,, K}: C i : j {,, K}: i j d(,centroid(c i )) d(, centroid(c j )) (Elk punt is dichter bij z n eigen centroid dan bij elke andere centroid) K-Means Clustering
K-means: Voorbeeld Iteration 4 56.5.5 - -.5 - -.5 K-means: Voorbeeld Iteration Iteration Iteration.5.5.5.5.5.5 - -.5 - -.5 - -.5 - -.5 - -.5 - -.5 Iteration 4 Iteration 5 Iteration 6.5.5.5.5.5.5 - -.5 - -.5 - -.5 - -.5 - -.5 - -.5
- -.5 - -.5 Belang van een goede keuze van de initiële centroids.5 Originele Punten.5.5.5.5.5 - -.5 - -.5.5.5 Optimale Clustering - -.5 - -.5 Sub-optimale Clustering Belang van een goede keuze van de initiële centroids Iteration 4 5.5.5 - -.5 - -.5
- -.5 - -.5 Belang van een goede keuze van de initiële centroids Iteration Iteration.5.5.5.5 - -.5 - -.5 Iteration Iteration 4 Iteration 5.5.5.5.5.5.5 - -.5 - -.5 - -.5 - -.5 - -.5 - -.5 Problemen bij de selectie van initiële pntn Als er K echte clusters zijn, is de kans relatief klein dat we in elke echte cluster een punt hebben: Als alle echte clusters grootte n hebben: Bijvoorbeeld, als K =, dan is de kans slechts =!/ =.6 (!!) Soms komt dit nog goed tijdens het algoritme, soms ook niet.
Oplossingen voor dit probleem Meerdere runs Helpt, maar de kansen zijn erg laag Gebruik ander algoritme om clusters te vinden en gebruik deze als input voor K-means Selecteer meer dan K initiele centroids Selecteer achteraf de verst van elkaar gelegen clusters Postprocessing Beperkingen van K-means K-means heeft problemen als de clusters te erg verschillen qua grootte de clusters te erg verschillen qua densiteit De clusters geen bolvorm hebben De data outliers bevat De dimensionaliteit van de data hoog is
Beperkingen: verschillende groottes Originele punten K-means ( Clusters) Beperkingen: verschillende densiteit Originele punten K-means ( Clusters)
Beperkingen: geen bolvorm Originele punten K-means ( Clusters) Oplossingen voor de beperkingen Originele punten K-means Clustering Een oplossing is K veel groter nemen dan het veronderstelde aantal clusters Achteraf worden dicht bij elkaar gelegen clusters samengevoegd
Oplossingen voor de beperkingen Originele punten K-means Clustering Oplossingen voor de beperkingen Originele punten K-means Clustering
Clustering Algoritmes K-means en varianten Densit-based clusterings Hiërarchische clusterings Densit-based clustering
Densit-based clustering DBSCAN DBSCAN is hierop gebaseerd Input: een afstandsmaat d een dataset D Getallen µ en ε Output: Een partitionering { C,, C n } van D zodat: Voor alle punten, die voldoen aan volgende voorwaarde geldt dat ze in dezelfde cluster zitten: { z d(,z) ε } µ en { z d(,z) ε } µ en d(,) ε
Densit-based clustering: DBSCAN ε -densiteit van een punt = aantal punten binnen straal ε Een punt is een (ε, µ) -core punt indien er meer dan µ punten zijn binnen een straal ε Een (ε, µ) -border punt heeft minder dan µ punten binnen straal ε, maar ligt binnen een straal ε van ten minste een core punt Alle andere punten worden ruis punten genoemd. Densit-based clustering: DBSCAN Een punt is (ε, µ)-densit-reachable vanuit punt indien er een sequentie c,, c k van (ε,µ)-core punten bestaat zodanig dat: d(,c ) ε i {,, n-} : d(c i,c i+ ) ε d(c n,) ε Opmerking: berekening van alle paren (,) zodat (ε, µ)-densit-reachable vanuit een core punt = berekenen van transitieve afsluiting.
DBSCAN: Core, Border, en Ruis Punten DBSCAN Algorithm. Elimineer de ruis punten. i=. Zolang er core punten zijn die nog niet aan een cluster zijn toegekend: Neem een willekeurig nog niet toegekend core point c C i = { is (ε,µ)- densit reachable vanuit c, is nog niet toegekend} i := i+ 4. Return { C,, C i- }
Voorbeeld: DBSCAN Eerste punt wordt geselecteerd Alle punten die densitreachable zijn worden aan de cluster toegevoegd Tweede selectie Tweede cluster wordt gevormd Derde selectie en constructie van de cluster DBSCAN: Core, Border and Noise Points Originele punten Punt tpes: core, border en noise ε =, µ = 4
Waneer werkt DBSCAN goed? Originele punten Clustering Resistent voor ruis Kan clusters met verschillende vormen en groottes aan Wanneer werkt DBSCAN niet goed? Originele punten (µ =4, ε = 9.75) Variërende densiteit Hoog dimensionele data (µ =4, ε = 9.9)
DBSCAN: Bepalen van ε en µ Voor punten binnen een cluster is de afstand tot hun k-de buur ongeveer gelijk Ruis punten hebben hun k-de buur op veel grotere afstand Dus, plot de cumulatieve distributie van de afstand tussen alle punten en hun k-de buur. DBSCAN: Bepalen van ε en µ
Conclusies Clustering is het onderverdelen van de objecten in een database in homogene groepen Notie van een cluster is ambigu Twee partitieve algoritmes K-Means DBSCAN Conclusies K-Means Aantal clusters K gegeven Elk punt ligt dichter bij z n eigen cluster center dan bij de centra van de andere clusters DBSCAN Gebaseerd op dichtheid Twee punten op korte afstand in dichtbevolkt gebied moeten tot dezelfde cluster behoren Aantal clusters niet op voorhand bepaald Clustering-algoritmes scoren slecht in hoogdimensionele data