Data Warehousing und Data Mining

Ähnliche Dokumente
Data Warehousing und Data Mining

Clustering Seminar für Statistik

Exploration und Klassifikation von BigData

Voraussetzung wieder: Datenraum mit Instanzen, mehrere Attribute - kein ausgezeichnetes Zielattribut, keine vorgegebenen Klassen

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Primzahlen und RSA-Verschlüsselung

Erstellen von x-y-diagrammen in OpenOffice.calc

Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Vorlesung Text und Data Mining S9 Text Clustering. Hans Hermann Weber Univ. Erlangen, Informatik

Grundlagen der Theoretischen Informatik, SoSe 2008

6.2 Scan-Konvertierung (Scan Conversion)

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Abschlussprüfung Realschule Bayern II / III: 2009 Haupttermin B 1.0 B 1.1

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

1 Vom Problem zum Programm

In konstanten Modellen wird davon ausgegangen, dass die zu prognostizierende Größe sich über die Zeit hinweg nicht verändert.

1 topologisches Sortieren

Datenbanksysteme 2 Frühjahr-/Sommersemester Mai 2014

Algorithmen II Vorlesung am

Tangentengleichung. Wie lautet die Geradengleichung für die Tangente, y T =? Antwort:

Wir machen neue Politik für Baden-Württemberg

Das Briefträgerproblem

Algorithmische Mathematik

Musterlösungen zur Linearen Algebra II Blatt 5

R ist freie Software und kann von der Website.

Algorithmentheorie Maximale Flüsse

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Arbeiten mit UMLed und Delphi

Informationsblatt Induktionsbeweis

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

1 Mathematische Grundlagen

Grundbegriffe der Informatik

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

15.3 Bedingte Wahrscheinlichkeit und Unabhängigkeit

Professionelle Seminare im Bereich MS-Office

Beweisbar sichere Verschlüsselung

Programmentwicklungen, Webseitenerstellung, Zeiterfassung, Zutrittskontrolle

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Lichtbrechung an Linsen

Serienbrieferstellung in Word mit Kunden-Datenimport aus Excel

Ist Fernsehen schädlich für die eigene Meinung oder fördert es unabhängig zu denken?

Feiertage in Marvin hinterlegen

LU-Zerlegung. Zusätze zum Gelben Rechenbuch. Peter Furlan. Verlag Martina Furlan. Inhaltsverzeichnis. 1 Definitionen.

Erstellen und Bearbeiten von Inhalten (Assets)

B12-TOUCH VERSION 3.5

50. Mathematik-Olympiade 2. Stufe (Regionalrunde) Klasse Lösung 10 Punkte

Zählen von Objekten einer bestimmten Klasse

Clustering (hierarchische Algorithmen)

Prozentrechnung. Wir können nun eine Formel für die Berechnung des Prozentwertes aufstellen:

Algorithmen und Datenstrukturen

Lehrer: Einschreibemethoden

Wie löst man Mathematikaufgaben?

Erwin Grüner

Beispiel(unten ist der Spielfeldrand):

Mediator 9 - Lernprogramm

Enigmail Konfiguration

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Media Teil III. Begriffe, Definitionen, Übungen

Bundesverband Flachglas Großhandel Isolierglasherstellung Veredlung e.v. U g -Werte-Tabellen nach DIN EN 673. Flachglasbranche.

Kapitel MK:IV. IV. Modellieren mit Constraints

Zeichen bei Zahlen entschlüsseln

Übungsaufgaben Tilgungsrechnung

Viele Bilder auf der FA-Homepage

Tipp III: Leiten Sie eine immer direkt anwendbare Formel her zur Berechnung der sogenannten "bedingten Wahrscheinlichkeit".

Daten sammeln, darstellen, auswerten

Anleitung über den Umgang mit Schildern

Anwendertreffen 20./21. Juni

7 Rechnen mit Polynomen

Suchmaschinen. Universität Augsburg, Institut für Informatik SS 2014 Prof. Dr. W. Kießling 23. Mai 2014 Dr. M. Endres, F. Wenzel Lösungsblatt 6

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Semestralklausur zur Vorlesung. Web Mining. Prof. J. Fürnkranz Technische Universität Darmstadt Sommersemester 2004 Termin:

