Data Mining von Sequenzdaten - Fachgebiet Datenbanken und ...
Data Mining von Sequenzdaten - Fachgebiet Datenbanken und ...
Data Mining von Sequenzdaten - Fachgebiet Datenbanken und ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
5 IMPLEMENTIERUNG 52<br />
5 Implementierung<br />
In diesem Kapitel wird die Implementierung der Algorithmen PrefixSpan, Frecpo <strong>und</strong><br />
der grafischen Benutzeroberfläche SeqPO vorgestellt. Zuerst werden die Algorithmen<br />
PrefixSpan <strong>und</strong> Frecpo, welche als eigenständige Klassen implementiert wurden, vorgestellt.<br />
Danach wird die grafischen Benutzeroberfläche SeqPO vorgestellt, welche eine<br />
komfortable Benutzung der Algorithmen ermöglicht. Für die Implementierung wurde die<br />
Programmiersprache Java mit der Version 1.6 3 verwendet.<br />
5.1 PrefixSpan<br />
Im Folgenden werden zunächst die, für die Implemtierung des PrefixSpan-Algorithmus<br />
verwendeten Datenstrukturen vorgestellt. Danach erfolgt einer Erläuterung der Methoden<br />
der Klasse PrefixSpan. Im Anhang 8.1 ist ein Beispiel für die Verwendung <strong>von</strong><br />
PrefixSpan gegeben.<br />
Datenstrukturen<br />
Für die Leistungsfähigkeit <strong>von</strong> <strong>Data</strong> <strong>Mining</strong>-Algorithmen sind die zugr<strong>und</strong>eliegenden<br />
Datenstrukturen entscheidend. Im Folgenden wird erläutert, wie die Datenstrukturen<br />
aussehen, <strong>und</strong> warum diese für die Implementierung ausgewählt wurden.<br />
Item Ein Item wird als Zeichenkette betrachtet. Auf diese Weise können Items einfach<br />
miteinander verglichen oder sortiert werden. Dementsprechend wurde die Datenstruktutur<br />
String für Items gewählt.<br />
Abbildung 23: Die Sequenz s = a(bc)d(ef) mit dazugehörigen Indexen als doppelt verschachtelte<br />
ArrayListe<br />
Sequenz Da PrefixSpan die Konzepte Präfix <strong>und</strong> Suffix verwendet, wird vorausgesetzt,<br />
dass die Items innerhalb eines Elementes nach einer einheitlichen Ordnung sortiert sind.<br />
Somit ist eine Sequenz eine geordnete Liste <strong>von</strong> Elementen <strong>und</strong> ein Element ist eine<br />
geordnete Liste <strong>von</strong> Items. Deshalb wurde die Sequenz als doppelt verschachtelte Array-<br />
Liste implementiert. Unter Betrachtung der Items als Zeichenkette wurde entsprechend<br />
3 Updateversion 3