Skip to content
This repository was archived by the owner on Oct 23, 2022. It is now read-only.

Commit a73b490

Browse files
committed
added edits from proof reading
1 parent b8d10b0 commit a73b490

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

skill/paper/content.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ Steinbach et al. [@steinbach2000] beschreiben den grundsätzlichen Ablauf dieses
3737
1. zufällige Wahl von $k$ Punkten aus dem Datenset als initiale Mittelpunkte
3838
2. Zuordnung aller Datenpunkte des Datensets zum jeweils nächstgelegen Mittelpunkt
3939
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
4141

4242
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]
4343

@@ -53,7 +53,7 @@ Die numerischen und kategorialen Werte werden also separat mit einer jeweils gee
5353

5454
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]:
5555

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.
5757
- *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.
5858

5959
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
134134

135135
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.
136136

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.
138138

139139
## Datenset
140140

@@ -155,13 +155,13 @@ Die Spalte "Anzahl" zeigt, wie viele Attribute je Typ vorkommen. Die numerischen
155155

156156
Für die Bewertung des Clustering-Verfahrens sind verschiedene Metriken verwendet worden:
157157

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.
159159

160160
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.
161161

162162
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.
163163

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.
165165

166166
# Auswertung
167167

skill/paper/paper.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
\maketitle
7070

7171
\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.
7373
% 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.
7474
\end{abstract}
7575

0 commit comments

Comments
 (0)