Kapitel 5: Clustering

Mining High-Speed Data Streams

8. Quadratische Reste. Reziprozitätsgesetz

Webalizer HOWTO. Stand:

Fachdidaktik der Informatik Jörg Depner, Kathrin Gaißer

Simulation LIF5000. Abbildung 1

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

mit Musterlösungen Prof. Dr. Gerd Stumme, Dipl.-Inform. Christoph Schmitz 11. Juni 2007

Grundlagen der Künstlichen Intelligenz

Kompetitive Analysen von Online-Algorithmen

Statistische Auswertung:

Software- und Druckerzuweisung Selbstlernmaterialien

10.6 Programmier-Exits für Workitems

Arge Betriebsinformatik GmbH & Co.KG, CAP News 40, Februar CAP-News 40

GEVITAS Farben-Reaktionstest

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

W-Rechnung und Statistik für Ingenieure Übung 11

Statuten in leichter Sprache

Diana Lange. GENERATIVE GESTALTUNG Arten des Zufalls

Access [basics] Gruppierungen in Abfragen. Beispieldatenbank. Abfragen gruppieren. Artikel pro Kategorie zählen

Vorlesungsplan. Von Naïve Bayes zu Bayesischen Netzwerk- Klassifikatoren. Naïve Bayes. Bayesische Netzwerke

Teil III: Routing - Inhalt I. Literatur. Geometric Routing. Voraussetzungen. Unit Disk Graph (UDG) Geometric Routing 29

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

Handbuch Fischertechnik-Einzelteiltabelle V3.7.3

Inhalt dieses Kapitels. Ziel des Clustering, Anwendungen, Typen von Clustering-Algorithmen

Transkript:

Data Warehousing und Data Mining Clustering Ulf Leser Wissensmanagement in der Bioinformatik

Inhalt dieser Vorlesung Einführung Clustergüte Ähnlichkeiten Clustermitte Hierarchisches Clustering Partitionierendes Clustering Dichte-basiertes Clustering Ulf Leser: Data Warehousing und Data Mining 2

Clustering Finde Gruppen ähnlicher Objekte Ohne zu wissen wie viele Gruppen es geben soll Unsupervised learning Anwendungen Segmentiere Kunden in Gruppen Clustere Patienten in Verlaufsgruppen Finde Typen von Sternen in astronomischen Karten Welche Ergebnisse einer Websuche kommen aus dem selben Thema(encluster) Ulf Leser: Data Warehousing und Data Mining 3

Beispiel 1 Mtl Einkäufe Einkommen (geschlossen aus Wohnort) Ulf Leser: Data Warehousing und Data Mining 4

Beispiel 1 Mtl Einkäufe Vier Cluster und ein Ausreißer(-Cluster) Überlappungsfreie, konvexe Cluster Einkommen Ulf Leser: Data Warehousing und Data Mining 5

Beispiel 2 Mtl Einkäufe Zwei Cluster Besser? Einkommen Ulf Leser: Data Warehousing und Data Mining 6

Güte eines Clusterings Intuitiv ist eine Gruppierung gut, wenn innerhalb jedes Clusters alle Punkte nahe beieinander liegen Definition Sei f:o C mit C =k. Sei m c der Mittelpunkt aller Objekte der Klasse c C, und sei d(o,o ) der Abstand zwischen zwei Punkten. Dann ist die k-güte von f Bemerkung q ( f ) = d( o, k m c c C f ( o) = c Zur Bestimmung von Mittelpunkten kommen wir gleich Auch die Einschränkung auf k-güte erklärt sich gleich ) Ulf Leser: Data Warehousing und Data Mining 7

6-Güte Mittelpunkte bestimmen Abstand aller Punkte zu ihrem Mittelpunkt summieren Summe über alle Cluster Ulf Leser: Data Warehousing und Data Mining 8

