You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 23, 2022. It is now read-only.
Copy file name to clipboardExpand all lines: skill/paper/content.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -37,7 +37,7 @@ Steinbach et al. [@steinbach2000] beschreiben den grundsätzlichen Ablauf dieses
37
37
1. zufällige Wahl von $k$ Punkten aus dem Datenset als initiale Mittelpunkte
38
38
2. Zuordnung aller Datenpunkte des Datensets zum jeweils nächstgelegen Mittelpunkt
39
39
3. Neuberechnung aller Mittelpunkte aus den zugeordneten Datenpunkten
40
-
4. Wiederholung der Schritte 2 und 3; solange bis sich die Cluster-Zuordnungen nicht mehr verändern oder ein Höchstlimit an Iterationen überschritten ist
40
+
4. Wiederholung der Schritte 2 und 3; solange, bis sich die Cluster-Zuordnungen nicht mehr verändern oder ein Höchstlimit an Iterationen überschritten ist
41
41
42
42
Der große Vorteil dieser Verfahren ist eine lineare Laufzeit von $\mathcal{O}(n)$ [@huang1998]. Nachteilig ist, dass die gesuchte Anzahl an Clustern vorher bekannt sein muss und jeder Datenpunkt nur genau einem Cluster zugeordnet sein kann. [@kaufman2009, Kap. 1.3.1 Partitioning Methods]
43
43
@@ -53,7 +53,7 @@ Die numerischen und kategorialen Werte werden also separat mit einer jeweils gee
53
53
54
54
Hierarchische Verfahren produzieren eine ineinander verschachtelte Struktur von Clustern. Diese Cluster werden entweder nach dem Top-down- oder Bottom-up-Ansatz generiert [@kaufman2009, Kap. 1.3.2 Hierarchical Methods]:
55
55
56
-
-*Bottom-up- oder agglomerative Verfahren* starten mit jedem Datenpunkt in einem eigenen Cluster. Anschließend werden die beiden nächstgelegenen Cluster zu einem größeren kombiniert. Dieser Prozess wird solange wiederholt bis im letzten Schritt die beiden verbliebenen Cluster zu einem großen verschmolzen werden, welches also alle Datenpunkte enthält.
56
+
-*Bottom-up- oder agglomerative Verfahren* starten mit jedem Datenpunkt in einem eigenen Cluster. Anschließend werden die beiden nächstgelegenen Cluster zu einem größeren kombiniert. Dieser Prozess wird solange wiederholt, bis im letzten Schritt die beiden verbliebenen Cluster zu einem großen verschmolzen werden, welches also alle Datenpunkte enthält.
57
57
-*Top-down- oder divisive Verfahren* arbeiten genau andersrum. Sie starten mit allen Datenpunkten in einem Cluster. Anschließend wird immer wieder das größte der verbleibenden Cluster in zwei kleinere aufgesplittet, bis schließlich jeder Datenpunkt seinem eigenen Cluster zugeordnet ist.
58
58
59
59
Durch dieses Vorgehen wird faktisch eine Cluster-Zuteilung für jede mögliche Anzahl an Clustern ($1 \leq k \leq n$) generiert. Jeder Datenpunkt gehört dadurch mehreren Clustern auf den unterschiedlichen Hierarchieebenen an, was umfangreichere Analysen der Cluster erlaubt [@dogan2022]. Eine alternative Visualisierung der Ergebnisse besteht in Form einer Baumstruktur – einem sog. Dendrogramm. [@steinbach2000]
@@ -134,7 +134,7 @@ Durch die Umwandlung in Tokens, sind die String-Attribute equivalent zu den mult
134
134
135
135
Für die praktische Evaluation ist Akeneo-PIM [@akeneo2022about] (ein Open-Source PIM-System mit weiter Verbreitung) verwendet worden. Dieses System wurde mit Produkten aus dem sehr umfangreichen Online-Katalog Icecat [@icecat2021] gefüllt, wo Hersteller aus der ganzen Welt ihre Produktdatenblätter für die Verteilung an Händler hochladen.
136
136
137
-
Anschließend wurde das hergeleitete Clustering-Verfahren implementiert. Nun wurde das Datenset geclustert, wobei verschiedene Kombinationen an Attributen für das Clustering verwendet worden sind. Diese Clustering-Ergebnisse wurde schließlich mittels einiger Metriken evaluiert.
137
+
Anschließend wurde das hergeleitete Clustering-Verfahren implementiert. Nun wurde das Datenset geclustert, wobei verschiedene Kombinationen an Attributen für das Clustering verwendet worden sind. Diese Clustering-Ergebnisse wurden schließlich mittels einiger Metriken evaluiert.
138
138
139
139
## Datenset
140
140
@@ -155,13 +155,13 @@ Die Spalte "Anzahl" zeigt, wie viele Attribute je Typ vorkommen. Die numerischen
155
155
156
156
Für die Bewertung des Clustering-Verfahrens sind verschiedene Metriken verwendet worden:
157
157
158
-
Die **Stabilität** zeigt die Übereinstimmung der Clustering-Ergebnisse von zehn verschiedenen Durchläufen des Bisecting K-Prototypes. Da das Verfahren mit zufälligen Startpunkten arbeitet, sind die Ergebnisse von zwei Durchläufe nicht immer deckungsgleich. Ein sinnvolles Clustering-Verfahren sollte aber dennoch einen gewissen Determinismus aufweisen. Die Übereinstimmung der Clusterings wurde mittel Adjusted-Rand-Index [@hubert1985] berechnet. Er liefert Werte zwischen $-1$ und $1$ und je höher er liegt, desto höher ist die Übereinstimmung zweier Cluster-Zuteilungen.
158
+
Die **Stabilität** zeigt die Übereinstimmung der Clustering-Ergebnisse von zehn verschiedenen Durchläufen des Bisecting K-Prototypes. Da das Verfahren mit zufälligen Startpunkten arbeitet, sind die Ergebnisse von zwei Durchläufen nicht immer deckungsgleich. Ein sinnvolles Clustering-Verfahren sollte aber dennoch einen gewissen Determinismus aufweisen. Die Übereinstimmung der Clusterings wurde mittels Adjusted-Rand-Index [@hubert1985] berechnet. Er liefert Werte zwischen $-1$ und $1$ und je höher er liegt, desto höher ist die Übereinstimmung zweier Cluster-Zuteilungen.
159
159
160
160
Die **Qualität** wird mittels des Silhouetten-Koeffizienten [@rousseeuw1987] gemessen. Er berechnet den durchschnittlichen Abstand der Datenpunkte zu den Punkten im selben Cluster im Verhältnis zu den Punkten des unmittelbar benachbarten Clusters. Auch hier können Werte zwischen $-1$ und $1$ entstehen. Je näher an $1$, desto besser sind die Cluster voneinander getrennt.
161
161
162
162
Mit der **Erkennung** wird geprüft, ob das Clustering-Verfahren die inhärenten Strukturen des Datensets erkennen kann. Die Smartphones stammen aus drei verschiedenen Generationen und es gibt elf verschiedene Modelle (unter Berücksichtigung der Generationen). Auf der Hierarchiestufe $k=3$ sollten also die Smartphones der gleichen Generationen dem gleichen Cluster zugeordnet werden. Ebenso bei $k=11$ für die Smartphone-Modelle. Die Übereinstimmung der berechneten Cluster-Zuteilung mit der erwarteten wurde mittels Adjusted-Rand-Index berechnet.
163
163
164
-
Schließlich befinden sich im Datenset sechs Paare an **Duplikaten** – also das gleiche Produkt unter verschiedenen Ids. Ein hierarchisches Clustering-Verfahren sollte die Duplikate stets in die gleichen Cluster sortieren und erst beim letzten Split die Duplikate schließlich voneinander trennen. Ist dies der Fall, so wird ein Duplikate als erfolgreich erkannt gezählt.
164
+
Schließlich befinden sich im Datenset sechs Paare an **Duplikaten** – also das gleiche Produkt unter verschiedenen Ids. Ein hierarchisches Clustering-Verfahren sollte die Duplikate stets in die gleichen Cluster sortieren und erst beim letzten Split die Duplikate schließlich voneinander trennen. Ist dies der Fall, so wird ein Duplikat als erfolgreich erkannt gezählt.
Copy file name to clipboardExpand all lines: skill/paper/paper.tex
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -69,7 +69,7 @@
69
69
\maketitle
70
70
71
71
\begin{abstract}
72
-
Dieses Paper stellt ein hierarchisches Top-down-Clustering-Verfahren für gemischte Datensets mit linearer Laufzeit vor: Bisecting K-Prototypes. Der Algorithmus ist speziell für die Verarbeitung komplexer (numerischer und kategorialer) Datensets mit vielen fehlende Werten geeignet. Dabei ist keine exzessive Vorverarbeitung des Datensets nötig. Zusätzlich werden Erweiterungen des Algorithmus vorgestellt, welche für die Verarbeitung von Multi-Select- und Freitext-Feldern (multi-kategoriale und String-Attribute) geeignet sind. Der Algorithmus wurde implementiert und gegen ein entsprechendes Datenset getestet und evaluiert.
72
+
Dieses Paper stellt ein hierarchisches Top-down-Clustering-Verfahren für gemischte Datensets mit linearer Laufzeit vor: Bisecting K-Prototypes. Der Algorithmus ist speziell für die Verarbeitung komplexer (numerischer und kategorialer) Datensets mit vielen fehlenden Werten geeignet. Dabei ist keine exzessive Vorverarbeitung des Datensets nötig. Zusätzlich werden Erweiterungen des Algorithmus vorgestellt, welche für die Verarbeitung von Multi-Select- und Freitext-Feldern (multi-kategoriale und String-Attribute) geeignet sind. Der Algorithmus wurde implementiert und gegen ein entsprechendes Datenset getestet und evaluiert.
73
73
% This paper introduces a hierarchical divisive clustering algorithm for mixed datasets with linear runtime: Bisecting K-Prototypes. The algorithm is specifically designed to handle complex mixed (numerical and categorical) datasets with many missing values without the need for extensive data preparation. Additionally, extensions to this algorithm for multi-select data (multi-categorical) and string data are provided. The algorithm is then tested and evaluated against a corresponding dataset containing each of these complex cases.
0 commit comments