Nachteil Optimales Clustering ohne Einschränkung auf k? Trivial mit k= O Score wird für größere k immer besser Ulf Leser: Data Warehousing und Data Mining 9

Güte bei fester Anzahl von Clustern k-güte ist als Maß nur dann sinnvoll, wenn die Anzahl an Clustern vorab feststeht Wenn k feststeht, ist Clustering ein Optimierungsproblem Finde für eine Menge O von Objekten eine Zuordnung f in k Cluster so, dass q k (f) minimal ist Aber: Problem ist NP-hart Praxis: Heuristiken (z.b. k-means) Score bei festem k ist sehr sensitiv bei Ausreißern Bilden sofort eigene Cluster Normale Objekte müssen in weniger Cluster gepackt werden Ausweg: Ausreißer vorab löschen Aber wie findet man die? Clustering! Ulf Leser: Data Warehousing und Data Mining 10

Inter/Intra-Cluster Bisher: Intra-Cluster Ähnlichkeit soll hoch sein Geringer mittlerer Abstand Intuitiv soll auch die Inter-Cluster Ähnlichkeit gering sein Großer Abstand jedes Punkt zu anderen Clustern Ein Maß, dass das berücksichtigt: Silhouette Ulf Leser: Data Warehousing und Data Mining 11

Silhouette Definition Sei f: O C mit C beliebig. Sei dist(o,c i ) der mittlere Abstand von o zu allen Punkten des Clusters C i. Dann Intra-Score: a(o) = dist(o,f(o)) Inter-Score: b(o) = min( dist(o,c i )), C i f(o) Die Silhouette eines Punktes s(o) ist Die Silhouette von f ist Σs(o) Bemerkung s( o) = s(o) 0: Punkt liegt zwischen zwei Clustern b( o) a( o) max( a( o), b( o)) s(o) 1: Punkt liegt näher am eigenen als am nächsten Cluster s(o) -1: Punkt liegt näher am nächsten Cluster als am eigenen Ulf Leser: Data Warehousing und Data Mining 12

Eigenschaften Silhouette verbessert sich nicht automatisch bei mehr Clustern s(o) eher höher s(o) eher niedriger Ulf Leser: Data Warehousing und Data Mining 13

Silhouette schlecht Zu welchem Cluster sollen diese Punkte gehören? Ulf Leser: Data Warehousing und Data Mining 14

Ähnlichkeit Wahl einer guten Abstandsfunktion ist essentiell Numerische Werte Euklidscher Abstand Betont große Abstände in einzelnen Dimensionen sehr stark Standard für metrische Werte Cosinus-Abstand: Differenz der Winkel der Featurevektoren Ausreißer in einzelnen Dimensionen zählen weniger Standard z.b. beim Text-Mining Kategoriale Werte: Anwendungsabhängig Ulf Leser: Data Warehousing und Data Mining 15

Die Mitte eines Clusters Was ist der Mittelpunkt eines Clusters? Numerische Werte Centroid: Mittelwert aller Punkte des Clusters Medoid: Der Median aller Punkte des Clusters Der mittlerste Punkt von C Nachteil: Berechnung eines Medoids ist teuer Vorteil: Weniger sensitiv bei Ausreißern Kategoriale Werte Centroid: i.a. nicht definiert Also muss man Medoid verwenden Ein Abstandsmaß braucht man so oder so Ulf Leser: Data Warehousing und Data Mining 16

Übersicht Hierarchisch: Erzeugt hierarchisch geschachtelte Cluster Benötigen kein k, sind aber eher teuer Berechnen eigentlich keine Cluster Partitionierend: Zerlegung der Punktmenge in k Cluster Schnell, nicht deterministisch Benötigen die Anzahl k der Cluster als Parameter Dichte-basierte: Sucht dichte Teilräume Subräumen mit hoher Punktdichte Tendenziell langsam Ulf Leser: Data Warehousing und Data Mining 17

Inhalt dieser Vorlesung Einführung Hierarchisches Clustering Partitionierendes Clustering Dichte-basiertes Clustering Ulf Leser: Data Warehousing und Data Mining 18

Hierarchisches Clustering Bottom-Up Berechnung eines binären Baums (Dendogramm) Algorithmus Berechne Abstandsmatrix M Alle d(o i, o j ), i j Wähle (o i, o j ) mit d(o i, o j )!= min Berechne x=mittel(o i,o j ) Lösche o i, o j aus M; füge x ein Berechne Abstand von x zu allen verbleibenden Objekten/Clustern in M Mittelwert der Abstände zu o i und o j Iteriere, bis M leer ist Ulf Leser: Data Warehousing und Data Mining 19

Beispiel: Ähnlichkeitsmatrix A B C D E F.. A 90 84 91 81 82.. B 43 99 37 36.. C 14 35 21 87 D 28 34.. E 95.. F.............. Ulf Leser: Data Warehousing und Data Mining 20

Ulf Leser: Data Warehousing und Data Mining 21 Iteration A B C D E F G ABCDEFG A B. C.. D... E... F... G... (B,D) a ACEFGa A C. E.. F... G... a... A B C D E F G ACGab A C. G.. a... b... (E,F) b A B C D E F G (A,b) c CGac C G. a.. c... A B C D E F G (C,G) d acd a c. d.. A B C D E F G (d,c) e A B C D E F G (a,e) f A B C D E F G ae a e.

Bespiel Genexpressionsdaten Ulf Leser: Data Warehousing und Data Mining 22

Festlegung von Clustern So... Das sind neun Cluster Ulf Leser: Data Warehousing und Data Mining 23

Alternative Oder so? Das sind 14 Cluster Ulf Leser: Data Warehousing und Data Mining 24

Geschachtelte Cluster Ulf Leser: Data Warehousing und Data Mining 25

Eigenschaften Vorteile Konzeptionell einfach, hübsche, irgendwie intuitive Grafiken Keine Festlegung auf Anzahl Cluster notwendig Nachteile Benötigt die Abstandsmatrix als Eingabe O =n: O(n 2 ) Platz und O(n 2 ) Zeit Dazu kommt Clustering selber: O(n 2 *log(n)) Berechnet keine Cluster Kaum anwendbar für viele (>10000) Objekte Ulf Leser: Data Warehousing und Data Mining 26

SQL - Distanzmatrix Annahmen Alle Objekte und ihre Attribute a, b, in Tabelle objects (o 1,x 1,y 1,z 1 ), (o 2,x 2,y 2,z 2 ), (o 3,x 3,y 3,z 3 ), Numerische Attribute Euklidischer Abstand Berechnung der Distanzmatrix M? SELECT t1.oid, t2.oid, sqrt(sqr(t1.a-t2.a)+sqr(t1.b-t2.b)+ ) FROM objects t1, objects t2 WHERE t1.oid>t2.oid; Ulf Leser: Data Warehousing und Data Mining 27

SQL Iteration Distanzmatrix materialisieren (teuer) Tabelle distance Anlegen Ergebnistabelle cluster(oid1,oid2) Iteratives Berechnung auf distance Geht nicht mit einer Query Tabelle objects benötigen wir nicht mehr PL-SQL Programm mit n= O Durchläufen Finde Paar P=(o 1,o 2 ) in distance mit kleinstem Abstand Schnell mit Index auf Abstandspalte Speichere o 1,o 2 in cluster Füge Abstände von P zu allen restlichen Punkten ein in distance Löschen alle Tupel in distance, die ein Objekt aus P beinhalten Schnell mit Indexen auf OID1, OID2 Ulf Leser: Data Warehousing und Data Mining 28

Beispiel 1 2 3 4 5 6 1 2 3 4 5 6 7 Distanzmatrix o1 o2 d 2 1? 3 1? 4 1? 5 1? 6 1? 7 1? 3 2? 4 2? Distanztabelle o1 o2 d 2 1? 3 1? 4 1? 5 1? 6 1? 7 1? 3 2? 4 2? 8 1? 8 4? Sei d(2,3)=min; Neuer Knoten 8 mit Abständen o1 o2 d 4 1? 5 1? 6 1? 7 1? 8 1? 8 4? Einträge mit 2 oder 3 löschen Ulf Leser: Data Warehousing und Data Mining 29

Berechnung neuer Abstände Bestimme $newid, $oldo1, $oldo2; Mittelwert der zwei alten Abstände INSERT INTO distance SELECT $newid, o.oid1, sum(d.dist)/2 FROM (SELECT distinct oid1 FROM distance WHERE OID1 not in ($oldo1, $oldo2)) o, distance d WHERE (d.oid1=o.oid1 and (d.oid2 = $oldo1 or $oid2=$oldo2)) or (d.oid2=o.oid1 and (d.oid1 = $oldo1 or $oid1=$oldo2)) GROUP BY o.oid1; Zu diesen Objekten müssen Abstände berechnet werden Abstände zu Objekte gruppieren Alte Abstände Objekte können links oder rechts stehen, selektiert werden immer nur 2 Tupel Ulf Leser: Data Warehousing und Data Mining 30

Inhalt dieser Vorlesung Einführung Hierarchisches Clustering Partitionierendes Clustering k-means k-medoid und CLARANS Dichte-basiertes Clustering Ulf Leser: Data Warehousing und Data Mining 31

K-Means Wahrscheinlich bekannteste Clusteringmethode Vielen Varianten Anzahl k von Clustern ist Eingabeparameter Berechnet lokales Optimum bezüglich k-güte Algorithmus Wähle zufällig k Clustermittelpunkte Iteriere Für alle Objekte Berechne Abstand jedes Objekts zu jedem Clustermittelpunkt Weise Objekt seinem nächsten Clustermittelpunkt zu Wenn sich keine Objektzuordnung mehr geändert hat, dann STOP Sonst: Berechne neue Clusterzentren Ulf Leser: Data Warehousing und Data Mining 32

Beispiel 1 k=3 zufällige Startwerte auswählen Quelle: Stanford, CS 262 Computational Genomics Ulf Leser: Data Warehousing und Data Mining 33

Beispiel 2 Objekte dem nächsten Clusterzentrum zuordnen Ulf Leser: Data Warehousing und Data Mining 34

Beispiel 3 Clustermittelpunkte neu berechnen Ulf Leser: Data Warehousing und Data Mining 35

Beispiel 4 Objekte neu zuordnen Ulf Leser: Data Warehousing und Data Mining 36

Beispiel 5 Mittelpunke anpassen Ulf Leser: Data Warehousing und Data Mining 37

Beispiel 6 Fertig, keine neuen Zuordnungen mehr Ulf Leser: Data Warehousing und Data Mining 38

Eigenschaften Meist konvergiert k-means relativ schnell (5-10 Läufe) Wenn l die Zahl der Durchläufe ist, brauchen wir Neuzuordnung: n*k Vergleiche Objekte-Zentren Clusterbestimmung: n Vektoradditionen, verteilt auf k Cluster Zusammen: O(n*k*l) Insbesondere benötigen wir keine Distanzmatrix Nachteil: Welches k nehmen wir? Alternative: Verschiedene k probieren Silhouette zur Güteabschätzung verwenden Empfindlich gegenüber Ausreißern Ulf Leser: Data Warehousing und Data Mining 39

Varianten Wähle initiale Clusterzentren gleichmäßig verteilt im Raum statt beliebige Datenpunkte zu nehmen Schlecht für stark geclusterte Daten, da Mittelpunkte erst einen weiten Weg zurücklegen müssen Stop, wenn nur noch wenige (Schwellwert) Objekte ihre Zugehörigkeit geändert haben Schneller, leichte Ungenauigkeiten Starte k-means mehrmals mit unterschiedlichen Startpunkten und nimm das beste Ergebnis Standardmethode, um zufällig schlechte Startkonstellationen zu verhindern Ulf Leser: Data Warehousing und Data Mining 40

k-means und Ausreißer Ulf Leser: Data Warehousing und Data Mining 41

K-Medoid K-Medoid: Wahl des mittleren Punktes eines Clusters Problem: Berechnung Medoide ist teuer (O(n 3 )) Average Case aber deutlich schneller Vorteile Weniger sensitiv bzgl. Ausreißern Funktioniert auch mit kategorialen Werten Ulf Leser: Data Warehousing und Data Mining 42

k-medoid und Ausreißer Ulf Leser: Data Warehousing und Data Mining 43

K-Means in SQL objects mit Objekten und Attributen cluster mit Koordinaten der Zentren Erstes Upd.: Zuweisung neuer Clusterzentren Zweites Upd.: Berechnung neuer Clustermittelpunkte Probleme Update auch ohne Änderungen REPEAT UPDATE objects SET cluster= (SELECT cid FROM (SELECT dist(o.a,a, ) d FROM cluster ORDER BY d) WHERE ROWNUM=1); IF %SQLCOUNT%!= 0 UPDATE cluster SET (a,b, )= (SELECT sum(a)/n,sum(b)/n, FROM objects o WHERE o.cluster=cid); ELSE BREAK; ENDIF; UNTIL FALSE; Ulf Leser: Data Warehousing und Data Mining 44

CLARANS [NH94] Idee: Teste nur manche Vertauschungen maxneighbor viele dafür starte öfter (maxtest) TD: Total distance TD_best := maxint; // Bester Gesamtabstand C_best := ; // Beste Medoidmenge O; // Alle Objekte for r = 1 maxtest do C := {wähle zufällig k Objekte als Medoide}; O := O \ C; weise Objekte nächstem Medoid zu; berechne TD; i := 0; for i := 1 maxneighbor do Wähle zufällig m C, n O; if TD N M < TD then // Diese tauschen? O := O m \ n; C := C n \ m; TD := TD N M ; end if; end for; if TD < TD_best then // Neues Optimimum? TD_best := TD; C_best := C; end if; end do; return TD_best, C_best; Ulf Leser: Data Warehousing und Data Mining 45

Vergleich [ES00] Qualität Laufzeit TD(CLARANS) TD(PAM) Unwesentlich schlechtere Ergebnisse (1-5%) Viel bessere Laufzeit (nahezu linear) Nicht untypisch: Wenn die Daten gut clustern, dann findet man diese Cluster sehr schnell Zuordnung der wenigen problematischen Objekte benötigt dann viel Zeit, bringt aber nur wenig Verbesserung Quelle: [ES00] Ulf Leser: Data Warehousing und Data Mining 46

Inhalt dieser Vorlesung Einführung Hierarchisches Clustering Partitionierendes Clustering Dichte-basiertes Clustering Ulf Leser: Data Warehousing und Data Mining 47

Aber Quelle: [FPPS96] K-Means (und CLARANS und k-medoid und viele andere) finden nur konvexe Cluster Das ergibt sich aus der Nähe zu einem Mittelpunkt Anderes Kriterium: Nähe zu genügend vielen anderen Punkten im Cluster Ulf Leser: Data Warehousing und Data Mining 48

Dichtebasiertes Clustering [EKSX96] Sucht nach Regionen hoher Dichte Anzahl Cluster ist nicht vorbestimmt Findet auch nicht konvexe Cluster Bekanntester Vertreter: DBSCAN Wie definiert man dichte Bereiche? Jeder Punkt eines Clusters hat viele nahe Nachbarn Alle Punkte eines Clusters sind über nahe Nachbarn voneinander erreichbar Ulf Leser: Data Warehousing und Data Mining 49

Literatur Ester, M. and Sander, J. (2000). "Knowledge Discovery in Databases". Berlin, Springer. Han, J. and Kamber, M. (2006). "Data Mining. Concepts and Techniques", Morgan Kaufmann. Ester, M., Kriegel, H. P., Sander, J. and Xu, X. (1996). "A density-based algorithm for discovering clusters in large spatial databases". Conference on Knowledge Discovery in Databases. Ng, R. T. and Han, J. (1994). "Efficient and Effective Clustering Methods for Spatial Data Mining". Int. Conf. on Very Large Databases, Santiago, Chile. Ulf Leser: Data Warehousing und Data Mining 50