Finden von Assoziationsregeln

Transcription

Finden von Assoziationsregeln
Data Mining Verfahren zum
Finden von Assoziationsregeln
und Evaluierung durch das Werkzeug MISTRAL
Diplomarbeit von
Joachim Baumeister
Betreuer:
Dipl.–Inform. Ioannis Iglezakis
Prof. Dr. Frank Puppe
August 1998
Lehrstuhl für Künstliche Intelligenz
und Angewandte Informatik
Universität Würzburg
Erklärung
Ich erkläre hiermit, dass ich diese Arbeit selbstständig angefertigt habe und keine
anderen als die angegebenen Quellen und Hilfsmittel benutzt habe.
Würzburg, 4. August 1998
Joachim Baumeister
Inhaltsverzeichnis
1 Einleitung
7
1.1
Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7
1.2
Zielsetzung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
1.3
Struktur der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . .
9
2 Data Mining und das Finden von Informationen
11
2.1
Der KDD Prozess . . . . . . . . . . . . . . . . . . . . . . . . . .
11
2.2
Verschiedene Data Mining Verfahren . . . . . . . . . . . . . . . .
13
2.2.1
Klassifikation . . . . . . . . . . . . . . . . . . . . . . . .
13
2.2.2
Clusteranalyse . . . . . . . . . . . . . . . . . . . . . . .
14
2.2.3
Regressionsverfahren . . . . . . . . . . . . . . . . . . . .
14
2.2.4
Assoziationsregeln . . . . . . . . . . . . . . . . . . . . .
15
2.2.5
Sequentielle Muster . . . . . . . . . . . . . . . . . . . .
15
2.2.6
Weitere Musterarten . . . . . . . . . . . . . . . . . . . .
15
Stand der Forschung . . . . . . . . . . . . . . . . . . . . . . . .
16
2.3
3 Das Finden von Assoziationsregeln
3.1
19
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
3.1.1
19
Grundlegende Definitionen . . . . . . . . . . . . . . . . .
Inhaltsverzeichnis
4
3.2
3.3
3.4
3.5
4
3.1.2
Generischer Algorithmus . . . . . . . . . . . . . . . . . . 20
3.1.3
Arten von Assoziationsregeln . . . . . . . . . . . . . . . 22
Einfache boolsche Assoziationsregeln . . . . . . . . . . . . . . . 23
3.2.1
AIS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2.2
SetM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.3
Die Apriori–Klasse . . . . . . . . . . . . . . . . . . . . . 27
3.2.4
Partition . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Generalisierte Assoziationsregeln
. . . . . . . . . . . . . . . . . 36
3.3.1
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.2
Basic . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.3.3
Cumulate . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.3.4
EstMerge . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.3.5
Filtern der interessanten Regeln . . . . . . . . . . . . . . 43
Quantitative Assoziationsregeln . . . . . . . . . . . . . . . . . . 45
3.4.1
Problemstellung . . . . . . . . . . . . . . . . . . . . . . 45
3.4.2
Grundlegende Definitionen . . . . . . . . . . . . . . . . . 46
3.4.3
Vorgehensweise beim Finden von quantitativen Assoziationsregeln . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.4.4
Partitionierung der quantitativen Attributwerte . . . . . . 48
3.4.5
Filtern der interessanten Regeln . . . . . . . . . . . . . . 52
3.4.6
Ergänzungen zum Algorithmus . . . . . . . . . . . . . . 53
Betrachtung der Komplexität . . . . . . . . . . . . . . . . . . . . 55
Implementierung des Werkzeugs M ISTRAL
59
4.1
Überlegungen zur Implementierung eines Data Mining Werkzeugs
59
4.2
Architektur von M ISTRAL . . . . . . . . . . . . . . . . . . . . . 60
4.2.1
Der Kern . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Inhaltsverzeichnis
4.3
5
4.2.2
Speicherbereiche . . . . . . . . . . . . . . . . . . . . . .
62
4.2.3
Speicherung der Artikel . . . . . . . . . . . . . . . . . .
64
4.2.4
Die Mistral-Komponenten . . . . . . . . . . . . . . . . .
65
Aspekte der Implementierung . . . . . . . . . . . . . . . . . . . .
68
5 Bedienungshinweise zu M ISTRAL
69
5.1
Aufbau eines Data Mining Laufes . . . . . . . . . . . . . . . . .
69
5.2
Menüstruktur von MISTRAL . . . . . . . . . . . . . . . . . . . .
71
5.3
Definition eines M ISTRAL Projekts . . . . . . . . . . . . . . . . .
72
5.4
Arbeiten mit M ISTRAL Komponenten . . . . . . . . . . . . . . .
72
5.4.1
Koppeln . . . . . . . . . . . . . . . . . . . . . . . . . . .
73
5.4.2
Vorhandene Komponenten . . . . . . . . . . . . . . . . .
74
5.5
Das Tools Menü . . . . . . . . . . . . . . . . . . . . . . . . . . .
75
5.6
Dateiformat: TextDataFetcher . . . . . . . . . . . . . . . . . . .
76
5.7
Dateiformat: Taxonomie-Definition . . . . . . . . . . . . . . . .
77
6 Auswertung der Daten und Ergebnisse
79
6.1
Synthetische Daten . . . . . . . . . . . . . . . . . . . . . . . . .
79
6.2
Katalysator-Testfahrten der Degussa AG . . . . . . . . . . . . . .
83
6.2.1
Vorverarbeitung der Daten . . . . . . . . . . . . . . . . .
83
6.2.2
Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . .
84
Die Warenwirtschaft der Firma Quitmann . . . . . . . . . . . . .
85
6.3.1
Vorverarbeitung der Daten . . . . . . . . . . . . . . . . .
85
6.3.2
Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . .
86
Pflanzenwissensbasis . . . . . . . . . . . . . . . . . . . . . . . .
88
6.4.1
Vorverarbeitung der Daten . . . . . . . . . . . . . . . . .
88
6.4.2
Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . .
89
6.3
6.4
Inhaltsverzeichnis
6
7
Regelfindung in diagnostischen Domänen
7.1
7.2
7.3
8
93
Clusterbildung unter Verwendung von Standardverfahren . . . . . 93
7.1.1
Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . 94
7.1.2
Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . 95
Support in Intervallen (A PRIOR I NTERVALL ) . . . . . . . . . . . . 96
7.2.1
Vorgehensweise . . . . . . . . . . . . . . . . . . . . . . . 96
7.2.2
Komplexität . . . . . . . . . . . . . . . . . . . . . . . . . 98
Anmerkungen zum RX-Projekt . . . . . . . . . . . . . . . . . . . 98
Zusammenfassung und Ausblick
101
8.1
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . 101
8.2
Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Beschreibung der beigelegten CD–ROM
104
Danksagung
105
Literaturverzeichnis
107
1
Einleitung
Diese Arbeit untersucht mit dem Finden von Assoziationsregeln einen Bereich des
Data Minings. Zunächst werden Gründe angeführt, die Data Mining und speziell
Assoziationsregeln für Forschung und Wirtschaft interessant machen. Im Weiteren werden die Ziele dieser Arbeit näher umschrieben. Das Kapitel schließt mit
einer Übersicht über die vorliegende Arbeit.
1.1 Motivation
Beachtliche Fortschritte bei der Sammlung und Speicherung von Daten haben in
den letzten 10 Jahren zu einem rapiden Anstieg der Datenbestände geführt. Einen
nicht zu unterschätzenden Einfluss hatte hierbei auch die Einführung der BarcodeTechnologie: Da inzwischen nahezu jeder Artikel einen Barcode trägt, ist dieser
datentechnisch erfassbar. Zusätzlich wurde es den Unternehmen durch die preiswert zur Verfügung stehenden Massenspeicher möglich, weit mehr Daten zu speichern als dies noch vor einigen Jahren getan wurde. Diesen erheblichen Anstieg
ihrer Datenmenge wollen die Unternehmen nutzen, um dem weltweit zunehmenden Wettbewerbsdruck entgegentreten zu können. Der erste Schritt besteht darin,
die verschiedenen heterogenen Datenbestände des Unternehmens zentral und einheitlich verfügbar zu machen. Dieser Übergang zur Speicherung der Daten in sogenannten Data Warehouses ist heute meist schon vollzogen. Da die gesammelten
Datenbestände durch ihre Größe in der Regel unmöglich manuell analysiert werden können, besteht der nächste logische Schritt in der Nutzung von Data Mining
Technologien.
7
1. Einleitung
8
Data Mining beschreibt die Gewinnung von nützlichen Informationen aus bestehenden Datenbeständen. Nützliche Informationen können hierbei von mannigfaltiger Natur sein: Die Daten können anhand ihrer Eigenschaften in Blöcken
gruppiert oder klassifiziert worden sein. Oft ist es auch möglich, Beziehungen
zwischen den einzelnen Daten zu finden.
Diese Informationen wollen die Anwender nutzen, um ein besseres Verständnis
über Zusammenhang und Aufbau der Daten zu erlangen. Durch das Wissen von
Mustern und Abläufen in den gespeicherten Geschäftsprozessen erhofft man sich
schließlich eine intelligentere Entscheidungsunterstützung bei relevanten Problemfällen.
An Data Mining werden also große Hoffnungen und Wünsche geknüpft, die es
heute auch zum Teil schon erfüllen kann. Ermutigt werden diese Erwartungen
durch aufsehenerregende Meldungen aus der Wirtschaft, in denen einzelne Unternehmen durch den Einsatz von Data Mining spürbare Gewinne einfahren konnten. Als bekanntes Beispiel dient das weltgrößte Einzelhandelsunternehmen WalMart, das sich durch konsequenten Einsatz von Data Warehouse/Data Mining
Technologie von der Konkurrenz absetzen konnte.1
1.2 Zielsetzung
Data Mining bildet den zusammenfassenden Überbegriff für eine wachsende Anzahl verschiedener Technologien, die ihren Ursprung in der Statistik, der Datenbanktheorie und dem Maschinellen Lernen haben. Zu den bekanntesten Mining
Arten zählen Klassifikation, Clusterbildung, Regression und Assoziationsregeln.
In dieser Arbeit wird nur eine bestimmte Art von Data Mining Verfahren untersucht werden: Das Finden von Assoziationsregeln, welches erstmals in [AIS93]
vorgestellt wurde. Assoziationsregeln beschreiben Relationen zwischen häufig
auftretenden Datenausprägungen. Im Kontext eines Supermarktes, in welchem
man die Artikel A, B und C kaufen kann, könnte eine Assoziationsregel folgendermaßen lauten: “Wenn der Kunde Artikel A kauft, dann kauft er auch mit 80%
Wahrscheinlichkeit die Artikel B und C.” Für medizinische Diagnosen könnte eine Assoziationsregel so lauten: “Hat der Patient die Laborwertausprägungen L1
und L2 , dann spricht das mit 75% Wahrscheinlichkeit für Diagnose D.” Die vorliegende Arbeit beschreibt eine Anzahl von Verfahren zum Finden von boolschen,
generalisierten und quantitativen Assoziationsregeln. Durch die Implementierung
1
Für den Erfolg der Kette Wal-Mart sind aber sicherlich auch die mit dem Warehouse zusammenhängende Distributionslogistik und andere weitere Faktoren verantwortlich [Log98].
1.3. Struktur der Arbeit
9
mehrerer Verfahren werden später synthetische und reale Szenarien untersucht
werden. In den realen Szenarien sind sowohl transaktionelle als auch diagnostische Domänen vertreten.
1.3 Struktur der Arbeit
Die Arbeit gliedert sich in einen theoretischen und einen praktischen Teil. Die
einzelnen Kapitel sind in folgender Weise zu lesen:
Kapitel 2 gibt einen kurzen Überblick in das umfassende Gebiet des Data
Mining. Hierfür wird der Begriff des KDD-Prozesses (Knowledge Discovery in Databases) eingeführt, in welchen Data Mining integriert ist. Im Weiteren werden wichtige Data Mining Verfahren vorgestellt und kurz erläutert.
Kapitel 3 beschreibt das Finden von Assoziationsregeln. Zunächst wird auf
die Terminologie der Assoziationsregeln eingegangen, dann ein generischer
Algorithmus zum Finden von Assoziationsregeln gegeben und schließlich
werden die verschiedenen Arten von Assoziationsregeln abgegrenzt. Die
weiteren Abschnitte erläutern Verfahren zum Finden der einzelnen Regelarten. Am Ende des Kapitels wird die Komplexität des A PRIORI-Algorithmus
untersucht, der eine Grundlage für die meisten Verfahren darstellt.
Kapitel 4 geht auf die Implementierung des Data Mining Werkzeugs M I STRAL ein. M ISTRAL wurde im Rahmen dieser Diplomarbeit erstellt und
zeichnet sich durch einen modularen, erweiterbaren Kern aus. Wichtige
Aspekte der Implementierung werden genau untersucht und beschrieben.
Kapitel 5 zeigt, wie man mit dem Werkzeug M ISTRAL Data Mining Projekte anlegen und durchführen kann. Neben der Beschreibung der Programmbedienung werden auch die wesentlichen Dateiformate einiger Komponenten dargestellt.
Kapitel 6 beschreibt zunächst die Evaluierung von M ISTRAL und die
Durchführung von Performanzstudien. Hierfür werden synthetische Daten herangezogen, deren Charakteristika bekannt sind. Nach der Evaluierung werden reale Datenbanken der Firma Degussa AG und Quitmann auf
Assoziationsregeln untersucht. Nach der Analyse der Datensätze werden
die Ergebnisse der verschiedenen Data Mining Läufe dargestellt. Schließlich werden noch zwei unterschiedliche Assoziationsregel–Verfahren in Datensätzen mit diagnostischer Domäne angewandt. Hierzu dient eine Wis-
1. Einleitung
10
sensbasis zur Pflanzenerkennung, die aus dem Expertensystem D3 extrahiert wurde.
Kapitel 7 zeigt, warum der Einsatz von Standardverfahren zum Finden von
Assoziationsregeln in diagnostischen Domänen wenig erfolgreich war. Oftmals ist hier ein häufiges Auftreten der Regeln in der Wissenbasis weniger
wichtig. Ein hohes Vertrauen (Konfidenz) der Regeln spräche aber für eine
interessante Entdeckung. Es werden Ansätze besprochen, wie Regeln mit
dieser Charakteristik gefunden werden können.
Kapitel 8 schließlich fasst die Erkenntnisse und Ergebnisse der vorangegangenen Kapitel zusammen. Der Ausblick auf mögliche zukünftige Entwicklungen im Bereich Assoziationsregeln und zusätzliche Erweiterungen von
M ISTRAL bilden den Abschluss dieser Arbeit.
Diese Arbeit wurde in der neuen Rechtschreibung erstellt; als Textsystem diente
LATEX.
2
Data Mining und das Finden von
Informationen
Bevor diese Arbeit auf das Finden von Assoziationsregeln eingeht, sollen die Begriffe KDD (Knowledge Discovery in Databases) und Data Mining definiert werden. KDD gilt nämlich als der umschließende Prozess, in den Data Mining eingebettet wird. Verschiedene Data Mining Muster neben Assoziationsregeln, wie
Klassifikation, Clusteranalyse oder Sequentielle Muster, werden kurz angesprochen.
2.1 Der KDD Prozess
Data Mining als das Suchen nach Wissen in großen Datenbeständen darf nicht als
isolierter Arbeitsschritt gesehen werden. Vielmehr stellt es ein Teilstück in einem
umfassenden Prozess dar, dem Knowledge Discovery in Databases (KDD). Das
,,Wissen” wird hierbei in Form von Mustern repräsentiert. Laut der Definition in
[FPSSU96] definiert sich KDD wie folgt:
Knowledge Discovery in Databases is the non-trivial process of
identifying valid, novel, potentially usefull and ultimately understandable patterns in data.
KDD ist also ein Vorgang, der zur Gewinnung von Mustern (dem Wissen) dient.
Diese Muster sollten bestimmte Eigenschaften besitzen, wie Gültigkeit (valid),
11
12
2. Data Mining und das Finden von Informationen
Neuartigkeit (novel), Nützlichkeit (useful) und Verständlichkeit (understandable). Data Mining ist innerhalb dieses Prozesses für das Finden dieser Muster
zuständig. Abbildung 2.1 zeigt die einzelnen Komponenten im KDD Prozess.
Abbildung 2.1: Der KDD-Prozess
Man sieht, dass es einer Anzahl von Stufen bedarf, bis von den Daten ausgehend
der Data Mining Schritt angewendet wird.
Zu Beginn ist es wesentlich, dass der Anwender ein Verständnis für die Domäne
entwickelt und seine Ziele, die er mit KDD erreichen will, gebildet hat. Die zur
Verfügung stehende Datenbasis geht häufig auf ein Data Warehouse zurück und
speichert üblicherweise Daten im Giga– bis Terrabyte Bereich. Daher ist es wichtig, eine Auswahl aus dem verfügbaren Datenbestand zu treffen, die beispielsweise nur bestimmte Datensammlungen betrachtet oder aber nur spezielle Attribute berücksichtigt. Die anschließende Vorverarbeitung dieser Zielmenge dient
der Bereinigung der Daten. Hier muss entschieden werden, wie mit fehlerhaften
oder fehlenden Attributen zu verfahren ist. Die folgende Transformation bereitet die Daten für den Data Mining Algorithmus auf. Dabei können zum Beispiel
unwichtige Attribute gefiltert oder auch mehrere Datensätze zu einem neuen zusammengefasst werden. Die Auswahl des zu verwendenden Data Mining Algorithmus fordert vom Benutzer das meiste Wissen. Die zu findende Musterart muss
genau spezifiziert und der dazu passende Algorithmus ausgewählt werden. Nach
dem Data Mining Lauf werden die entdeckten Muster evaluiert. Unter Umständen
benötigt man hierfür weitere Daten aus der Datenbasis. Am Ende des Prozesses
stehen die Evaluation und Interpretation der gefundenen Muster. Entsprechend
ihrer Domäne kann aus den Resultaten des Data Mining Laufs Wissen gebildet
werden. Dieses Wissen ist das gewünschte Ziel des KDD Prozesses.
Man sollte sich bewußt machen, dass dieser Prozess immer vom Menschen mitbegleitet werden sollte. Die Resultate, welche man mit KDD erzielen kann, hängen
im Wesentlichen davon ab, wie interaktiv der Benutzer in den Prozess eingreifen
kann bzw. wie sich schon vorhandenes Wissen einbringen lässt. Die Möglichkeit,
den Nutzer interaktiv in den Prozess miteinzubeziehen, wird in [KMR+ 94] untersucht (siehe dazu auch Seite 22).
2.2. Verschiedene Data Mining Verfahren
13
2.2 Verschiedene Data Mining Verfahren
Eine Schlüsselstelle des KDD Prozesses ist die Auswahl des passenden Data Mining Verfahrens. Die übergeordneten Aufgaben von Data Mining sind Vorhersage
(prediction) und Beschreibung (description). Da die vielen einzelnen Verfahren
unterschiedliche Arten von Mustern finden, ist es sinnvoll, eine Gruppierung nach
der Art der zu findenden Muster vorzunehmen. Die vorliegende Arbeit hat ihren
Schwerpunkt im Finden von Assoziationsregeln als Musterart. Dennoch soll im
Folgenden ein kurzer Überblick über einige wichtige weitere Gruppen gegeben
werden.
2.2.1 Klassifikation
Die Klassifikation zählt zu den überwachten Lernverfahren und hat ihren Ursprung im Maschinellen Lernen. Klassifikation beschreibt dabei die Aufgabe, eine
ungeordnete Menge von Objekten in vorgegebene Klassen zu unterteilen. Diese
vorgegebenen Klassen beschreiben ein Klassifikationsmodell, welches durch eine
sogenannte Trainingsmenge erstellt wird. Die Klassenzugehörigkeit der Objekte
in der Trainingsmenge ist dabei bekannt. So verweisen die Attribute der einzelnen
Datensätze auf eine bestimmte Klasse. Nachdem das Klassenmodell mit der Trainingsmenge aufgebaut worden ist, kann es mit einer dazu disjunkten Testmenge
validiert werden. Anwendung finden Klassifikationsverfahren beispielsweise in
der medizinischen Diagnose, der Kreditvergabe im Bankwesen oder im Direktmarketing.
Zu den bekanntesten Klassifikationsalgorithmen zählen die Entscheidungsbaum
bildenden Verfahren, wie ID–3 von J. R. Quinlan [Qui86] und dessen Nachfolger
C4.5 [Qui93]. Dieser erweitert die Klassifikationsdomäne von kategorischen auf
nummerische Attribute und zeichnet sich durch spezielle pruning–Mechanismen
zur Vermeidung von übertrainierten Bäumen aus.
Ein weiterer Ansatz stellt die Klassifikation mit Hilfe der ILP (induktive Logikprogrammierung) dar. Als bekanntes Verfahren ist hier FOIL [Mit97] zu nennen,
welches Klassifikationsvorschriften in Form von Regeln lernt.
Neuronale Netze werden ebenfalls zur Klassifikation eingesetzt. Sie können von
realen, diskreten oder auch vektoriellen Attributwerten lernen. Als bekanntester
Algorithmus läßt sich hier BACKPROPAGATION [Mit97] nennen.
14
2. Data Mining und das Finden von Informationen
2.2.2 Clusteranalyse
Unter der Clusteranalyse versteht man die automatische Gruppierung einer ungeordneten Menge von Objekten. Die Clusteranalyse zählt zu den nicht–überwachten Lernverfahren und grenzt sich somit von der Klassifikation ab. Während
sich bei der Klassifikation die Objekte in festen Gruppen (Klassen) befinden, sind
die Clustergruppen vor dem Lauf einer Clusteranalyse unbekannt. Eine Funktion bestimmt dabei die Ähnlichkeit zwischen den einzelnen Objekten und ordnet
diese in gleichen oder verschiedenen Clustern an.
Die Clusteranalyse unterscheidet zwischen zwei Verfahrensweisen: Die klassischen Verfahren (nummerische Taxonomie) beschränken sich darauf, die gegebenen Objekte in Gruppen anzuordnen. Das Conceptual Clustering erweitert die
klassischen Verfahren. Der grundlegende Unterschied besteht in der Beschaffenheit der Ähnlichkeitsfunktion: Die nummerische Taxonomie bestimmt die Ähnlichkeit zweier Objekte durch den Wert einer nummerischen Funktion. Damit
besteht jedoch der Nachteil, dass die resultierenden Gruppierungen für den Anwender nicht mehr oder nur sehr schlecht nachvollziehbar sind. Das Conceptual
Clustering behebt diesen Umstand, indem es bei der Bildung der Gruppen auf
Begriffe achtet, welche die jeweiligen Cluster später charakterisieren können.
Zu den bekannten Conceptual Clustering Verfahren zählen die Algorithmen
COBWEB bzw. COBWEB/2 [Fis90].
2.2.3 Regressionsverfahren
Regressionsverfahren dienen zum Erlernen einer Funktion y = f (x)+, die jedem
Objekt x einen reellen Wert y zuordnet. Mit Hilfe von Punkten x im Objektraum
soll also eine Funktion approximiert werden. Die Funktion f kann dabei aus linearen, aber auch aus nichtlinearen Intervallen bestehen. Die Konstante stellt
einen Fehler dar, der beispielsweise durch verrauschte Daten entstehen kann. Gemeinhin wird = 0 angenommen.
Anwendung finden Regressionsverfahren in der Prognose, wie zum Beispiel bei
der Vorherbestimmung von Aktienkursen oder Geschäftsverläufen. Auch in der
medizinischen Domäne können Regressionsverfahren zur Vorhersage von Symptom/Diagnose Kombinationen genutzt werden.
Als bekanntes Regressionsverfahren ist MARS (Multivariate Adaptive Regression Splines) [Fri91] zu nennen.
2.2. Verschiedene Data Mining Verfahren
15
2.2.4 Assoziationsregeln
Assoziationsregeln beschreiben Zusammenhänge zwischen Attributen. Die vorliegende Arbeit beschäftigt sich in den folgenden Kapiteln eingehend mit dem
Finden von Assoziationsregeln. Kapitel 3 beschreibt die einzelnen Arten von Assoziationsregeln und stellt entsprechende Algorithmen vor. Das Kapitel 7 erläutert
die Problematik, Assoziationsregeln in diagnostischen Domänen zu finden, und
zeigt mögliche Verfahren auf.
2.2.5 Sequentielle Muster
Das Finden von sequentiellen Mustern (sequential patterns) ist eng mit dem Finden von Assoziationsregeln verknüpft. Als zu untersuchende Datenbasis wird hier
eine Menge von Datensequenzen (data sequences) herangezogen. Eine Datensequenz stellt eine Menge zusammengehöriger Transaktionen dar. Jede Transaktion
ist durch einen Zeitstempel gekennzeichnet und beinhaltet eine Menge von Artikeln.
Im Kontext einer medizinischen Domäne wäre eine Datensequenz eine sortierte
Sammlung von Arztbesuchen eines bestimmten Patienten, in welcher beispielsweise Symptome und Diagnosen gespeichert sind. Sequentielle Muster könnten
hier helfen, Symptome und Diagnosen zu finden, die anderen Diagnosen (zeitlich)
vorangehen.
Das in [AS94c] vorgestellte A PRIORI A LL–Verfahren dient zum Finden von sequentiellen Mustern. Die Erweiterung GSP (Generalized Sequentual Patterns)
stellt R. Srikant in seiner Dissertation [Sri96] vor. GSP verfügt über die Möglichkeit, Taxonomien und zeitliche Constraints in den sequentiellen Mustern zu
berücksichtigen. Dabei geht das Verfahren ähnlich zu dem auf Seite 28 besprochenen A PRIORI–Algorithmus vor. Er generiert sukzessive zuerst häufige 1er Sequenzen, dann daraus 2er Sequenzen, usw. Die häufigen k–Sequenzen werden
durch Bildung und anschließende Bewertung dieser Kandidaten ermittelt. Der
Unterschied der Verfahren besteht in der Art der Kandidatengenerierung und der
anschließenden Bewertung der Kandidaten.
2.2.6 Weitere Musterarten
Neben den oben vorgestellten gibt es noch weitere Musterarten: Die Aggregierung
(Summariziation) versucht, kompakte Beschreibungen von Untermengen der Da-
2. Data Mining und das Finden von Informationen
16
ten zu finden. Häufig werden diese Methoden bei der interaktiven Datenanlyse
eingesetzt. Das Entdecken von Veränderungen und Abweichungen (Change and
Derivation Detection) sucht die auffälligsten Veränderungen in den Daten und
wird häufig bei der Datenreinigung (Data Cleaning) genutzt. Der Text Retrievel sucht nach Texten, die einem vorgegebenen Text oder angegebenen Attributen
ähnlich sind. Diese Art von Data Mining wird besonders aufgrund der raschen
Vergrößerung des Internets (WWW, News) und den darin enthaltenen (unstrukturierten) Dokumenten an Bedeutung gewinnen. Eine empfehlenswerten Überblick
über diese und weitere Musterarten gibt [CHY96].
2.3 Stand der Forschung
Obwohl Data Mining und inzwischen auch Assoziationsregeln in der Industrie
als Technologien anerkannt und auch angewendet werden, stellen sich an die
Forschung noch viele Herausforderungen: Momentan bestehen die meisten Data Mining Anwendungen aus isolierten Programmen. Heikki Mannila vertritt in
[Man96] sogar die These, dass Data Mining heute auf dem gleichen Stand ist, wie
es das Data Management in den 1960er Jahren war. Nur das relationale Datenmodell und mächtige Datenbankabfragesprachen (wie SQL) konnten damals einen
spürbaren Fortschritt bringen. Mannila schließt daraus, dass auch Data Mining
ein solches theoretisches Framework benötigt, um der gesamten Forschungsrichtung einen Impuls geben zu können.
Jiawei Han beschreibt in seinem Ausblick [Han97] folgende Punkte, die in den
nächsten Jahren Ziel der Data Mining Forschung sein werden:
Integration in Data Warehouse und OLAP Technologien
Schon heute bestehen in vielen Anwendungsbereichen Data Warehouse Implementierungen, die mit Erfolg eingesetzt werden. Das Gleiche gilt für
zahlreiche OLAP Werkzeuge, die man als Vorstufe zu Data Mining Anwendungen sehen kann. Durch die Integration von Data Mining Verfahren
in bestehende Data Warehouse oder OLAP Installationen würde man die
Nützlichkeit und Mächtigkeit aller Technologien merklich anheben können.
Herausbilden neuer Wissensarten
Es ist denkbar, dass neben den bekannten Wissensarten durchaus weitere Muster entwickelt werden könnten. So könnten beispielsweise neben
Klassifikation, Clusteranalyse oder auch Assoziationsverfahren neue Muster, wie Charakterisierung, Vergleich oder zeitabhängige Muster, entste-
2.3. Stand der Forschung
17
hen. Viele dieser Musterarten sind nicht oder noch nicht ausreichend erforscht.
Entwicklung einer Data Mining Hochsprache
Wie schon zuvor angesprochen, kann die Entwicklung einer Data Mining
Hochsprache merkliche Fortschritte bringen. Eine solche Sprache würde es
Nutzern erlauben, ad-hoc Data Mining Verfahren oder Muster zu beschreiben. Darüber hinaus könnte die interaktive und Muster-gerichtete Suche
effizienter und flexibler umgesetzt werden.
Umgang mit immer komplexeren Daten
Momentan beschränkt sich das Finden von Mustern hauptsächlich auf Domänen, denen relationale oder transaktionelle Daten zu Grunde liegen.
Trotzdem wird in Zukunft das Finden von Mustern auf unstrukturierten oder
halb-strukturierten Daten, wie Hypertext oder Multimedia-Daten, immer interessanter werden.
Hocheffizientes Data Mining
Durch die steigenden Datenmengen werden effizientere Verfahren im Zielpunkt der Forschung stehen. So beschäftigen sich verschiedene Richtungen
mit parallelem [SON95], verteiltem oder auch inkrementellem Data Mining
[CHNW96].
Visualisierung
Nicht nur die richtige und verständliche Visualisierung der gefundenen Muster ist für den Erfolg eines Data Mining Projekts von entscheidender Bedeutung. Schon eine hilfreiche Darstellung der bestehenden Daten mit interaktiven Visualisierungs-Werkzeugen kann die Auswahl einer sinnvollen
Quellmenge bzw. des benötigten Data Mining Verfahrens erheblich vereinfachen.
Anwendungen
Neben den Fragen nach der technischen Realisierung stehen auch Fragen
nach der Verwendung der gefundenen Muster offen: Wie können die gefundenen Muster erfolgreich in die geschäfts– oder entscheidungsfindenden
Bereiche eingebracht werden? Wie integriert man das erarbeitete Wissen in
bestehende Wissensbasen oder Expertensysteme?
18
2. Data Mining und das Finden von Informationen
3
Das Finden von
Assoziationsregeln
Dieses Kapitel schafft die theoretischen Grundlagen, die zum Verständnis von Assoziationsregeln nötig sind. Zunächst werden allgemeingültige Definitionen und
ein generischer Algorithmus zum Finden von Assoziationsregeln beschrieben. In
den folgenden Abschnitten werden Algorithmen zum Finden von boolschen Assoziationsregeln (Seite 23), generalisierten Assoziationsregeln (Seite 36) und quantitativen Assoziationsregeln (Seite 45) vorgestellt.
3.1 Einführung
Das Finden von Assoziationsregeln stützt sich auf eine kleine Anzahl von Begriffen, die nun erläutert werden. Danach wird ein generischer Algorithmus zum
Finden von Assoziationsregeln skizziert und ein einfacher Algorithmus zum Generieren von Assoziationsregeln aus häufigen Artikelmengen präsentiert.
3.1.1 Grundlegende Definitionen
Assoziationsregeln beschreiben Korrelationen zwischen gemeinsam auftretenden
Dingen [Bol96]. ,,Dinge” können in diesem Zusammenhang sehr unterschiedlicher Natur sein: Im Kontext eines Kaufhauses würde es sich um Waren, wie zum
Beispiel ,,Schokolade” oder ,,Brot” handeln. Im Rahmen der medizinischen Diagnose kann man aber auch verschiedene Symptome als ,,Dinge” bezeichnen, die
19
20
3. Das Finden von Assoziationsregeln
gemeinsam mit einer bestimmten Diagnose auftreten.
Formal betrachtet lassen sich Assoziationsregeln wie folgt definieren [AS94a]:
Assoziationsregeln Sei I = fI1; I2; : : :; Im g eine Menge von Attributen, die man
als Artikel (items) bezeichnet. Eine Transaktion T besteht aus einer Menge von
Artikeln, so dass T I gilt. D sei als die Datenbank gegeben, in der alle Transaktionen gespeichert sind. Mit jDj wird die Größe der Datenbank als Anzahl der
Transaktionen definiert. Eine Transaktion T unterstützt (supportet) X , eine Menge einiger Artikel aus I , wenn X T gilt. Eine Assoziationsregel ist dann eine
Implikation der Form X ) Y , wenn X I , Y I und X \ Y = ; gilt.
Eine k-Erweiterung E einer Artikelmenge X 2 I und X = fi1; : : :; in g ist eine
Obermenge von X und E hat folgende Eigenschaft:
E = fi1; : : : ; in; in+1; : : :; in+k g, so dass gilt X \ fin+1; : : :; in+k g = ; und
in+1; : : :; in+k 2 I .
Support und Konfidenz Eine Regel X ) Y hat einen Support (support) von s
Prozent, wenn s Prozent der Transaktionen aus D die Artikel die X [ Y enthalten.
Formal ausgedrückt definiert sich also der Support der Regel X ) Y :
X [ Y ) tgj
support(X ) Y ) = jft 2 D j (jDj
(3.1)
Eine Regel X ) Y besitzt eine Konfidenz (confidence) von c Prozent, wenn c
Prozent der Transaktionen in D, die X enthalten, auch Y enthalten. Die formale
Definition der Konfidenz erschließt sich also wie folgt:
(X ) Y )
confidence(X ) Y ) = jft jf2tD2jD(Xj X[ Y)tgj tgj = support
support(X )
(3.2)
Eine Artikelmenge wird als häufig (frequent, large, strong) bezeichnet, wenn sie
einen vom Benutzer vorgegebenen Supportwert (min support) überschreitet.
3.1.2 Generischer Algorithmus
Das Problem des Findens von Assoziationsregeln lässt sich nun als das Problem
beschreiben, in D alle Implikationen der Form X ) Y zu finden, deren Support
und Konfidenz größer als die vom Benutzer vorgegebenen Schranken sind.
Alle Verfahren folgen dabei der gleichen Struktur, die in Algorithmus 3.1.1 wiedergegeben ist:
3.1. Einführung
21
Algorithmus 3.1.1 Generischer Algorithmus zum Finden von Assoziationsregeln
(1) Finde alle ,,häufigen Artikelmengen” in der Datenbasis D.
(2) Generiere aus diesen Mengen die Regeln,
welche die vorgegebene Konfidenz erfüllen.
(3) Filtere die Regeln nach Interesse des Benutzers.
Die drei Unterpunkte sollen nun näher betrachtet werden:
(1) Finden der häufigen Artikelmengen Die Feststellung der häufigen Artikelmengen bildet den Kern aller Verfahren. Hier treten die wesentlichen Unterschiede zwischen den einzelnen Algorithmen auf. Eine genaue Beschreibung verschiedener Vorgehensweisen folgt in den nächsten Abschnitten.
(2) Generierung der Regeln Nachdem die häufigen Artikelmengen mit Hilfe der
Algorithmen gefunden wurden, können die Regeln gebildet werden. Algorithmus
3.1.2 stellt das ad–hoc Verfahren aus [AS94b] zur Generierung von Regeln vor.
Dabei sei Lk die Menge der häufigen Artikelmengen mit der Größe k .
Algorithmus 3.1.2 Ad–hoc Algorithmus zur Regelgenerierung
forall (Lk , k > 2) f
call genrules(lk , lk );
g
procedure genrules(lk : frequent k –itemset, am : frequent m–itemset)
f
A = f(m , 1)–itemsets am, j am, amg;
forall (am, 2 A) f
conf = support(lk) / support(am, );
if (conf minconf ) f
produceRule(am, ) (lk , am, ));
with confidence = conf and support = support(lk )
if (m , 1 > 1)
genrules(lk , am, );
1
1
1
1
1
g
g
g
1
1
(3) Filtern der Regeln Die Assoziationsregelverfahren generieren meist eine
große Anzahl von Regeln, welche für den Benutzer schwer überschaubar sind.
Folglich ist es angebracht, die Regeln nach ihrem ,,Interessegrad” zu filtern. Dieser Interessegrad kann von sehr unterschiedlicher Natur sein. So bietet es sich
22
3. Das Finden von Assoziationsregeln
beispielsweise an, die Regeln nach ihrem Konfidenzwert zu sortieren. Bei generalisierten bzw. quantitativen Assoziationsregeln kann man Regeln verwerfen,
wenn sie von anderen Regeln bereits mitabgedeckt werden. Der Verlust von
möglicherweise interessantem Detailwissen wird dabei allerdings in Kauf genommen. Eine detaillierte Beschreibung dieser Filtermethoden wird in 3.3.5 und 3.4.5
gegeben.
Ein alternativer Ansatz, die für den Benutzer interessanten Regeln zu finden, wird
in [KMR+ 94] beschrieben: Dort kann der Nutzer mit Hilfe von Templates interessante Regeln umschreiben, welche dann in den bestehenden Regeln gesucht
werden. Nachteilig ist hier jedoch, dass vor der Selektion zunächst alle Regeln erzeugt werden müssen. Eine Filterung schon während der Regelgenerierung wäre
weitaus kosteneffizienter. So untersuchen Srikant et al. in ihrem Aufsatz [SVA97],
inwieweit sich Contraints über die An- oder Abwesenheit von Artikelkombinationen in den Generierungsprozess integrieren lassen.
Die visuelle Unterstützung bei der Filterung der Regeln und dem allgemeinen
Überblick der Ergebnisse hat sich in vielen Data Mining Werkzeugen als sehr
hilfreich herausgestellt. In [KMR+ 94] wird beschrieben, wie man Regeln in Hypergraphen visualisieren kann. Ebenso unterstützen Darstellungen statistischer
Werte (Regelgrößen und –häufigkeiten) den Benutzer beim Finden interessanter
Muster.
3.1.3 Arten von Assoziationsregeln
Es ist sinnvoll, Assoziationsregeln nach den Attributarten, über denen sie erzeugt
werden, zu unterteilen. Regeln, die über boolschen Attributwerten gebildet werden (der Artikel ist in der Transaktion enthalten oder nicht), nennt man boolsche
Assoziationsregeln. Auf verschiedene Verfahren zur Bildung dieser Regeln wird
in Abschnitt 3.2 eingegangen. Oftmals ist es interessant zwischen den einzelnen Artikeln hierarchische Verwandtschaftsbeziehungen zu definieren. Solche
Taxonomien helfen in vielen Fällen bisher unentdeckte Regeln zu finden. Auf
einige Ansätze zur Generierung solcher generalisierten Assoziationsregeln wird
in Abschnitt 3.3 eingegangen. In der Praxis sind die Attributwerte jedoch meist
nicht von boolscher Natur. Regeln über quantitativen oder kategorischen Attributausprägungen bezeichnet man als quantitative Assoziationsregeln. Sie werden in
Abschnitt 3.4 vorgestellt.
3.2. Einfache boolsche Assoziationsregeln
23
3.2 Einfache boolsche Assoziationsregeln
Verfahren für boolsche Assoziationsregeln bilden Regeln über boolschen Attributausprägungen. Es wird also geprüft, ob der jeweilige Artikel in den Transaktionen
enthalten ist oder nicht. Verschiedene Verfahren zum Finden von boolschen Assoziationsregeln beschreiben die folgenden Abschnitte.
3.2.1 AIS
Das AIS–Verfahren wurde erstmals 1993 in [AIS93] vorgestellt und wird als einer
der ersten Algorithmen zum Finden von Assoziationsregeln betrachtet. Algorithmus 3.2.1 zeigt das Grundgerüst des Verfahrens.
Das Verfahren läuft so lange in einer Schleife, bis das frontier set keine Mengen
mehr enthält. Dem frontier set kommt hierbei eine besondere Rolle zu: Während
der Algorithmus die Datenbasis komplett durchläuft, wird jedes Tupel t einzeln
herausgenommen.
Nun wird für jede Menge f aus dem frontier set geprüft, ob sie in t enthalten
ist. Ist dies der Fall, so werden Erweiterungen von f generiert und in die Kandidatenmenge Cf eingefügt. Die Generierung dieser Kandidaten cf wird in einem
gesonderten Abschnitt besprochen. Die Häufigkeit jedes einzelnen Kandidaten
wird gezählt, damit diejenigen, die den min support erreichen, in die Menge L
der häufigen Artikelmengen aufgenommen werden können.
Am Ende eines jeden Durchgangs wird die Entscheidung getroffen, welche dieser Kandidaten in das frontier set des nächsten Durchgangs aufgenommen werden. Die Voraussetzungen, welche zur Bildung des neuen frontier sets zutreffen
müssen, werden später geklärt.
Generierung der Kandidaten cf 2 Cf
Bei der Generierung der Kandidaten geht das Verfahren nach der rekursiven Prozedur Extend vor. Die Sortierung nach Ij vermeidet dabei eine mehrfache Erzeugung derselben Artikelmengen.
Insgesamt werden also alle Artikelkombinationen in die Kandidatenmenge Cf
aufgenommen, die als häufig angenommen werden, so wie auch die rekursiven
Erweiterungen dieser Kandidaten. ,,Nicht häufig” geschätzte Artikelmengen werden zwar aufgenommen, aber nicht weiter expandiert. Sollten sich diese als ,,nicht
häufige” Artikelkombinationen angenommenen Mengen später doch als häufig erweisen, so wird ein weiterer Durchgang durch die Datenbasis nötig sein (dies wird
3. Das Finden von Assoziationsregeln
24
Algorithmus 3.2.1 Das AIS–Verfahren
L = ;; // the frequent itemsets
F = f;g; // the frontier set
while (F 6= ;) f
C = ;; // the candidate set
forall (t 2 D) f
forall (f 2 F ) f
if (f t) f
Cf = candidates that are extensions of f (contained in t)
forall (cf 2 Cf ) f
if (cf 2 C )
cf :count = cf :count + 1;
else f
cf :count = 0;
C = C + cf ;
g
g
g
F = ;;
forall (c 2 C ) f
if ( c:count
jDj > min support)
L = L + c;
if (c should be used as a frontier in the next pass)
F =F +c
g
g
in der Bestimmung des frontier sets näher untersucht).
Eine wichtige Frage stellt die Schätzfunktion dar, mit der man festlegt, ob eine
Artikelkombination als häufig angenommen werden soll.
Agrawal, Imielinsky und Swami benutzen in [AIS93] zur Schätzung die statistische Unabhängigkeitsannahme: Nimmt man an, dass die Menge X + Y eine
Erweiterung des frontier sets X ist und weiterhin Y = I1 ; I2; : : :; IK gegeben ist,
so berechnet sich der erwartete Support s wie folgt:
, c)
s = f (I ) f (I ) : : : f (Ik ) (xjDj
1
2
(3.3)
3.2. Einfache boolsche Assoziationsregeln
25
Prozedur 3.2.1 Extend
procedure Extend(X : itemset, t: tuple)
f
g
let Ij be such that 8Il 2 X; Ij Il
forall (Ik 2 t; Ik > Ij ) f
Add XIk to Cf .
if (XIK ) is expected to be frequent
Extend(XIk , t)
g
f (Ik ) kennzeichnet hier die relative Häufigkeit des Artikels Ik in der Datenbank
D. Die Variable x gibt die absolute Anzahl der Tupel in D an, die X enthalten. In
c ist die relative Tupelzahl enthalten, die im aktuellen Durchgang schon untersucht
wurde und X enthielt (aber noch nicht X + Y ).
,c als den aktuellen Support von X in der verbliebenen Datenbasis
Man kann xjDj
(
)
bezeichnen. Unter der Annahme statistischer Unabhängigkeit folgert man nun,
dass sich der erwartete Support für X + Y aus dem Produkt zwischen dem Support
von X und den einzelnen relativen Häufigkeiten der Artikel aus Y ergibt. X + Y
wird als häufig angenommen, wenn s den min support erreicht.
Bestimmung des frontier sets F
Am Ende eines jeden Laufes wird das frontier set für den nächsten Durchgang
bestimmt. Hier müssen nur diejenigen Mengen in das neue frontier set aufgenommen werden, die zwar als ,,nicht häufig” angenommen wurden, sich aber später
bei der Überprüfung doch als häufig erwiesen.
Dies begründet sich folgendermaßen: Wurde eine Menge X als ,,nicht häufig”
angenommen, wurden auch keine Erweiterungen X + Ik von X gebildet. Folglich
konnte auch keine Erweiterung X + Ik auf Häufigkeit überprüft werden. Trotzdem
können bestimmte Erweiterungen von X auch wieder häufig sein, da sich ja X
als häufig herausgestellt hat. Aus diesem Grund wird X in das frontier set F
eingefügt.
Mengen, die als ,,nicht häufig” angenommen wurden und sich bei der
Überprüfung auch als ,,nicht häufig” erwiesen, müssen nicht weiter untersucht
werden, da Erweiterungen X + Ik einer ,,nicht häufigen” Menge X keinen
größeren Support haben können als X selbst.
Andererseits muss auch keine Menge X eingefügt werden, die im letzten Durchgang als häufig angenommen wurde, da schon X und alle Erweiterungen von
3. Das Finden von Assoziationsregeln
26
X im letzten Durchgang überprüft wurden.
Dies wird durch die Prozedur 3.2.1
(EXTEND) gesichert.
Daher reicht es aus, nur diejenigen Mengen in das frontier set F aufzunehmen,
die zuvor als ,,nicht häufig” angenommen, aber bei der Überprüfung als häufig
erkannt wurden.
Beispiel Ein Beispiel soll die Generierung der Kandidaten und den Schätzprozess
verdeutlichen: Sei die Menge der verfügbaren Items I = fA; B; C; D; E; F g in
alphabetischer Weise sortiert und das frontier set bestehe momentan nur aus der
Artikelmenge F = fAB g. Für ein Tupel t = ABCDF aus der Datenbank werden die folgenden Artikelmengen generiert:
Menge
ABC
ABCD
ABCF
ABD
ABF
Erwartung
häufig
nicht häufig
häufig
nicht häufig
häufig
Aktion
expandiere weiter
nicht weiter expandieren
weitere Expansion nicht möglich
nicht weiter expandieren
weitere Expansion nicht möglich
Die Mengen ABCF und ABF wurden zwar als häufig angenommen, konnten
aber nicht weiter erweitert werden, da sich kein Artikel in t befindet, der größer
als F ist. Die Kombinationen ABCE und ABE wurden nicht untersucht, da der
Artikel E nicht in t enthalten ist. Die Kombination ABCDF (wie auch ABDF )
wurde nicht generiert, da ABCD (ABD) als “nicht häufig” geschätzt wurde. Aus
diesem Grund erzeugte die Expand-Prozedur keine Erweiterungen.
3.2.2 SetM
Das in [HS93] vorgestellte S ET M–Verfahren zeigt den Ansatz, das Finden von
Assoziationsregeln eng mit der Datenbanksprache SQL zu koppeln. So lässt sich
der komplette Algorithmus mit SQL–Befehlen beschreiben. [HS93] präsentiert
daher den Algorithmus auch in SQL. Um eine einheitliche Darstellung in dieser Arbeit zu gewährleisten, wird der das S ET M–Verfahren in Algorithmus 3.2.2
durch Pseudocode notiert.
Im Gegensatz zu AIS trennt S ET M die Generierung der Kandidaten von der
Berechnung des Supports. In jedem Durchgang sucht er pro Transaktion die
häufigen Artikelmengen aus dem vorherigen Durchlauf und generiert daraus die
1–Erweiterungen. Diese werden in Ct gespeichert. Analog dazu werden in C k die
3.2. Einfache boolsche Assoziationsregeln
27
Algorithmus 3.2.2 S ET M
L1 = ffrequent 1-itemsetsg;
L1 = ffrequent 1-itemsets together with the TIDs
in which they appear, sorted on TIDg;
k = 2;
while (Lk,1 6= ;) f
C k = ;;
forall (T 2 D) f
Lt = fl 2 Lk,1 j l:TID = t:TIDg; // frequent (k , 1)-itemsets in T
forall (lt 2 Lt ) f
Ct = 1-extensions of Lt contained in T ; // candidates in T
C k = C k + f< t:TID; c > j c 2 Ctg;
g
g
g
Sort C k on itemsets;
Delete all itemsets c 2 C k for which c:count < min support giving Lk ;
Lk = f< l:itemset; count of l in Lk > j l 2 Lk g; // with previous step
Sort Lk on itemsets;
k = k + 1;
S
Result = k Lk
Kandidaten plus ihrer zugehörigen TID (Transaktionsidentifikation) mitgeführt.
Später wird das Zählen des Supports durch das Sortieren und Zusammenfassen
dieser Struktur ermöglicht.
Offensichtlich liegt der Nachteil dieses Verfahrens in der Größe der Kandidatenmenge C k , da jeder Kandidat aus C k so viele Einträge enthält, wie es Transaktionen mit dieser Artikelmenge gibt. Das Sortieren der Mengen Lk und C k bedeutet
ein weiteres Performanzproblem, da es in jedem Durchgang ausgeführt werden
muss.
Auf der anderen Seite kann S ET M einfach (in SQL) implementiert werden. Auf
diese Weise lässt sich relativ schnell ein Assoziationsregel–Verfahren in SQLDatenbanken implementieren.
3.2.3 Die Apriori–Klasse
Den Algorithmen der A PRIORI–Klasse liegt allen die gleiche Idee zu Grunde, die
erstmals in [AS94a] vorgestellt wurde. Hier sollen zuerst das Orginalverfahren
3. Das Finden von Assoziationsregeln
28
und dann seine Modifikationen beschrieben werden.
3.2.3.1 Apriori
Ähnlich zu S ET M berechnet der A PRIORI–Algorithmus [AS94a] sukzessive die
häufigen Artikelmengen mit 1; 2; 3; : : : n Artikeln.
Algorithmus 3.2.3 A PRIORI
L1 = ffrequent 1-itemsetsg;
k = 2;
while (Lk,1 6= ;) f
Ck = new candidates of size k generated from Lk,1 ;
forall (T 2 D) f
Ct = subset(Ck ; t);
forall (candidates c 2 Ct) f
c.count++;
g
g
g
Lk = all candidates in Ck with minimum support;
k = k + 1;
S
Result = k Lk
Dabei geht das Verfahren nach einem einfachen Schema vor: Zunächst werden
die häufigen Einzelartikel bestimmt. In jedem weiteren k –ten Durchgang werden dann Kandidaten für die k -elementigen häufigen Artikelmengen Lk generiert.
Hierfür dienen die schon berechneten (k , 1)-elementigen häufigen Artikelmengen Lk,1 . Im Anschluss daran wird der Support der Kandidaten in einem kompletten Durchlauf durch D gezählt. Diejenigen Kandidaten, die den min support
erreichen, werden in Lk aufgenommen.
Generierung der Kandidaten
Die Prozedur aprioriGeneration beschreibt die Bildung der Kandidaten im k -ten
Schritt: Wie man sieht, erzeugt die Prozedur aus Lk,1 eine Obermenge von Lk .
Die Korrektheit wird im Folgenden bewiesen.
Beispiel Es seien die häufigen Artikelmengen L3 gegeben: f(Milch Brot Cola)
(Milch Brot Fanta) (Milch Cola Fanta) (Milch Cola Twix) (Brot Cola Fanta)g.
Nach dem Join enthält die Kandidatenmenge C4 die beiden Elemente f(Milch
Brot Cola Fanta) (Milch Cola Fanta Twix)g. Da die Teilmenge (Milch Fanta
Twix) nicht in L3 enthalten ist, wird (Milch Cola Fanta Twix) im Prune-Schritt
3.2. Einfache boolsche Assoziationsregeln
29
Prozedur 3.2.2 aprioriGeneration
procedure aprioriGeneration (Lk,1 )
f
g
// join Lk,1 ./ Lk,1 so that each (k-1)–subset I 0 I is contained in Lk,1
Ck = ffi1; i2; : : :; ik g j 81 j k : fi1; i2; : : :; ik g , ij 2 Lk,1 g
wieder entfernt. Somit bleibt nur (Milch Brot Cola Fanta) in der Kandidatenmenge erhalten.
Korrektheit des Algorithmus
Der A PRIORI–Algorithmus arbeitet korrekt, wenn alle häufigen Itemmengen Lk
berechnet werden. Dies hängt aber unmittelbar davon ab, ob die Berechnung der
Kandidatenmenge richtig erfolgt. Zu zeigen ist also, dass Ck Lk gilt.
Zum Beweis nützt man die Eigenschaft, dass jede Teilmenge einer häufigen Itemmenge wieder eine häufige Itemmenge sein muss. Nun erweitert man jede Itemmenge aus Lk,1 um ein Item. Iteriert man die Expansion dieser Itemmenge für
jedes mögliche Item, so erhält man für jede Itemmenge aus Lk,1 eine Menge
k–elementiger Obermengen. Aus diesen Obermengen können dann diejenigen
Itemmengen gelöscht werden, deren beliebige (k , 1)-Teilmengen nicht in Lk,1
liegen. Die Obermengen-Eigenschaft von Lk bleibt dabei erhalten, da keine Menge gelöscht wird, die in Lk liegen könnte.
Genau diese Vorgehensweise beschreibt der Algorithmus aprioriGeneration: Der
Join-Schritt entspricht der Expansion der Itemmengen um alle weiteren möglichen
Items. Die Bedingung pk,1 < qk,1 sichert lediglich die Vermeidung von redundanten Duplikaten. Das Entfernen der Itemmengen, welche keine (k , 1)elementigen Teilmengen in Lk besitzen, wird im Prune-Schritt beschrieben. Folglich liefert aprioriGeneration eine Obermenge von Lk und es gilt Ck Lk .
3.2.3.2 AprioriTID
Der komplette Datenbankdurchlauf pro Iteration stellt sich im APRIORI–
Verfahren als sehr aufwendig heraus. Um dieses Problem zu umgehen, verwendet A PRIORI TID [AS94a] eine alternative Datenstruktur bei der Berechnung der
häufigen Artikelmengen: Nachdem die Kandidaten wie bei A PRIORI generiert
wurden, benutzt man nun die Menge C k zur Berechnung des Supports. Diese
Menge wird zu Anfang des Algorithmus mit Hilfe eines Datenbankscans aufgebaut und pro Iteration an die Entwicklung angepaßt. Dabei ist C k eine Men-
3. Das Finden von Assoziationsregeln
30
ge mit Tupeln von der Form < TID; fXk g >, so dass jedes einzelne Xk eine
möglicherweise häufige k-Artikelmenge ist, die in der Transaktion mit der Nummer TID enthalten ist.
Beispiel Sei die Datenbank D = f[1: A C D], [2: B C E], [3: A B C E], [4: B
E]g gegeben. Die erste Zahl jedes Eintrags symbolisiert die TID. Der minimale
Support liegt bei 2 Transaktionen. Für k = 1 enthält C 1 also die vollständige
Datenbank D in einer alternativen Speicherstruktur. Mit steigendem k schrumpft
jedoch die Größe von C k . Folglich ist C 1 und C 2 wie in Tabelle 3.1 gegeben. Die
Generierung von C j (j > 2) erfolgt analog.
TID
1
2
3
4
C
1
Einträge
fAg, fCg, fDg
fBg, fCg, fEg
fAg, fBg, fCg, fEg
fBg, fEg
TID
1
2
3
4
C
2
Einträge
fA Cg
fB Cg, fB Eg, fC Eg
fA Bg, fA Cg, fA Eg
fB Cg, fB Eg, fC Eg
fB Eg
Abbildung 3.1: Beispiel für C 1 und C 2
In Algorithmus 3.2.4 ist eine detaillierte Darstellung des Verfahrens gegeben.
3.2.3.3 AprioriHybrid
Während der A PRIORI–Algorithmus durch die Datenbankläufe in jeder Iteration
Performanzschwächen aufweist, benötigt A PRIORI TID in der Anfangsphase extrem viel Arbeitsspeicher. Das A PRIORI H YBIRD–Verfahren [AS94a] kombiniert
nun beide Ansätze mit dem Ziel, die gegenseitigen Schwächen auszugleichen.
Es ist nämlich nicht zwingend erforderlich, denselben Algorithmus für den vollständigen Data Mining Prozess einzusetzen. A PRIORI und A PRIORI TID verwenden die gleiche Prozedur zur Kandidatengenerierung und arbeiten daher mit den
gleichen Artikelmengen. Dies macht es möglich, im Lauf “on-the-fly” zwischen
den beiden Verfahren zu wechseln.
In der Anfangsphase ist es sinnvoll, den speicher–sparsamen A PRIORI zur Generierung der häufigen Artikelmengen Lk einzusetzen. Sobald die Struktur C k aber
in den Arbeitsspeicher paßt, erweist sich ein Umschalten auf den A PRIORI TID
als erfolgversprechend. Am Ende eines jeden Durchlaufs wird mit Formel 3.4
geschätzt, ob C k in den Arbeitsspeicher gepasst hätte.
3.2. Einfache boolsche Assoziationsregeln
31
Algorithmus 3.2.4 A PRIORI TID
L1 = ffrequent 1-itemsetsg;
C 1 = database D;
k = 2;
while (Lk,1 6= ;) f
Ck = new candidates of size k generated from Lk,1;
C k = ;;
forall (T 2 C k,1 ) f
// determine candidate itemsets in Ck contained in
// the transaction with identifier T:TID
Ct = fc 2 Ck j (c , c[k]) 2 t.set-of-itemsets ^
(c , c[k , 1]) 2 t.set-of-itemsetsg;
Increment the count of all candidates in Ct;
if (Ct 6= ;)
C k = C k + < t:TID; Ct >;
g
g
Lk = all candidates in Ck with minimum support;
k = k + 1;
S
Result = k Lk
2
3
X
4
support(c)5 +
c2Ck
number of transactions
(3.4)
Wenn in der aktuellen Iteration weniger häufige Artikelmengen erzeugt wurden
als in der vorherigen und die Menge C k nach dem obigen Schätzwert in den Speicher gepasst hätte, dann wird in den A PRIORI TID gewechselt. Die zusätzliche
Addierung der Transaktionenzahl (number of transactions) soll einen Wechsel
vermeiden, wenn C k im aktuellen Durchlauf in den Speicher gepaßt hätte, aber
C k+1 in der nächsten Iteration nicht.
Es ist allerdings zu beachten, dass der Wechsel zwischen A PRIORI und A PRIO RI TID teuer ist, da hierfür die komplette Datenstruktur C k erzeugt werden muss.
3.2.3.4 OCD
Das OCD–Verfahren [MTV94] entstand relativ gleichzeitig mit dem APRIORI–
Algorithmus und beschreibt grundsätzlich die gleiche Vorgehensweise. OCD eli-
3. Das Finden von Assoziationsregeln
32
miniert ebenfalls unmögliche Kandidaten vor dem Datenbankdurchlauf, die apriori nicht häufig sein können.
Der Unterschied liegt im Wesentlichen in den Feinheiten der Kandidatengenerierung: So definieren sich die (k+1)–Artikelmengen, welche als Kandidaten in
Frage kommen, wie folgt:
Ck
+1
=
fX I j jX j = k + 1 ^ X includes s + 1 members of Lk g
(3.5)
Da hier zu viele Artikelmengen generiert werden, bieten die Autoren in [MTV94]
eine kleinere Kandidatenmenge Ck0 +1 an:
Ck0
+1
=
fX [ X 0 j X; X 0 2 Lk ^ jX \ X 0 j = k , 1g
(3.6)
Es wird also eine Obermenge von Kandidaten zu der oben vorgestellten A PRIORI–
Kandidatengenerierung erzeugt.
Beipiel Sei L3 = fABC; ABD; ACD; ACE; BCDg gegeben. A PRIORI würde
nur C4 = fABCDg als Kandidaten erzeugen, während OCD die Kandidatenmenge C40 = fABCD; ABCE; ACDE g generieren würde.
Als eine Optimierung ihres Verfahrens schlagen Mannila et al. in [MTV94] vor,
Kandidaten verschiedener Größen zusammen zu generieren und diese dann gemeinsam in einem einzigen Datenbankdurchlauf zu überprüfen. So wird die zeitintensive Anzahl der Datenbankdurchläufe minimiert. Bei der Generierung der
Kandidaten verfolgt OCD dabei einen weiteren Ansatz:
Es sei die häufige Artikelmenge Fs gegeben. Anstelle jede Kandidatengruppe
+j einzeln aus der vorherigen Kandidatengruppe Cs+j ,1 zu generieren, werden alle Mengen Cs0 +1 ; : : :; Cs0 +c gleichzeitig aus Vereinigungen von Cs –Paaren
berechnet. Die Kandidatenmenge Cs+j berechnet sich aus Cs0 +j , indem für je des X 2 Cs0 +j getestet wird, ob es genau s+s j Mengen aus Ls enthält. Diese
Methode wird von den Autoren [MTV94] als c-extension bezeichnet.
Cs
Beispiel Sei L2 = fAB; AC; BC; AD; BD; CD; AE; FG; BGg als häufige 2er–
Artikelmenge
gegeben. Es lässt sich nun leicht errechnen, dass L5 = ; sein muss,
5
da 2 = 10 und damit größer als jL2 j = 9 ist. Damit lassen sich keine Kandidaten
für L5 generieren, da jedes X 2 C5 in 10 Artikelmengen von L2 enthalten sein
müsste.
Es ist leicht ersichtlich, dass diese Methode für kleine Kandidatengruppen sehr
vorteilhaft ist, da durch die Zusammenfassung Datenbankdurchläufe eingespart
werden können.
3.2. Einfache boolsche Assoziationsregeln
33
3.2.4 Partition
Das PARTITION –Verfahren [SON95] verfolgt den Ansatz, die Anzahl der kompletten Datenbankdurchläufe zu minimieren. So kann es garantieren, dass zum
Finden aller häufigen Artikelmengen nicht mehr als zwei vollständige Datenbankscans nötig sind. Dabei teilt sich der Algorithmus in zwei Phasen auf:
1. Phase In der ersten Phase wird die gesamte Datenbasis D in etwa gleich große
logische Partitionen aufgeteilt. Diese Partitionen dürfen sich nicht überlappen und
beinhalten Transaktionen aus D. Auf diese Weise wird D komplett durch die Partitionen abgedeckt. Nun werden für jede einzelne Partition die dafür häufigen Artikelmengen generiert. Die im Kontext dieser Partition häufigen Artikelmengen
werden als lokal häufige Artikelmengen bezeichnet. Am Ende der ersten Phase
werden die lokal häufigen Artikelmengen aller Partitionen miteinander vermischt.
Die daraus resultierende Gesamtmenge markiert die Kandidaten für den Berechnungslauf in der zweiten Phase.
2. Phase Mit den in der ersten Phase gewonnenen Kandidaten kann die zweite
Phase begonnen werden. Ein weiterer Datenbankdurchlauf klärt, welche der Kandidaten den min support erreichen und welche nicht. Im Kontext der gesamten
Datenbank spricht man dann von global häufigen Artikelmengen. Die grundlegende Idee dieses Verfahrens besteht also darin, dass jede global häufige Artikelmenge in mindestens einer Partition lokal häufig sein muss.
Prozedur 3.2.3 generateCount(C G: globalCandidateSet, p: databasePartition)
procedure generateCount(C G: globalCandidateSet, p: databasePartition)
f
g
forall (1-itemsets)
generate the TID-list
for (k = 2; CkG 6= ;; k ++) f
forall (k -itemset c 2 CkG ) f
templist = c[1]:tidlist \ c[2]:tidlist \
c:count = c:count + jtemplistj;
g
: : : c[k]:tidlist;
g
Wahl der Partitionsgröße
Von entscheidender Bedeutung ist die richtige Wahl der Partitionsgröße. Arbeitet man mit großen Partitionen, so verringern sich die Datenbankzugriffe und der
Mischaufwand in der 1. Phase. Allerdings ist mit einem vermehrten Swap-Zugriff
3. Das Finden von Assoziationsregeln
34
zu rechnen, wenn die Partition nicht mehr in den Arbeitsspeicher passt. Zu kleine
Partitionen erhöhen aber wieder unötig den Zugriff auf die Datenbank. Folglich
sollte der Umfang einer Partition gerade so groß gewählt werden, dass sie komplett im Arbeitsspeicher untergebracht werden kann.
Algorithmus 3.2.5 PARTITION
P = partition the Database(D);
n = number of partitions;
// Phase 1
for (i = 1; i n; i++) f
readPartition(pi 2 P );
Li = generateFrequentItemsets(pi);
g
// now merge
for (i = 2; Li 6= ;; j = 1; 2; : : : ; n; i++)
CiG = Sj=1;2;:::;n Lji ;
// Phase 2
for (i = 1; i n; i++) f
readPartition(pi 2 P );
forall (candidates c 2 C G )
generateCount(c; pi);
g
g
Result = fc 2 C G jc:count min
supportg;
Die globale Kandidatenmenge
Vor Eintritt in die 2. Phase wird eine globale Kandidatenmenge durch das Mischen der lokal häufigen Artikelmengen erzeugt. Die Größe dieser Menge ist sehr
wichtig für die Effizienz des Algorithmus, da sie vollständig während der 2. Phase
benötigt wird. Dennoch lassen sich keine genauen Aussagen treffen. Die jeweiligen Charakteristika der Daten und der benutzerdefinierte Support haben nämlich
einen großen Einfluss auf die Generierung. Als obere Schranke lässt sich jedoch
Gleichung 3.7 angeben.
Die Anzahl der Partitionen ist hier mit n gegeben und jcj als die Anzahl der Elemente in der Artikelmenge c. Versuche in [SON95] haben jedoch gezeigt, dass
die resultierende Kandidatenmenge erheblich kleiner ausfällt.
j globalCandidates j n maxfjcj j c 2 localCandidatesg
(3.7)
3.2. Einfache boolsche Assoziationsregeln
35
Die verwendeten Notationen sind wie folgt zu verstehen: CiG sind die Kandidaten
für die global häufigen i–Artikelmengen. Lji sind die lokal häufigen Artikelmengen in der Partition pj und C G ist die Menge der globalen Kandidaten.
Die Prozedur generateFrequentItemsets(pi ) erzeugt die lokal häufigen Artikelmengen. Hierfür kann ein beliebiger Algorithmus, wie zum Beispiel A PRIORI
benutzt werden.
3. Das Finden von Assoziationsregeln
36
3.3 Generalisierte Assoziationsregeln
Oftmals lassen sich Artikel logisch gruppieren oder auch Beziehungen zwischen
einzelnen Artikeln definieren. Die Verwendung von Taxonomien kann zu wesentlich interessanteren Ergebnissen führen.
3.3.1 Einführung
Eine Taxonomie kennzeichnet eine ist–ein–Beziehung zwischen zwei Artikeln.
Abbildung 3.2 zeigt den Ausschnitt einer Taxonomie im Kontext eines Kaufhauses. Hier gilt beispielsweise: H–Milch ist–eine Milch oder Brot ist–ein Lebensmittel.
Lebensmittel
Milch
H-Milch
Brot
Vollmilch
Weißbrot
Vollkornbrot
Elektronik
Computer
Apple Mac
HiFi
PC
CD-Player
Receiver
Abbildung 3.2: Beispiele für Kaufhaus-Taxonomien
In der realen Welt ist meist eine Vielzahl von Taxonomien zwischen Artikeln gegeben. So können Taxonomien über Preiskategorien (billig, teuer, Sonderangebote, : : :) oder auch Warengruppen (Lebensmittel, Kleidung, : : :) gebildet werden. Multiple Taxonomien werden in der Regel als gerichtete, azyklische Graphen
(DAG) modelliert.
Selbstverständlich bedeutet die Erstellung solcher Strukturen einen Mehraufwand
3.3. Generalisierte Assoziationsregeln
37
für den Benutzer, der diese Beziehungen zuerst manuell definieren muss. Trotzdem kann die Einbeziehung von Taxonomien in den Data Mining Prozess vorteilhaft sein:
Bei einer großen Anzahl von Artikeln können viele Artikel den min support
nicht mehr erreichen, wenn es zu wenig Transaktionen gibt, die diese unterstützen. Dies wäre aber sehr wohl möglich, wenn man die vorhandenen
Artikel hierarchisch gruppieren würde.
Beispiel: [H–Milch ) Weißbrot] erreicht den min support nicht mehr, aber
[Milch ) Weißbrot], da [Vollmilch ) Weißbrot] ausreichend häufig vorhanden ist.
Taxonomien können auf einfache Weise zum Filtern von redundanten und
uninteressanten Regeln benutzt werden. Auf die Filterung wird in Abschnitt
3.3.5 eingegangen werden.
Definition
Sei I = fi1; i2 ; : : :; im g eine Menge von Literalen, auch Artikel (items) genannt.
Sei weiter T ein gerichteter azyklischer Graph auf diesen Literalen. Eine Kante
in T repräsentiert eine ist-ein–Beziehung, so dass T die Menge der Taxonomien
repräsentiert. Gibt es in T eine Kante von p nach c, so nennt man p den Vater
(parent) von c und c ein Kind (child) von p. Weiter nennt man x^ einen Vorfahren
(ancestor) von x, wenn es einen Pfad von x^ nach x gibt. x^ ist ein direkter Vorfahre
(close ancestor) von x, wenn es keinen weiteren Artikel y gibt, so dass gilt: y ist
Vorfahre von x und x^ ist Vorfahre von y . Vorfahren haben generell die gleiche
Anzahl von Artikeln wie ihre Kinder.
Sei D die Menge der zu untersuchenden Transaktionen T (T I ). Eine Transaktion supportet einen Artikel x 2 I , wenn x in T enthalten ist oder ein Vorfahre
von x. Folglich supportet T eine Artikelmenge X I , wenn T jeden Artikel aus
x supportet.
Eine generalisierte Assoziationsregel (generalized association rule) ist eine Implikation der Form X ) Y (X I , Y I , X \ Y = ;), so dass kein Artikel
aus Y ein Vorfahre eines Artikel aus X ist.
Anmerkungen zu Support und Konfidenz
Wenn eine Menge fx; y g den minimalen Support erreicht, dann wird ersichtlicherweise auch der min support von fx; y^g; fx
^; y g und fx
^; y^g gehalten. Andererseits gilt dies nicht generell für die Konfidenz: Erreicht eine Regel X ) Y den
min support und die min conf, so kann man weiter die minimale Konfidenz nur
für X ) Y^ garantieren.
38
3. Das Finden von Assoziationsregeln
Ebenso ist es wichtig anzumerken, dass sich der Support eines Artikels nicht aus
der Summe seiner Kinder berechnen lässt. Mehrere Kindartikel können in einer einzelnen Transaktion enthalten sein und so den Support für den Vaterartikel
beeinflussen. Aus diesem Grund ist es auch nicht möglich, den Support in den
oberen Hierarchieebenen aus dem Support der Artikel in den Blättern zu berechnen.
Die Abschnitte 3.3.2, 3.3.3 und 3.3.4 stellen Verfahren zur Berechnung häufiger
Artikelmengen über Taxonomien vor. Aus diesen Mengen können dann, analog zu
den einfachen Assoziationsregeln, die Regeln generiert werden. Durch die mannigfaltigen Verwandtschaftsbeziehungen werden viele redundante und uninteressante Regeln generiert. Abschnitt 3.3.5 zeigt, wie man mit Hilfe von Taxonomien
uninteressante Regeln filtern kann.
3.3.2 Basic
Die zentrale Fragestellung beim Finden von häufigen Artikelmengen ist, ob eine
Transaktion einen Artikel supportet oder nicht. Um die Existenz von Taxonomien
erweitert, ergibt sich nun die Frage, ob eine Transaktion einen Artikel oder einen
Vorfahren des Artikels supportet.
Folglich liegt es nahe, jede Transaktion T um die Vorfahren der Artikel in T zu
erweitern. Dann lässt sich, leicht verändert, der bekannte A PRIORI–Algorithmus
zum Finden von generalisierten Assoziationsregeln verwenden. Dies ist der Ansatz des BASIC-Verfahrens [SA95] in Algorithmus 3.3.1.
Algorithmus 3.3.1 BASIC
L1 = frequent 1-itemsets; // includes items at any level
k = 2;
while (Lk,1 6= ;) f
Ck = new candidates of size k generated from Lk,1;
forall (T 2 D) f
Add all ancestors of each item in T to T , removing duplicates;
Increment the count of all candidates in Ck that are contained in T ;
g
g
Lk = all candidates in Ck with minimum support;
k = k + 1;
S
Result = k Lk ;
Zu Beginn werden die häufigen 1-Artikelmengen berechnet. Zu beachten ist, dass
3.3. Generalisierte Assoziationsregeln
39
diese Artikel aus jeder beliebigen Hierarchiestufe stammen können.
Danach folgt BASIC der Grundstruktur des A PRIORI–Verfahrens: Iterativ werden
zuerst die Kandidaten aus den häufigen Artikelmengen des vorherigen Durchgangs berechnet. Zur Bestimmung, welche Kandidaten wirklich häufig sind, wird
danach jede Transaktion der Datenbank, erweitert durch die Vorfahren, durchlaufen. Sobald keine häufigen Artikelmengen mehr gefunden werden können, bricht
der Algorithmus ab.
3.3.3 Cumulate
Das C UMULATE–Verfahren [SA95] entsteht im Wesentlichen aus am BASIC–Algorithmus, nimmt jedoch einige Optimierungen vor.
1. Filtern der Vorfahren: Der Transaktion werden nur bestimmte Vorfahren
der Artikel zugefügt. So müssen nur Vorfahren in die Transaktion eingefügt
werden, die in mindestens einer Kandidatenmenge enthalten sind.
Darüber hinaus ist es nicht nötig, die ursprünglichen Artikel in einer Transaktion zu behalten, wenn sie nicht in der Kandidatenmenge enthalten sind.
Beispiel: Sei eine Taxonomie wie in Abbildung 3.2 gegeben und fMilch,
Weißbrotg die einzige zu überprüfende Kandidatenmenge. Nun kann man
im Taxonomiebaum die Artikel H–Milch und Vollmilch durch den übergeordneten Artikel Milch austauschen. Folglich wird den Transaktionen nur
noch Milch hinzugefügt. Die Artikel Vollmilch und H–Milch würden aus
den Transaktionen entfernt werden.
2. Vorberechnung der Vorfahren: Anstatt jedesmal den Taxonomiegraphen
zu durchwandern, können zur Ermittlung der Vorfahren auch im Voraus berechnete Tabellen benutzt werden. In diesen Tabellen stehen nur Vorfahren,
die auch benötigt werden (siehe Optimierung 1).
3. Wegstreichen von Mengen, die einen Artikel und seinen Vorfahren enthalten: Die beiden folgenden Lemmas zeigen die Korrektheit dieser Optimierung:
Lemma 1 Der Support für eine Artikelmenge X , die sowohl den Artikel x
als auch seinen Vorfahren x^ enthält, ist der gleiche wie der Support für die
Artikelmenge X , fx^g.
3. Das Finden von Assoziationsregeln
40
Beweis Es ist leicht ersichtlich, dass jede Transaktion, die X supportet,
auch X , x
^ unterstützt, da X , x
^ X ist. Nach Definition supportet jede
Transaktion, die x unterstützt, auch x^. Folglich supportet jede Transaktion,
die X , x^ unterstützt, auch X .
Lemma 2 Wenn Lk , eine Menge von häufigen k –Artikelmengen, keine
Menge enthält, die sowohl den Artikel, wie auch seinen Vorfahren enthält,
dann wird die Kandidatengenerierung (siehe Seite 29) keine Menge produzieren, die sowohl den Artikel als auch den Vorfahren beinhaltet.
Beweis Man nehme an, dass die Prozedur zur Kandidatengenerierung doch
einen Kandidaten X erzeugt, der sowohl x als auch seinen Vorfahren x^
enthält. Sei X 0 eine Teilmenge von X mit k Artikeln, die x und x^ enthält.
Da X 0 nicht im Prune–Vorgang der Kandidatengenerierung entfernt worden
ist, muss X 0 in Lk enthalten sein. Dies ist aber ein Widerspruch zu der
Behauptung, dass keine Artikelmenge in Lk sowohl x als auch x^ enthält.
Das erste Lemma zeigt, dass keine Mengen gezählt werden müssen, die
den Artikel und seinen Vorfahren zusammen enthalten. Diese Erkenntnis
wird im Algorithmus beim Löschen aller 2er Mengen, die Artikel und Vorfahre beeinhalten, verwendet. Im zweiten Lemma wird gezeigt, wie dieser Schritt das Generieren von Kandidatenmengen mit Artikel–Vorfahren–
Kombination im weiteren Iterationslauf des Algorithmus verhindert. Die
Folge ist offensichtlich eine Reduktion der Kandidatenanzahl, ohne die
Vollständigkeit zu verlieren.
Die oben genannten Optimierungen sind im Algorithmus 3.3.2 mit Kommentaren
gekennzeichnet.
3.3.4 EstMerge
Der EST M ERGE –Algorithmus [SA95] basiert auf dem vorgestellten CUMULATE –
Verfahren, weist jedoch wesentliche Optimierungen auf. Folgende Überlegungen
sollen diese Optimierungen motivieren:
Stratifizierung
Man nehme eine Taxonomie wie in Abbildung 3.2 an. Es sei also Lebensmittel
ein Vater von Milch und Milch wiederum ein direkter Vorfahre von Vollmilch. Errechnet man nun, dass fLebensmittel, Computerg den min support nicht erreicht,
dann kann man daraus schließen, dass fMilch, Computerg oder fVollmilch, Computerg den min support ebenfalls nicht erfüllen können. Aus diesem Grund ist es
3.3. Generalisierte Assoziationsregeln
Algorithmus 3.3.2 C UMULATE
Compute T , the set of ancestors of each item, from T ;
L1 = ffrequent 1-itemsetsg;
k = 2;
while (Lk,1 6= ;) f
Ck = new candidates of size k generated from Lk,1;
if (k = 2) f
Delete any candidates in C2 that consists of
an item and its ancestor;
// Opt. 3
41
// Opt. 2
g
Delete all items in T that are not present in any
of the candidates in Ck ;
// Opt. 1
forall (T 2 D) f
forall (x 2 T )
Add all ancestors of x in T to T ;
Remove any duplicates from T ;
Increment the count of all candidates in Ck that are contained in T ;
g
g
Lk = all candidates in Ck with minimum support;
k = k + 1;
S
Result = k Lk ;
geschickt, zunächst die Supportberechnung in höheren Hierarchien durchzuführen
und die Erkenntnisse über den Support in die tieferen Ebenen zu propagieren.
Eine Ad–hoc–Implementierung dieser stratifizierenden Vorgehensweise würde also zuerst im Taxonomiegraphen die Artikel der Tiefe 0 (Artikel ohne Vorfahren)
berechnen. Die Nachfahren derjenigen Artikel, die keinen minimalen Support
besitzen, würde man dann entfernen, da sie den minsupport ebenfalls nicht erreichen können. Iterativ müsste der Algorithmus nun die Artikel der Tiefe 1; 2; : : :
in gleicher Weise betrachten. Um die Datenbankzugriffe zu minimieren, könnte
man Artikel mehrerer Hierarchiestufen zusammenfassen und in einem Durchgang
berechnen. Srikant und Agrawal beschreiben diese Implementierung in dem Algorithmus S TRATIFY [SA95].
Schätzen des Support
Eine weitere Idee zur Optimierung der Artikelmengenberechnung stellt das Schätzen der Kandidaten dar. Mit Hilfe einer Beispielmenge DS D wird geschätzt,
ob die Kandidaten im aktuellen Durchgang den Support erreichen. Die als häufig
geschätzten Artikelmengen werden ebenso gezählt wie diejenigen Mengen Ck0 , die
3. Das Finden von Assoziationsregeln
42
zwar nicht als häufig geschätzt wurden, aber deren Eltern häufig sind. Allerdings
schließt man die Nachfahren der Mengen aus Ck0 von der Supportberechnung aus.
Sollten sich später einige Mengen aus Ck0 doch als häufig herausstellen, so werden
die Nachfahren dieser Mengen in Ck00 gesammelt und in einem extra Durchgang
überprüft. Dadurch bleibt die Vollständigkeit erhalten.
Beispiel Es sei die Taxonomie wie in Abbildung 3.2 gegeben und der minimale
Support liege bei 6%. Die Tabelle in Abbildung 3.3 zeigt den Support einiger
Kandidaten.
Support aus DS
Kandidaten
fLebensmittel, Computerg
fBrot, Computerg
fWeißbrot, Computerg
8%
5%
1%
wirklicher Support aus D
Szenario A Szenario B
7%
9%
5%
8%
Abbildung 3.3: Beispiele Supportschätzung
Man kann erkennen, dass nur die Artikelmenge fLebensmittel, Computerg als
häufig geschätzt wird. Trotzdem muss zusätzlich noch fBrot, Computerg in
die Kandidatenmenge aufgenommen werden, da zu diesem Zeitpunkt nicht sicher ist, ob fLebensmittel, Computerg häufig ist (Brot ist direkter Nachfahre
von Lebensmittel). In Szenario A erweist sich zwar fLebensmittel, Computerg
als häufig, aber fBrot, Computerg nicht. Daher muss fWeißbrot, Computerg
nicht in einem extra Durchlauf berechnet werden, wie es in Szenario B der Fall
wäre. Hier erreicht fBrot, Computerg nämlich den minimalen Support; folglich
wird fWeißbrot, Computer g der Menge Ck00 zugefügt und im extra Durchgang
berücksichtigt.
Anstelle die Kandidaten aus Ck00 in einem separaten Durchgang zu zählen, ist es
sinnvoller, diese mit den Kandidaten Ck+1 im nächsten Iterationsschritt zu untersuchen. Da man dann allerdings noch nicht weiß, welche Artikelmengen aus Ck00
häufig sind (diese werden nämlich bei der Generierung von Ck+1 benötigt), nimmt
man zur Erzeugung von Ck+1 einfach alle Mengen aus Ck00 als häufig an.
Die Zusammenführung der oben genannten Optimierungen wird im Verfahren
EST M ERGE (Algorithmus 3.3.3) dargestellt. Die Modifikationen in C UMULA TE können hier ebenfalls eingesetzt werden, auch wenn sie aufgrund der Übersichtlichkeit weggelassen wurden.
3.3. Generalisierte Assoziationsregeln
43
Algorithmus 3.3.3 EST M ERGE
L1 = ffrequent 1-itemsetsg;
Generate DS , a sample of the database, in the first pass;
k = 2;
C100 = ;;
while (Lk,1 6= ; or Ck00,1 6= ;) f
Ck = new candidates of size k generated from Lk,1 [ Ck00,1;
Estimate the support of the candidates in Ck by making a pass over DS ;
Ck0 = candidates in Ck that are expected to have min support and
candidates all of whose parents are expected to have min support;
Find the support of the candidates in Ck0 [ Ck00,1 by making a pass over D;
Delete all candidates in Ck whose ancestors (in Ck0 ) do not have min support;
Ck00 = remaining candidates i Ck that are not in Ck0 ;
Lk = all candidates in Ck0 with min support;
Add all candidates in Ck00,1 with min support to Lk,1
k = k + 1;
g
S
Result = k Lk ;
3.3.5 Filtern der interessanten Regeln
Die generierten Regeln können nach einem in [SA96] vorgestellten Interessemaß
eingeteilt und somit gefiltert werden. Die Vorgehensweise soll mit Hilfe eines
kleinen Beispiels eingeführt werden:
Beispiel Es sei die Regel Lebensmittel ) Computer (Support 8%, Konfidenz
70%) gegeben. Nach dem Taxonomiegraphen in Abbildung 3.2 ist Lebensmittel
Vater von Brot. Nimmt man an, dass Brot etwa 1=4 des gesamten Lebensmittelverkaufs ausmacht, so würde man erwarten, dass die Regel Brot ) Computer
2% Support und 70% Konfidenz innehält. Wenn also die Werte des Supports
und der Konfidenz nahe bei diesen Werten liegen, so kann die Regel Brot )
Computer als uninteressant betrachtet werden.
Im Weiteren wird eine formale Definition des Interessemaßes gegeben, mit dessen
Hilfe der Benutzer Regeln filtern kann. Ein einzustellender Parameter R steuert
dabei die Stärke der zu filternden Regeln.
Erwarteter Support
Sei die Regel X ) Y und Z = X [ Y gegeben. Sei mit EZ^ [Pr(Z )] der erwartete
Support von Z definiert, wenn der Support Pr(Z^ ) des Vorfahrens Z^ bekannt ist.
Weiter sei Z = fz1; : : : ; zn g und
3. Das Finden von Assoziationsregeln
44
g f
j n, so dass z^i ein Vorfahre von zi ist.
= z^1 ; : : :; z^j ; z^j +1 ; : : :; z^n , 1
Dann definiert sich der erwartete Support von Z bzgl. des bekannten Supports
von Z^ wie folgt:
Z^
(z )
Pr(zj ) Pr(Z^)
EZ [Pr(Z )] = Pr
:
:
:
Pr(^z )
Pr(^z )
^
1
j
1
(3.8)
Erwartete Konfidenz
Zum erwarteten Support kann analog die erwartete Konfidenz EX^ )Y^ [Pr(Y jX )]
der Regel X ) Y definiert werden. Sei Y = fy1 ; : : :; yn g und
Y^ = fy^1; : : : ; y^j ; yj+1; : : :; yng, 1 j n, so dass y^i ein Vorfahre von yi ist.
Dann definiert sich die erwartete Konfidenz von X ) Y bzgl. der bekannten
^ ) Y^ wie folgt:
Regel X
(y )
Pr(yj ) Pr(Y^ jX^ )
EX )Y [Pr(Y jX )] = Pr
:
:
:
Pr(^y )
Pr(^y )
^
^
1
1
j
(3.9)
^ ) gilt.
Man sollte beachten, dass EX^ )Y [Pr(Y jX )] = Pr(Y jX
Nun kann man eine Regel X ) Y als R-interessant bzgl. ihres Vorfahrens
X^ ) Y^ nennen, wenn entweder der Support von X ) Y das R-fache des erwar^ ) Y^ ist, oder die Konfidenz das R-fache der erwarteten
teten Supports bzgl. X
^ ) Y^ beträgt.
Konfidenz bzgl. X
Interessante Regel
Sei eine Menge S von Regeln und ein Minimalinteresse R gegeben. Eine Regel
X ) Y ist interessant (in S ), wenn sie keine Vorfahren in S besitzt oder sie
R–interessant bzgl. ihrer direkten Vorfahren ist. Die Regel X ) Y ist teilweise
interessant (in S ), wenn sie keine Vorfahren in S besitzt oder sie R–interessant
bzgl. mindestens eines direkten Vorfahrens ist.
3.4. Quantitative Assoziationsregeln
45
3.4 Quantitative Assoziationsregeln
Die bisher besprochenen Verfahren beschreiben das Finden von Assoziationsregeln mit boolscher Aussagekraft. Es wird also geprüft, ob ein Artikel in einer
Transaktion vorhanden ist oder nicht.
In der Realität werden allerdings viel häufiger quantitative oder kategorische Aussagen über Artikel getroffen und sie sind daher sehr wichtig für die Bildung von
Assoziationsregeln. Im Kontext eines Kaufhauses wäre eine solche quantitative
Assoziationsregel: ,,Wer 3 mal Artikel A kauft, erwirbt mit 90% Wahrscheinlichkeit 2 mal Artikel B .” Im Rahmen einer medizinischen Diagnosedatenbank
könnte eine quantitative Assoziationsregel so aussehen: ,,Der Patient hat sehr
starken Husten und Laborwert A-20, dann ist er mit 96% Wahrscheinlichkeit ein
starker Raucher.”
3.4.1 Problemstellung
Das Gebiet der quantitativen Assoziationsregeln ist noch relativ neu und daher
gibt es nur wenige Literaturstellen, die sich mit dem Finden solcher Regeln beschäftigen. Das von Srikant und Agrawal [SA96] vorgestellte Verfahren soll hier
ausführlich diskutiert werden:
Da das Problem der boolschen Assoziationsregeln schon sehr gut untersucht wurde, ist es zunächst interessant, inwieweit das Finden von quantitativen Assoziationsregeln auf das Finden von boolschen Assoziationsregeln abgebildet werden
kann: Der einfachste Weg wäre, für jeden Artikel i die möglichen Ausprägungen
zu untersuchen und für jede Ausprägung einen neuen Artikel ik zu generieren. Ein Artikel i mit 10 verschiedenen Ausprägungen würde also die Menge
i0 = fi1; : : :; i10g erzeugen. Für Artikelgruppen mit sehr vielen (oder kontinuierlichen und damit unendlich vielen) Ausprägungen schlägt diese Methode aber
offensichtlich fehl. Hier bietet es sich an, Intervalle über eine Menge von zusammenhängenden Werten zu bilden und mit diesen Intervallen die neuen Artikel zu
generieren.
Das catch–22 Problem
Die Wahl der Intervallgrenzen ist kein triviales Problem. Srikant et al. [SA96] beschreiben den Trade–Off zwischen großen und kleinen Intervallen als das catch–
22 Problem:
1. Zu geringer Support: Teilt man den Wertebereich der einzelnen Attribute
46
3. Das Finden von Assoziationsregeln
in zu viele Intervalle auf, so finden sich zu wenige Transaktionen, die diese
einzelnen Intervallbereiche unterstützen. Viele Bereiche erreichen somit
nicht mehr den minimalen Support.
2. Zu geringe Konfidenz: Als Reaktion auf den Supportverlust könnte man
die Intervallbereiche größer wählen. Werden aber zu große Wertebereiche
in Intervallen vereint, so erreichen einige Regeln die minimale Konfidenz
nicht mehr. Diese Erkenntnis ergibt sich aus der Definition der Konfidenz.
Zusammenfassend lässt sich das catch–22 Problem also folgendermaßen beschreiben: Sind die Intervalle zu klein, so erreichen einige Regeln den min support
nicht; werden die Intervalle zu groß, so ist die Konfidenz für einige Regeln zu
klein.
Eine mögliche Lösung des Problems wäre die Aufspaltung der einzelnen Wertebereiche in möglichst viele denkbare Intervalle, in der Weise, dass sich einige Intervalle auch überlappen. Wenn man also beispielsweise die Intervalle [1..10], [11..20], [21..30] betrachten würde, könnte man auch die Intervalle
[1..20], [11..30] oder [1..30] miteinbeziehen. In dieser Hinsicht ließen sich die
Probleme des zu geringen Supports und Konfidenz umgehen. Allerdings entstehen durch die Bildung der vielen (redundanten) Intervalle zwei neue Probleme:
1. Ausführungszeit: Hat ein Wert n verschiedene Wertausprägungen, so gibt
es durchschnittlich O(n2 ) mögliche Intervallbereiche. Daraus folgt, dass
durch den rapiden Anstieg der Intervallanzahl auch die Ausführungszeit
drastisch steigt.
2. Zu viele Regeln: Erreicht ein Attributwert den minimalen Support, so erreicht ihn auch jedes Intervall, in dem dieser Attributwert vertreten ist.
Hieraus folgt, dass die Anzahl der erzeugten Regeln mit der Anzahl der
verfügbaren Intervalle steigt.
Es ist noch zu bemerken, dass es in der Regel nicht sinnvoll ist, über kategorischen Attributen Intervalle zu bilden. Sind jedoch Taxonomien über diesen kategorischen Attributen möglich, so könnten diese zur Intervallbildung dienen.
3.4.2 Grundlegende Definitionen
Zunächst ist es hilfreich, quantitative und kategorische Attribute in einem Terminus abzubilden. Die Werte der kategorischen Attribute werden in fortlaufenden
3.4. Quantitative Assoziationsregeln
47
Zahlen abgebildet ebenso wie die Werte der quantitativen Attribute, die nicht in
Intervalle aufgeteilt wurden. Quantitative Attribute, die in Intervalle unterteilt
wurden, werden ihren Intervallen entsprechend ebenfalls in fortlaufenden Zahlen abgebildet, ohne dabei die Ordnung der Werte zu verlieren. Auf diese Weise lässt sich jeder Datensatz der Datenbank in ein Tupel (Attribut, Zahlenwert)
überführen.
Abbildung der Attribute
Sei I = fi1; i2; : : : ; im g die Menge der Attribute und P eine Menge von positiven
Zahlen. Man bezeichne mit IV die Menge I P und ein Tupel (x; v ) 2 IV
bedeute das mit dem Wert v verbundene Attribut x.
Sei IR die Menge f(x; l; u) 2 I P P j l u, für x quantitativ; l = u, für
x kategorischg. Auf diese Weise stellt also das Tripel (x; l; u) 2 IR entweder
ein quantitatives Attribut mit dem Intervallbereich [l; u] oder ein kategorisches
Attribut mit dem Wert l dar. Weiter gelte für alle X IR :
attributes(X ) = fx j (x; l; u) 2 X g
Quantitative Assoziationsregel
Eine Artikelmenge R IR supported ein X , wenn gilt: [8(x; l; u) 2
X ] [9(x; q) 2 R], so dass l q u gilt. Eine quantitative Assoziationsregel ist eine Implikation der Form X ) Y mit X IR , Y IR und
attributes(X ) \ attributes(Y ) = ;. Eine Regel X ) Y hat die Konfidenz
c, wenn c Prozent der Transaktionen in D die X supporten auch Y supporten.
Entsprechend hat die Regel X ) Y einen Support von s, wenn s Prozent der
Transaktionen in D die Menge X [ Y unterstützen.
Generalisierung und Spezialisierung
^ als eine Generalisierung von X , wenn gilt: attributes(X ) =
Man bezeichnet X
attributes(X^ ) und 8x 2 attributes(X ) : [(x; l; u) 2 X ^ (x; l0; u0) 2 X^ ) l0 l u u0]. X ist dann eine Spezialisierung von X^ . In diesem Kontext spricht
man bei Generalisierungen oft auch von Vorfahren. Beispielsweise wäre f(Milch
1..8), (Brot 1..2)g eine Generalisierung von f(Milch 1..5), (Brot 1..2)g .
3.4.3 Vorgehensweise beim Finden von quantitativen
Assoziationsregeln
Das Finden von quantitativen Assoziationsregeln lässt sich in 5 Teilschritte untergliedern, auf die im Weiteren näher eingegangen werden soll:
1. Partitionierung der quantitativen Attributwerte Für jedes quantitative
48
3. Das Finden von Assoziationsregeln
Attribut werden die sinnvollen Intervalle bestimmt, in welche der Wertebereich unterteilt werden soll. Für kategorische Wertebereiche ist eine Partitionierung in der Regel nicht sinnvoll.
2. Harmonisierung der Attributwerte Bei kategorischen Attributen werden
die Wertausprägungen in fortlaufenden Ziffern abgebildet. In entsprechender Weise werden quantitative Attribute, die nicht partitioniert wurden, in
fortlaufenden Ziffern abgebildet. Die Ordnung zwischen den Wertausprägungen darf dabei nicht verloren gehen. Wurden quantitative Attribute in
Intervalle partitioniert, so werden diese Intervalle ebenfalls in fortlaufenden
Ziffern abgebildet. Auch hier soll die Ordnung erhalten bleiben.
Von nun an kennt das Verfahren nur Werte für quantitative Attribute. Die
Intervalle oder Kategorien, die hinter diesen Ziffern stehen, bleiben für den
Algorithmus transparent.
3. Supportberechnung Es wird der Support für die quantitativen und kategorischen Attribute berechnet. Zusätzlich werden für die quantitativen
Attribute noch so lange benachbarte Werte miteinander verschmolzen und
der resultierende Support bestimmt, bis ein benutzerdefinierter, maximaler (!) Support überschritten wird. Artikel, die den minimalen Support
überschreiten, ergeben die Menge der häufigen Einzelartikel.
4. Verwendung eines boolschen Assoziationsregel–Verfahren Nach der
Vorarbeit ist es nun möglich, ein um leichte Modifikationen erweitertes boolsches Assoziationsregel–Verfahren zu benutzen. Der Apriori–
Algorithmus wird dafür von [SA96] vorgeschlagen. Auf die nötigen
Ergänzungen wird in Abschnitt 3.4.6 eingegangen.
5. Filtern der interessanten Regeln Beim Generierungsprozess entstehen
viele uninteressante und redundante Regeln. In Abschnitt 3.4.5 wird ein
Maß vorgestellt, welches das Interesse und den Informationswert einer Regel bestimmt.
3.4.4 Partitionierung der quantitativen Attributwerte
Wie schon in der Einleitung ersichtlich wurde, stellt die Partitionierung der Wertebereiche ein wesentliches Problem des Verfahrens dar. Dieses besteht darin, dass jede Partitionierung einen gewissen Informationsverlust mit sich führt.
Um diesen Informationsverlust bewerten zu können, wird zunächst ein Teilvollständigkeitsmaß über Artikelmengen eingeführt.
3.4. Quantitative Assoziationsregeln
49
K–Vollständigkeit
(K–complete) Sei C die Menge aller häufigen Artikelmengen in D und sei weiter
K 1 reell. Dann heißt P K–vollständig bzgl. C , wenn gilt:
1.
2.
3.
PC
X 2 P ^ X0 X ) X0 2 P
^ 2 P] :
[8X 2 C ][9C
^ ) K support(X )
^ ist eine Generalisierung von X und support(X
(a) X
und
^ ]: Y^ ist eine Generalisierung von Y und
(b) [8Y X ][9Y^ X
support(Y^ ) K support(Y ).
Die beiden ersten Bedingungen 1. und 2. sichern , dass P nur häufige Artikelmengen enthält und somit zur Generierung von Regeln geeignet ist. Der erste Teil der
dritten Bedingung sagt, dass es für jede Artikelmenge X in C eine Generalisierung gibt, deren Support höchstens K mal größer ist. Im zweiten Teil der dritten
Bedingung sieht man, dass diese Eigenschaft auch für Teilmengen von X zutrifft.
Bei näherer Betrachtung wird klar, dass P für K = 1 mit C identisch ist.
Beispiel Zur Verdeutlichung seien die in Abbildung 3.4 häufigen Artikelmengen
gegeben. Die Artikelmengen 2, 3, 5 und 7 sind eine 1,5–vollständige Menge M,
da für jede Artikelmenge X 2 M, entweder 2, 3, 5 oder 7 eine Generalisierung darstellt, deren Support mindestens das 1,5 fache des Supports von X ist.
Demgegenüber ist zwar Artikelmenge 2 eine Generalisierung von Artikelmenge
1, aber der Support von Artikelmenge 2 ist nur das 1,2 fache des Supports von
Artikelmenge 1.
No. Artikelmenge
Support
1 f(Alter: 20..30)g
5%
2 f(Alter: 20..40)g
6%
3 f(Alter: 20..50)g
8%
4 f(BDruck: 1..2)g
5%
5 f(BDruck: 1..3)g
6%
6 f(Alter: 20..30) (BDruck: 1..2)g
4%
7 f(Alter: 20..40) (BDruck: 1..3)g
5%
Abbildung 3.4: Beispiel Teilvollständigkeit
Mit Hilfe eines Lemmas zeigen [SA96] folgende interessante Beobachtung:
3. Das Finden von Assoziationsregeln
50
Lemma 3 Sei P K–vollständig bzgl. der Menge der häufigen Artikelmengen C
und RC die Menge der aus C generierten Regeln, welche die minimale Konfidenz
erfüllen. Weiter sei RP die Menge der aus P generierten Regeln, deren Konfidenz
min conf erfüllt. Für jede Regel A ) B aus R gibt es dann eine Regel A^ ) B
^,
C
K
so dass gilt:
A^ und B^ sind Generalisierungen von A und B .
A^ ) B^ hat höchstens den K–fachen Support von A ) B .
Die Konfidenz von A^ ) B^ ist mindestens das K –fache und höchstens das
K –fache der Konfidenz von A ) B .
1
Zwei weitere Lemmata zeigen Eigenschaften, die zur Partitionierung der Wertebereiche wichtig sind. Folgendes Lemma untersucht die Partitionen eines einzelnen
Attributs:
Lemma 4 Sei x ein quantitatives Attribut und K > 1 reell. Nun wird x in Intervalle (sogenannte Basisintervalle) partitioniert, so dass für jedes dieser Basisintervalle B gilt:
support(B ) < min support K,
“B ist Einzelwert”
1
2
oder
Wenn man nun mit P die Menge aller Kombinationen von Basisintervallen bezeichnet, die den min support erreichen, dann ist P K–vollständig bzgl. der Menge aller möglichen Bereiche über x mit min support.
Das anschließende Lemma verallgemeinert diese Eigenschaft auf n Attribute:
Lemma 5 Sei eine Menge von n quantitativen Attributen und ein reelles K > 1
gegeben. Man nehme an, dass jedes einzelne Attribut derart in Basisintervalle B
partitioniert wird, dass entweder
support(B ) < min support K,n
“B ist Einzelwert”
2
1
oder
gilt. Wenn P die Menge aller häufigen Artikelmengen über diesen partitionierten
Attributen ist, dann ist P K–vollständig bzgl. der Menge aller häufigen Artikelmengen (die ohne Partitionierung gewonnen wurden).
3.4. Quantitative Assoziationsregeln
51
Aufgrund der Lemmatas kann man nun für eine beliebig gegebene Partition den
Grad der Teilvollständigkeit bestimmen. Hier soll dies zunächst nur für ein einzelnes Attribut gezeigt werden:
Nachdem man die Partition mit dem größten Support gefunden hat, dient die Formel
s = min support K 2, 1
(3.10)
zum Finden des Grades der Teilvollständigkeit. Nach einfacher Umformung ergibt sich
2s
K =1+
(3.11)
min support
Für n Attribute dient die entsprechende Formel
ns
K = 1 + min2 support
(3.12)
In [SA96] wird weiter gezeigt, dass gleichgroßes Partitionieren den Grad der
Teilvollständigkeit minimiert. Folglich minimiert für einen gegebenen Grad der
Teilvollständigkeit gleichgroßes Partitionieren die Anzahl der Intervalle, die zur
Erfüllung dieses Grades benötigt werden.
Zusammenfassend betrachtet lässt sich also leicht bei einem gegebenen Teilvollständigkeitsgrad und einem gegebenen min support die Anzahl der benötigten
Partitionen berechnen. Um einen Grad K der Teilvollständigkeit zu erreichen,
darf der Support einer Partition (mit mehr als einem Wert) min support k2,n1
nicht überschreiten, wobei n die Anzahl der quantitativen Attribute ist.
Nimmt man weiter an, dass gleichgroßes Partitionieren den Support gleichverteilt
(Partitionen mit nur einem Wert werden hierbei nicht betrachtet, da sie die Teilvollständigkeit nicht beeinflussen), so entstehen 1s Partitionen, die jeweils ihren
Support unter s halten.
Hieraus ergibt sich folgende Formel:
Intervallzahl = m 2(K n, 1)
(3.13)
(n: Anzahl der quantitativen Attribute, m: minimaler Support, K: Grad der Teilvollständigkeit)
3. Das Finden von Assoziationsregeln
52
3.4.5 Filtern der interessanten Regeln
Bei der Generierung der quantitativen Assoziationsregeln werden sehr viele redundante und damit uninteressante Regeln erzeugt. Ein Ansatz, diese Korrelationen zu filtern, soll hier vorgestellt werden. Zunächst betrachte man zwei Regeln
der Art:
(Milch 1..10)
(Milch 1..5)
)
)
(Brot 2..4)
(Brot 2..4)
8% Support, 70% Konfidenz
2% Support, 70% Konfidenz
Folgt man nun der Annahme, dass 14 der Transaktionen, in denen (Milch 1..10)
liegt, auch (Milch 1..5) enthalten ist, so kann die zweite Regel als redundant angesehen werden, da sie gleiche Konfidenz und die erwarteten 25% der Supports
der ersten Regel hält. Eine Regel erscheint also erst dann interessant, wenn sie
einen größeren Wert als erwartet hält. Dieses “greater–than–expected–value”–
Kriterium wird nun formal definiert:
Erwartungswert
Sei EPr(Z^) [Pr(Z )] der erwartete Wert des Supports von Z (Pr(Z )), basierend
auf Pr(Z^ ), wobei Z^ Generalisierung von Z ist). Sei weiter die Artikelmenge
Z = f(z1; l1; u1); : : :; (zn; ln; un)g und Z^ = f(z1; l10 ; u01); : : : ; (zn; ln0 ; u0n)g. Dann
ist
((z ; l ; u ))
Pr((zn ; ln; un )) Pr(Z^ )
:
:
:
EPr Z [Pr(Z )] = Pr
0
0
Pr((z ; l ; u ))
Pr((z ; l0 ; u0 ))
( ^)
1
1
1
1
1
1
n n n
(3.14)
In gleicher Weise lässt sich der Erwartungswert für die Konfidenz der Regel X )
Y definieren, wenn Y = f(y1; l1; u1); : : :; (yn; ln; un)g und Y^ = f(y1; l10 ; u01); : : :;
(yn ; ln0 ; u0n )g:
((y ; l ; u ))
Pr((yn ; ln; un )) Pr(Y^ jX^ )
EPr Y jX [Pr(Y jX )] = Pr
:
:
:
0
0
Pr((y ; l ; u ))
Pr((y ; l0 ; u0 ))
(^ ^)
1
1
1
1
1
1
n n n
(3.15)
Leider ist es nicht ausreichend, eine Artikelmenge als interessant bzgl. ihres Vorgängers zu bezeichnen, sobald der Support größer oder gleich dem R–fachen des
erwarteten Supports ist. Auf Grund dieser Bedingung werden immer noch viele
Intervalle fälschlicherweise als interessant angesehen. Vielmehr ist es wichtig,
3.4. Quantitative Assoziationsregeln
53
auch Spezialisierungen der Artikelmengen zu betrachten. So werden Spezialisierungen der Artikelmenge gesucht, die interessanter als die eigentliche Menge sind.
Ist dies der Fall, so wird die Spezialisierung von der Menge abgetrennt und untersucht, ob die Differenz daraus noch interessant ist. Wird keine Spezialisierung
mit dieser Eigenschaft gefunden, so behält man die Artikelmenge als interessant.
R–interessant
Eine Artikelmenge X ist R–interessant bzgl. X^ , wenn der Support von X größer
^ ) und
oder gleich dem R–fachen des erwarteten Supports ist (basierend auf X
0
0
wenn jede Spezialisierung X mit der Eigenschaft “X hat min support” und
X , X 0 IR, die Differenz X , X 0 ist R–interessant bzgl. X^ .
3.4.6 Ergänzungen zum Algorithmus
Die Vorgehensweise des Algorithmus zum Finden quantitativer Assoziationsregeln wurde bereits besprochen. In den vorliegenden Abschnitten wurde beschrieben, wie die Attributwerte partitioniert werden sollten und wie interessante Artikelmengen herausgefiltert werden können. Damit ist die wichtigste Vorarbeit für
den Algorithmus schon geleistet. Der Fokus soll nun auf den Kern des Prozesses
gerichtet werden: Dem Finden der häufigen Artikelmengen.
Zum Finden der häufigen Artikelmengen schlagen [SA95] einen leicht modifizierten Apriori–Algorithmus vor. Mit häufigen Einzelartikeln beginnend werden
sukzessive häufige, mehrelementige Artikelmengen gebildet. Die Generierung
der Kandidatenmenge und die Bestimmung des Supports benötigen jedoch eine
Anpassung an die Aufgabenstellung.
Kandidatengenerierung
Ausgehend von einer (k -1)–elementigen häufigen Artikelmenge
diese Prozedur eine k -elementige Kandidatenmenge Lk .
Lk,
1
generiert
Während die beiden ersten Schritte dem Grundalgorithmus entsprechen, stellt der
dritte Schritt die eigentliche Erweiterung dar:
1. Join–Phase Ein Join wird auf Lk,1 mit sich selbst ausgeführt, so dass die
k , 2 ersten Elemente geordnet sind und sich die beiden letzten Attribute
unterscheiden.
2. Prune–Phase Alle resultierenden Artikelmengen werden untersucht. Liegt
eine (k , 1)-elementige Teilmenge vor, die nicht in Lk,1 liegt, so wird die
entsprechende k –elementige Artikelmenge entfernt.
3. Das Finden von Assoziationsregeln
54
3. Prunen nach Interesse Gibt der Benutzer ein Interessemaß an, so wird
dieses Maß zum Prunen der Artikelmengen benutzt.
Supportbestimmung der Kandidaten
Für die Bestimmung des Supports aller Kandidaten wird ein kompletter Datenbankdurchlauf benötigt. Die Datenbasis wird tupelweise ausgelesen und jedes
Tupel (Transaktion) wird mit der Kandidatenmenge verglichen.
Zum effizienteren Vergleich können die Kandidaten in Gruppen organisiert werden, so dass gleiche kategorische Attributwerte und gleiche quantitative Attribute
in einer Gruppe versammelt sind. Jede Kandidaten–Gruppe wird durch einen sogenannten Super–Kandidaten ersetzt. Dieser Super–Kandidat besteht aus zwei
Teilen: Den gemeinsamen kategorischen Attributwerten und einer Datenstruktur,
welche die unterschiedlichen quantitativen Attributwerte abbildet.
Beispiel
Seien beispielsweise folgende drei Kandidaten generiert worden:
f(Kreditkarte Ja),
f(Kreditkarte Ja),
f(Kreditkarte Ja),
(Milch 1..5),
(Milch 1..8),
(Milch 3..4),
(Brot 1..2)g,
(Brot 2..4)g,
(Brot 4..6)g
Alle drei Kandidaten besitzen die gleichen Attribute und haben für das einzige,
kategorische Attribut Kreditkarte den gleichen Wert “Ja”. Daher lassen sie sich
zu einem Super–Kandidaten zusammenfassen.
Kreditkarte
Milch
1..5
1..8
3..4
Ja
Brot
1..2
2..4
4..6
Die Supportberechnung untergliedert sich folglich in zwei Aufgaben:
1. Finden und Generieren der Super–Kandidaten
2. Tupelweises Durchlaufen der Datenbank. Sobald eine Transaktion die kategorischen Werte eines Super–Kandidaten enthält, müssen in diesem Super–
Kandidaten diejenigen Kandidaten gefunden werden, welche die Transaktion unterstützen.
3.5. Betrachtung der Komplexität
55
3.5 Betrachtung der Komplexität
Die einzelnen Autoren führen in ihren Aufsätzen ausführliche Tests mit synthetischen und realen Datensätzen durch. So beschreiben sie bei verschiedenen Datencharakteristika die unterschiedlichen Verhaltensweisen der vorgestellten Algorithmen. Dennoch vermisst man theoretische Überlegungen bezüglich
der Komplexität der einzelnen Algorithmen. Han et al. stellen jedoch in [HP96]
Überlegungen zur Komplexitätsberechnung von Assoziationsregelverfahren an.
Das A PRIORI–Verfahren bildet für die meisten Algorithmen die Grundlage in der
Generierung der häufigen Artikelmengen. So bauen beispielsweise auch Modifikationen, wie Verfahren zum Finden von generalisierten Assoziationsregeln
(C UMULATE) auf dem A PRIORI–Algorithmus auf. Aus diesem Grund wird hier
eine fundierte Untersuchung dieses Verfahrens gegeben. Leichte Modifikationen
verändern die Grundkomplexität nicht entscheidend.
Zunächst ist es wichtig, Obergrenzen für die zu untersuchenden Artikelmengen
zu finden. Die Anzahl aller k –Artikelmengen über der Menge aller Artikel I mit
jIj = N ist
!
N
jAk j =
(3.16)
k
Folglich gilt jAk j 2 O(N k ). Eine Überprüfung aller Artikelmengen Ak im k –ten
Schritt ist also zu aufwendig. Aus diesem Grund wählen die A PRIORI–Verfahren
in sogenannten Kandidatenmengen Ck Artikelmengen aus, die überhaupt für die
Bildung der häufigen Artikelmengen Lk in Frage kommen.
Von Interesse ist zunächst die Komplexität dieser Artikelmengen Lk . Die einfachste Möglichkeit wäre, eine Wahrscheinlichkeitsverteilung Pt (n) über den Daten
anzunehmen (n sei die Transaktionsgröße). Sind keine weiteren Informationen
verfügbar, so müssen alle k –Artikelmengen gleichwahrscheinlich angenommen
werden, also gilt Ck = Ak . Sinnvoller ist es Korrelationen über der Datenbasis D
anzunehmen und diese näher zu betrachten.
Um diese Korrelationen näher beschreiben zu können, wird der Begriff Cluster
eingeführt. Ein Cluster ist eine größtmögliche, häufige Artikelmenge, so dass
jede Teilmenge zwar häufig, aber jede Erweiterung des Clusters nicht mehr häufig
wäre. Üblicherweise kann davon ausgegangen werden, dass die zu untersuchende
Datenbank über eine Anzahl von Clustern verfügt. Sei daher mit C die Menge der
Cluster über D gegeben und es gilt C = f1; 2 ; 3 ; : : :g.
Komplexität von Lk Die Größe von Lk ist einfach zu errechnen, wenn alle Cluster
3. Das Finden von Assoziationsregeln
56
disjunkt sind. Dann ist jede Teilmenge
des
jeweiligen Clusters i eine häufige
j
ij
Artikelmenge und es gibt pro Cluster k häufige Artikelmengen. Folglich gilt
P ji j
ist.
insgesamt, dass jLk j =
i k
Gewöhnlicherweise überlappen sich die einzelnen Cluster jedoch und es gilt dann:
!
!
!
X ji j
X ji \ j j
X ji \ j \ l j
jLk j =
+
, : : : (3.17)
k , i;j
k
k
i
i;j;l
P ji j
P ji j
,
kann
hier
als
obere
Grenze
und
der
Term
Die erste Summe
i k
i k
P ji \j j
als untere Grenze gesehen werden.
k
i;j
Mit dem Wissen um die Größen von Lk lassen sich nun die Kosten des A PRIORI–
Verfahrens in Algorithmus 3.2.3 (Seite 28) schätzen.
In der ersten Zeile werden die häufigen Einzelartikel ermittelt. Die Kosten für die
Festplattenzugriffe lassen sich auf einen gesamten Durchlauf durch die Datenbank
festsetzen. Mit einer passenden Hashfunktion wird das Generieren und Zählen
der 1-Artikelmengen in konstanter Zeit erledigt. Seien cd die Kosten für einen
Festplattenzugriff (Lesen/Schreiben). Dann sind die Kosten für die Generierung
der häufigen 1-Artikelmengen O(jjDjj) und die Zugriffskosten belaufen sich auf
O(cd jjDjj).
Die nun startende Hauptschleife wird von zwei Prozeduren bestimmt: Die Generierung der Kandidaten und das anschließende Zählen derselben. Die Kandidatengenerierung ist in Prozedur 3.2.2 (Seite 29) abgebildet. Der beginnende JoinSchritt benötigt im schlimmsten Fall O(jLk,1 j2 ) Operationen. Das anschließende
Prunen verarbeitet O(k jCk j jLk,1 j) Operationen. Insgesamt verbraucht die
Kandidatengenerierung also Kosten in Höhe von
O(jLk, j
1
2
+k
jCk j jLk, j)
1
(3.18)
Im Anschluss daran wird die Datenbank komplett durchlaufen und die Präsenz
der generierten Kandidaten in der Transaktionen gezählt. Die Kosten für diesen
Datenbankdurchlauf betragen
O(fs jDj + jCtj jDj)
(3.19)
Hier seien fs die Kosten für die Bildung der Teilmengen Ct von Ck , die in der
aktuellen Transaktion enthalten sind (siehe A PRIORI–Verfahren auf Seite 28).
3.5. Betrachtung der Komplexität
57
Die Kosten fs sind sehr individuell von Ck und der jeweils aktuellen Transaktion t abhängig. Eine ad–hoc–Implementation der Teilmengenbildung würde
O(m jCk j t) kosten, wobei m die Anzahl der Ck für ein bestimmtes k ist.
Zusammenfassend belaufen sich die Gesamtkosten der Hauptschleife auf
!
X
2
O
jLk j + k jCk j jLk,1j + fs jDj + jCtj jDj
(3.20)
k
Da jede Iteration der Schleife einen Datenbankdurchgang erfordert, belaufen sich
die Gesamtkosten der Plattenzugriffe auf
O(K cd jjDjj)
(3.21)
wobei K die Anzahl der nötigen Iterationen ist. Es gilt für K
K maxfjtj j t 2 Dg
Da D in der Regel sehr groß ist, sind fs
Terme in Gleichung 3.20.
(3.22)
jDj und jCtj jDj die bestimmenden
58
3. Das Finden von Assoziationsregeln
4
Implementierung des Werkzeugs
M ISTRAL
Zu Beginn dieses Kapitels werden die wichtigsten Eigenschaften eines Data Mining Werkzeugs erörtert. Danach folgt eine detaillierte Besprechung der
Schlüsselkomponenten, die diese Eigenschaften in MISTRAL implementieren.
Dabei werden die verwendeten Entwurfsmuster genannt und zentrale Stellen in
UML skizziert.
4.1 Überlegungen zur Implementierung eines
Data Mining Werkzeugs
Im Rahmen dieser Arbeit wurde das Data Mining Werkzeug M ISTRAL (MIning
System Targeting Rules, Associations and Links) implementiert. Dieses Toolkit besteht im Wesentlichen aus einem Kern und daran gekoppelten Komponenten. Diese Komponenten implementieren Algorithmen (Algorithm), Datenverbindungen (DataFetcher) oder auch spezielle Darstellungen der Ergebnisse (Viewer). Um eine gewisse Grundfunktionalität zu erreichen, wurden Komponenten
programmiert, die es nun, von beliebigen Datenbanken ausgehend, ermöglichen
häufige Artikelmengen, Artikelverteilungen und (generalisierte) Assoziationsregeln zu berechnen. Darüber hinaus ist es leicht möglich, weitere Algorithmen,
DataFetcher und Viewer an den Kern zu koppeln.
Der Kern bewerkstelligt den Data Mining Lauf in einer 3er Kette: Holen der Daten, Verarbeiten durch einen Algorithmus und Darstellen der Ergebnisse.
59
60
4. Implementierung des Werkzeugs M ISTRAL
Die wichtigsten Eigenschaften eines Kerns sind dabei:
1. Modularität
Durch die modulare Architektur des Kerns und der Komponenten ist es problemlos möglich, das Werkzeug durch neue Komponenten zu erweitern.
Die objektorientierte Architektur im Verbund mit dem Einsatz von Entwurfsmustern wird im folgenden Absatz näher beschrieben.
2. Effiziente Datenbearbeitung
Da Data Mining Verfahren in der Regel mit (sehr) großen Datenmengen arbeiten, ist es für das Programm von entscheidender Bedeutung, Datenoperationen, wie das Auslesen oder Bearbeiten von Datensätzen, in effizienter
Weise durchzuführen.
4.2 Architektur von M ISTRAL
Die wichtigsten Stellen im Programm, welche die Modularisierbarkeit von MI STRAL garantieren (Kern, Speicherbereich, Komponentenentwurf) und solche, die
den Speicherbedarf eingrenzen (Speicherung der Artikel) sollen nun genannt werden.
4.2.1 Der Kern
Das Klassendiagramm in Abbildung 4.1 zeigt nur die wichtigsten Strukturen des
Kerndesigns. Im Zentrum des Entwurfs steht die Klasse MKernel, welche die
administrativen und operativen Aufgaben des Kerns übernimmt.
Zu den administrativen Aufgaben gehören:
1. Verwaltung der verfügbaren Komponenten
Viewer, Algorithmen und DataFetcher können hinzugefügt oder gelöscht
werden. Ebenso ist es möglich, für jede Komponente einen beschreibenden
Text anzeigen zu lassen.
2. Erstellen eines Data Mining Projekts
Definition der zu verwendenden Komponenten. Hier können eine Liste von
einem (oder mehreren) Viewern, ein Algorithmus und ein DataFetcher ausgewählt werden.
4.2. Architektur von M ISTRAL
61
3. Festlegen der Benutzerschnittstelle
An den Kern sollte eine Benutzerschnittstelle zur einfachen Bedienung gekoppelt werden. Es stehen eine kommandozeilenorientierte und eine fensterorientierte Shell zur Verfügung.
4. Speichern und Laden der Programmkonfiguration und Projektdefinition.
MComponent
setKernel
run
fine
toString
getAbout
getComponentID
equals
MKernel
AlgorithmList
DataFetcherList
ViewerList
configuration
DataFetcher 1
Algorithm
1
1
VIewer
1
*
1
run
fine
setUsedAlgorithm
setUsedViewer
setUsedDataFetcher
save/loadProject
closeKernel
add/removeAlgorithm
add/removeDataFetcher
add/removeVIewer
set/getShell
1
2
Memory
1
1
MistralShell
JMistral
MistralBatch
Abbildung 4.1: Mistral–Kern (UML)
Die operativen Aufgaben des Kerns umfassen:
1. Vorbereitung des Data Mining Projekts
Hier ist das Anlegen von Speicherbereichen und der Test auf Korrektheit
der eingestellten Parameter für jede Komponente wichtig.
62
4. Implementierung des Werkzeugs M ISTRAL
2. Durchführung des Projekts
Jede Komponente wird in einem eigenen Thread gestartet. Danach kann der
Status des Projekts jederzeit erfragt werden.
3. Nachbereitung
Nach dem Lauf wird das Logfile geschrieben und der verwendete Speicherbereich bereinigt.
Im Ausschnitt des Klassendiagramms sind im Wesentlichen nur die operativen
Aufgaben wiederzufinden, da diese von größerem Interesse sind. Zur Bereitstellung von Speicherbereichen dient die Klasse Memory, bei deren Entwurf die Muster Strategie und Observer [Gam96] Verwendung fanden. Eine nähere
Betrachtung von Memory folgt in Abschnitt 4.2.2.
Das Strategie Muster wurde ebenfalls bei der Benutzerkopplung eingesetzt.
Theoretisch kann so jede Klasse, die das Interface MistralShell implementiert, als Benutzerschnittstelle des Kerns dienen. Die optionale Verwendung eines kommandozeilenorientierten (MistralBatch) oder eines fensterorientierten (JMistral) Programms mit dem gleichen Kern belegt dies.
Weiterhin sind die drei Hauptkomponenten Viewer, DataFetcher und Algorithm in Form von gleichnamigen Klassen an den Kern gekoppelt. Der Entwurf dieser Klassen wird in Abschnitt 4.2.4 näher untersucht.
4.2.2 Speicherbereiche
Das UML Klassendiagramm in Abbildung 4.2 zeigt nur die grundsätzliche Funktionalität. Der Kernel verwaltet standardmäßig zwei Speicherbereiche: Der erste
dient zur Speicherung der Ausgangsdaten (dataSet), während der zweite die berechneten Ergebnisse sammelt (resultSet).
Dem Strategie Muster [Gam96] folgend wurde die Grundklasse Memory implementiert, um konkrete Implementierungen austauschbar zu machen. Als konkrete Strategie wurde eine vollständig auf dem Arbeitsspeicher basierende Lösung
(RAMMemory) und eine dateibasierte Speicherstruktur (FileMemory) implementiert.
Eng verknüpft mit der Memory Klasse sind die Klassen DataFetcher, Algorithm und Viewer. Diese Klassen dienen als Schnittstellen zu den konkreten Implementierungen von Datenanbindungen, Algorithmen und Darstellungskomponenten für die Ergebnisse. Diese Komponenten sollten jederzeit über die
4.2. Architektur von M ISTRAL
63
Observer
Subject
1
observers
*
update
notifyObservers
subscribe
unsubscribe
Memory
2
reset
close
getNextElement
getElementAt
getChange
getSize
1
1
1
Algorithm
Viewer
MComponent
RAMMemory
FileMemory
setKernel
run
fine
toString
getAbout
getComponentID
equals
Abbildung 4.2: Speicherbereich (UML)
Veränderung in einem Speicherbereich informiert sein. So können die meisten Algorithmen erst dann starten, wenn alle Daten im dataSet versammelt sind. Im
Gegensatz dazu kann eine Darstellungskomponente (Viewer) immer die aktuell
berechneten Ergebnisse darstellen.
Um diese Funktionalität zu erreichen,
wurde das Observer
(Publisher-Subscriber) Muster [Gam96] umgesetzt.
Memory erweitert hierbei die Klasse Subjekt, welche Beobachter verwalten und
benachrichtigen kann. Die Klassen Algorithm und Viewer wiederum
implementieren das Interface Observer, welches vom Subjekt benachrichtigt
wird. DataFetcher wurde nicht um das Interface Observer erweitert, da
diese Komponenten üblicherweise in einem sequentiellen Lauf die Daten holen
und im Speicherbereich ablegen. Eine Benachrichtigung macht hier wenig Sinn.
4. Implementierung des Werkzeugs M ISTRAL
64
4.2.3 Speicherung der Artikel
Bei der Durchführung eines Data Mining Projekts muss häufig mit mehreren hunderttausend Artikeln umgegangen werden. Daher ist die effiziente und trotzdem
Speicher minimierende Implementierung einer Artikelklasse von großem Interesse.
ConcreteFlyweight
ItemFactory
value
iid
*
1
ConcreteFlyweightList
add
removeAllIems
elementAt
getSize
setName
getName
setID
getID
equals
toString
Item
id
toString
equals
Abbildung 4.3: Verwaltung der Artikel (UML)
Die Klasse Item lehnt sich an das in [Gam96] vorgestellte Flyweight Muster
an. So kann dieser Terminologie folgend die Klasse Item als Klient, die Klasse
ItemFactory als FliegengewichtFabrik und ConcreteFlyweight als Implementierung von konkretesFliegengewicht verstanden werden.
Zur näheren Erläuterung der Funktionsweise hier ein kleines Beispiel: Es wird
während des Programmlaufes eine neue Instanz von Item mit einem entsprechenden Artikelnamen gebildet. Daraufhin fragt der Konstruktor von Item bei
ItemFactory nach einer Referenz, die dem Artikelnamen entspricht. Wurde der Artikelname noch nicht verwendet, so erzeugt ItemFactory ein neues
konkretes Fliegengewicht, speichert es intern ab und liefert eine Referenz darauf
zurück. Ist diese Artikelausprägung schon vorhanden, so wird die entsprechende
Referenz zurückgeliefert. Die Klasse Item muss also nur eine Referenz speichern, während die Klasse ItemFactory die komplette Information der jeweiligen Artikelreferenzen in konkreten Fliegengewichten speichert.
Auf diese Weise muss die komplette Information jeder Artikelausprägung nur einmal gespeichert werden. Die Klienten verwalten nur Referenzen. Der damit verbundene Speicher- und Laufzeitgewinn ist leicht nachvollziehbar.
4.2. Architektur von M ISTRAL
65
4.2.4 Die Mistral-Komponenten
Wie schon vorher beschrieben verwirklicht der Kern nur administrative und operative Projektaufgaben. Die eigentliche Arbeit wird von den Mistral Komponenten
übernommen. Hier unterscheidet man zwischen drei Typen:
1. Verbindungen zu Datenquellen (DataFetcher)
Diese stellen eine Verbindung zu einer spezifizierten Datenquelle her,
wie zum Beispiel einer Textdatei (TEXT DATA F ETCHER) oder einer
JDBC/ODBC Datenbank (DBCDATA F ETCHER). Von dort holen sie die
angeforderten Daten in den Kern.
2. Data Mining Algorithmen (Algorithm)
Diese Komponenten sind für die Musterfindung aus den bereitgestellten Daten zuständig. Dazu kann das Finden von (generalisierten) Assoziationsregeln (Komponente Cumulate) oder von häufigen Artikelmengen (Komponente FrequentSets) zählen. Ebenso kann die Verteilung der Einzelartikel berechnet werden (I TEMD ISTRIBUTION). Der Algorithmus A PRIOR I NTERVALL findet Assoziationsregeln in einem speziellen Supportintervall.
3. Darstellungskomponenten (Viewer)
Viewer dienen zum Darstellen oder Sichern der Ergebnisse des Data Mining Prozesses.
So schreibt beispielsweise die Komponente
TextfileViewer die Ergebnisse in eine Textdatei. TAB TEXT V IEWER
und M ISTRAL F ILE V IEWER sind Spezialisierungen von TEXTFILE V IEWER
und schreiben die Ergebnisse in bestimmte Dateiformate. W INDOW V IEWER zeigt die Ergebnisse in einem Programmfenster an.
Damit die Anbindung der Komponenten an den Kern problemlos vollzogen werden kann, sind einige Voraussetzungen zu beachten.
Zunächst einmal muss jede Komponente das Interface MComponent implementieren, welches die nötigsten Methoden vordefiniert. Die wichtigsten Methoden
dieses Interface sind fine() und run(). Während die Methode fine() die
Korrektheit der eingegebenen Komponentenparameter prüft, aktiviert die Methode run() den Lebenszyklus der Komponente. Dabei startet der Kern jede Komponente als einen eigenen Thread.
Weiterhin muss jede Komponente eine der drei Vaterklassen DataFetcher,
Algorithm oder Viewer erweitern. Durch die Erweiterung der eigenen Klasse
durch eine dieser drei Klassen wird der Typ der Komponente festgelegt. Darüber
4. Implementierung des Werkzeugs M ISTRAL
66
hinaus kann eine neue Komponente auch von einer Klasse abgeleitet sein, die
früher von DataFetcher, Algorithm oder Viewer geerbt hat. Abbildung
4.4 (Seite 66) zeigt die Architektur der MISTRAL Komponenten in UML–Notation. TAB TEXT V IEWER beispielsweise unterscheidet sich nur im Ausgabeformat
der Resultate und kann so problemlos von TEXTFILE V IEWER erben. Trotzdem
wird TAB TEXT V IEWER ohne Weiteres von M ISTRAL als Komponente akzeptiert.
MComponent
Observer
fine
run
setKernel
getComponentID
getAbout
toString
equals
update
DataFetcher
Algorithm
Viewer
url
moldel
source
destination
state
model
setModel
setURL
getURL
setModel
setSource
setDestination
DBCDateFetcher
uid
passwd
sqlCommand
dbDriver
setUID
getUID
setPassWD
getPassWd
setSQLCommand
getSQLCommand
setDBDriver
getDBDriver
DummyAlgorithm
ItemDistribution
TextDataFetcher
WindowViewer
FrequentSets
getNextTransaction
hasMoreTransactions
reload
TextFileViewer
url
setSupport
getSupport
setTaxonomyURL
getTaxonomyURL
generateCandidates
setURL
getURL
Cumulate
MistralFileViewer
TabTextViewer
setConfidence
getConfidence
setInterestMeasure
getInterestMeasure
ApriorInterval
setMaxSupport
getMaxSupport
Abbildung 4.4: Mistral–Komponenten (UML)
Als wichtiger Punkt sollen noch die Eigenschaften von Komponenten betrachtet werden: Aus der geforderten Variabilität können Komponenten eine unterschiedliche Art und Anzahl von Eigenschaften besitzen. Der Terminologie der
JavaBeans Technologie folgend werden Parameter von Komponenten, die verändert werden können, als Eigenschaften (Properties) bezeichnet. Entsprechend
4.2. Architektur von M ISTRAL
67
der JavaBeans Konvention [Fla97] wird auch in Mistral auf diese Eigenschaften mit get- und set-Methoden zugegriffen. Dabei akzeptiert Mistral nur Eigenschaften mit Vollzugriff, also nur solche mit get- und set-Methoden. Als
Übergabeparameter dient standardmäßig ein String–Objekt, welches innerhalb
der Methode konvertiert werden muss.
Wie in Abbildung 4.4 schön zu sehen ist, besitzt beispielsweise die C UMULA TE Komponente die Eigenschaften Confidence (die Konfidenz) und InterestMeasure (das Interessemaß). Die Eigenschaften Support (der Support) und TaxonomyURL (die URL der Taxonmiendatei) erbt die Komponente von F REQUENTS ETS. Keine Eigenschaften besitzen die Komponenten D UMMYA LGORITHM und
I TEMD ISTRIBUTION. Der Algorithmus I TEMD ISTRIBUTON berechnet die Verteilung der Einzelartikel, während D UMMYA LGORITHM die gelesenen Daten unverändert durch den Kern reicht. Beide Komponenten benötigen also keine von
außen zugänglichen Eigenschaften.
Abbildung 4.5: Beispiel: JavaDoc zu A PRIOR I NTERVAL
Die gesamte Implementierung in Java wurde unter Berücksichtigung des JAVA D OC–Syntax kommentiert. JAVA D OC gehört zum Standardumfang des JDKs
68
4. Implementierung des Werkzeugs M ISTRAL
(Java Developer Kit) von Sun und generiert aus den Programmkommentaren automatisch verzeigerte HTML–Seiten. Die so erstellte Dokumentation kann auf der
beigelegten CD mit einem beliebigen HTML–Browser betrachtet werden. Abbildung 4.5 zeigt einen Ausschnitt aus der Dokumentation zur Algorithm Komponente A PRIOR I NTERVAL .
4.3 Aspekte der Implementierung
Das Werkzeug M ISTRAL wurde komplett in Java (Version 1.1.x mit JFC) implementiert. Diese Entscheidung brachte einige Vorteile, aber auch Nachteile mit
sich, welche hier kurz erörtert werden sollen.
Vorteile Einer der geforderten Aspekte von M ISTRAL sollte die Modularität und
Erweiterbarkeit sein. Beliebige neue Komponenten sollen problemlos an den Kern
gehängt werden können, ohne eine Neukompilation oder Modifikation der übrigen
Programmkomponenten zu erfordern. Durch die interpretierte Ausführung des Java Bytecodes in einer virtuellen Maschine (JVM) und der JAVA B EANS Technologie wurde es sogar möglich, während des Programmlaufs neue Komponenten einzuhängen oder zu bearbeiten. Aufgrund des strengen objektorientierten Aufbaus
und Sprachgebrauchs von Java war es sehr einfach, die verwendeten Entwurfsmuster (siehe 4.2) zu implementieren.
Der plattformübergreifende Bytecode von Java ermöglichte das Laufen von M I STRAL unter verschiedenen Betriebssystemen. So wurden beispielsweise erste
Testläufe mit Daten unter Solaris 2.5.2 (Sun JDK 1.1.6) durchgeführt. Die meisten Läufe wurden jedoch unter MS–Windows NT 4 (SR3) absolviert, da sich
hier die JVM (Symantec JIT 300.009) am schnellsten erwies. Das Programm lief
ebenfalls unter Linux (Kernel 2.0.32 JDK 1.1.4) und MacOS 8.1 (Apple MRJ 2.2).
Nachteile Die Performanz eines Java Programms ist stark von der verwendeten
JVM abhängig. So zeigte sich, dass die virtuellen Maschinen für die jeweiligen
Betriebssysteme äußerst unterschiedlich implementiert waren. Beste Ergebnisse konnten mit einem JIT (Just–In–Time Compilern) unter MS–Windows erreicht
werden. Ein JIT kompiliert Programmteile während des Laufs (just–in–time) vom
Bytecode in den jeweiligen plattformabhängigen Bitcode und führt diesen dann
aus. Dies bringt — verglichen mit einer der interpretierten Ausführung — erhebliche Geschwindigkeitsvorteile. So war der JIT (Version i300.009) von Symantec unter MS–Windows NT um den Faktor 5 schneller als der Orginalinterpreter
von Sun. Trotzdem muss davon ausgegangen werden, dass Implementierungen in
C++ um den Faktor 3-4 schneller sind.
5
Bedienungshinweise zu M ISTRAL
Im folgenden Kapitel wird das Programm M ISTRAL beschrieben. Zunächst wird
der Aufbau eines Data Mining Laufes erläutert. Im Weiteren wird gezeigt, wie
sich mit M ISTRAL Data Mining Projekte definieren und durchführen lassen. Die
Ankopplung und Bearbeitung neuer Komponenten wird ebenso beschrieben. Weiter werden die Anwendungszwecke der M ISTRAL Werkzeuge (Taxonomies und
CheckSupport) und gezeigt. Den Abschluss bildet die Definition der benutzten
Dateiformate.
5.1 Aufbau eines Data Mining Laufes
Die Durchführung eines Data Mining Laufes teilt sich in folgende Schritte auf:
1. Transformation der Datenbasis
2. Voranalyse der Daten
3. Definition eines Projekts
4. Projektdurchführung
5. Sichten und Interpretieren der Ergebnisse
Im momentanen Entwicklungsstadium unterstützt M ISTRAL nur den 3. und
4. Punkt dieser Aufzählung. Die restlichen Punkte müssen also von externen
69
70
5. Bedienungshinweise zu M ISTRAL
Programmen erledigt werden. Durch die Implementierung weiterer M ISTRAL –
Komponenten sind diese Aufgaben aber auch in M ISTRAL integrierbar.
Transformation der Datenbasis
Nach dem Verständnis der Domäne wird zunächst einmal eine Auswahl aus der
Datenbasis getroffen. Diese Selektion kann Teilmenge der vorhandenen Transaktionen bedeuten oder aber auch nur bestimmte Attribute der Transaktionen betrachten. Nicht immer liegen die Daten in einem M ISTRAL kompatiblen Format
vor. Es ist also eine Transformation in ein Format nötig, das eine gekoppelte
DataFetcher-Komponente lesen kann.
Abbildung 5.1: Das Programm M ISTRAL
Voranalyse der Daten
Bevor man mit dem eigentlichen Data Mining beginnt, ist es häufig sinnvoll, in
einer Voranalyse die Daten zu untersuchen. Dabei betreibt man das angestrebte
Projekt auf einer kleinen Testmenge der Datenbasis, die zufällig bestimmt werden
sollte. Gefundene Grenzwerte — also zum Beispiel besonders starke oder besonders schwache Regeln — sollten überprüft werden. Zur Überprüfung häufiger
Artikelmengen bietet sich zum Beispiel das in M ISTRAL integrierte Werkzeug
M ISTRAL C HECK an. Anhand dieser Ergebnisse kann abgeschätzt werden, wie
das tatsächliche Projekt resultieren wird.
Definition eines Projekts
Um ein Data Mining Projekt zu definieren, müssen bestimmte Komponenten ausgewählt werden: Eine DataFetcher Komponente, welche die Daten bereitstellt,
5.2. Menüstruktur von M ISTRAL
71
ein Algorithmus, der die Daten verarbeitet, und eine Anzahl von Viewer Komponenten zur Darstellung und Speicherung der Ergebnisse. Die Definition eines
Projekts wird in Abschnitt 5.3 näher besprochen.
Projektdurchführung
Nachdem die Komponenten für das Projekt bestimmt worden sind, kann das Projekt gestartet werden. Zuvor bietet es sich jedoch an, die Definitionen in einer
Projektdatei zu speichern. Hierfür dient die Menüoption File/Save....
Sobald das Projekt gestartet ist, kann man unter Project/Summary den aktuellen Status des Projektlaufs abfragen. Hier sind auch die eingestellten Parameter
der einzelnen Projektkomponenten einsehbar. Der Data Mining Lauf ist beendet,
sobald in der Statusleiste die Meldung Project finished. angezeigt wird.
Sichten und Interpretieren der Ergebnisse
Nachdem das Projekt abgeschlossen ist, müssen die Ergebnisse gesichtet und interpretiert werden. Es bietet sich an, als Viewer auch den Textfile Viewer
(Tabulator Style) zu verwenden. Hier werden die erzeugten Regeln spaltenweise in eine Textdatei geschrieben. Dadurch ist ein späterer Import in eine
Tabellenkalkulation wie zum Beispiel MS-Excel problemlos möglich.
Die aufbereitete Präsentierung der Regeln vereinfacht die Interpretation durch den
Anwender.
5.2 Menüstruktur von M ISTRAL
Die einzelnen Menüs von M ISTRAL gliedern sich logisch in folgende Unterpunkte:
File Hier kann ein neues Projekt erstellt (New), ein bereits erstelltes Projekt
geladen (Open) oder gespeichert werden (Save). Der Menüpunkt Exit
speichert alle getroffenen Einstellungen und beendet das Programm.
Project Dieses Menü dient zur Erstellung eines neuen Projektes. Ein bereits definiertes Projekt kann hier ebenso verändert werden. Der Project
Wizard führt durch die komplette Definition eines Data Mining Projekts
und ist Anfängern zu empfehlen. Manuell können die zu verwendenden
Komponenten in den Menüpunkten DataFetcher, Algorithm und
Viewer erreicht werden. Der Menüpunkt Summary gibt eine Zusammenfassung über die getätigten Projekteinstellungen und Run schließlich startet
das aktuelle Projekt.
5. Bedienungshinweise zu M ISTRAL
72
Components Hier können die MISTRAL Komponenten an– oder abgekoppelt werden. Jede Art von MISTRAL Komponente ist hier mit einem eigenen
Menüpunkt vertreten.
Tools Das Tools Menü beinhaltet verschiedene Werkzeuge, die während
eines Data Mining Prozesses nützlich sind. So zeigt Taxonomies die
Baumstruktur von Taxonomien an. Check Support wiederum berechnet den Support von bestimmten Artikelmengen in zu spezifizierenden Datensätzen. Auf das Tools–Menü wird in 5.5 detaillierter eingegangen.
Help Das Help Menü bietet momentan nur einen About Dialog an, der
die Version und das Logo von M ISTRAL zeigt.
5.3 Definition eines M ISTRAL Projekts
Zur Definition eines M ISTRAL Projekts müssen die drei Schlüsselkomponenten
bestimmt werden: DATA F ETCHER, A LGORITHM und V IEWER. Die Festlegung
der gewünschten Komponenten kann im Menü Project durchgeführt werden.
Die Abbildung 5.2 zeigt die Definition einer Algorithmus Komponente.
Um eine andere Komponente festzulegen, wählt man den Select Schalter. Die
Komponenten DATA F ETCHER und A LGORITHM erlauben hierbei nur Einfachauswahl, während bei der Definition der V IEWER Komponente Mehrfachauswahl
möglich ist. So können zum Beispiel die Ergebnisse durch einen W INDOW V IEWER in einem Fenster dargestellt werden. Gleichzeitig schreibt ein T EXTFILE V IEWER die Ergebnisse in eine Datei.
Hinweis Durch die Implementierung in Java treten zwei Besonderheiten bei der
Bedienung auf: Werden in den Textfeldern Eingaben getätigt, so müssen diese
immer mit ENTER bestätigt werden. Weiter dient der forward-slash / als einheitliches Trennzeichen für Dateipfade (also D:/Daten anstelle von D:nDaten).
5.4 Arbeiten mit M ISTRAL Komponenten
M ISTRAL Komponenten bestimmen die wesentliche Funktionalität des Data Mining Werkzeugs. Durch das einfache An– und Abkoppeln der Komponenten in
M ISTRAL ist diese Funktionalität sehr flexibel an ein bestehendes Data Mining
Problem anpassbar.
5.4. Arbeiten mit M ISTRAL Komponenten
73
Abbildung 5.2: Projektdefintion (DBCDataFetcher)
5.4.1 Koppeln
M ISTRAL kann problemlos weitere Komponenten aus den Bereichen DATA F ETCHER , A LGORITHM und V IEWER aufnehmen. Wie neue Komponenten aufgebaut
sein sollten, kann in Abschnitt 4.2.4 detailliert nachgelesen werden. Zur Ankopplung und Bearbeitung der vorhandenen Komponenten dient das Components
Menü.
Die Abbildung 5.3 zeigt das Bearbeitungsfenster der A LGORITHM Komponente.
Allgemein lassen sich in den Bearbeitungsfenstern neue Komponenten ankoppeln
(Add), vorhandene Komponenten aus M ISTRAL löschen (Remove) und Informationen über die gerade angewählte Komponente anzeigen (About).
Soll eine neue Komponente in M ISTRAL aufgenommen werden, so muss der Add
Schalter in einer der Components Menüs gedrückt werden. Ein Eingabefenster
fragt nach der URL der anzukoppelnden Komponente. Diese URL entspricht dem
Klassennamen, dem sein Paketname vorausgeht.
Beispiel Wollte man etwa die neue Komponente A PRIOR I NTERVAL mit gleichem Klassennamen und Paketzugehörigkeit M ISTRAL C OMPONENTS in M I STRAL einhängen, so müsste die URL MistralComponents.ApriorInterval lauten. Es wird davon ausgegangen, dass die Klasse in einem erreichbaren Java–
Klassenpfad untergebracht ist.
5. Bedienungshinweise zu M ISTRAL
74
Abbildung 5.3: Bearbeiten von M ISTRAL Komponenten
5.4.2 Vorhandene Komponenten
Die Eigenschaften der schon in M ISTRAL integrierten Komponenten soll hier kurz
vorgestellt werden:
DataFetcher
– TextDataFetcher Damit können flache Textdateien eingelesen werden. Eine detaillierte Beschreibung des verwendeten Dateiformats
wird in Abschnitt 5.6 gegeben.
– DBCDatafetcher Diese Komponente bietet eine Anbindung an Datenbanken mit JDBC/ODBC Schnittstelle. Durch Angabe des installierten Datenbanktreibers und der Datenbankquelle (URL) kann jede
JDBC/ODBC Datenbank an M ISTRAL gekoppelt werden. Ein zu spezifizierender SQL Befehl steuert hierbei das Auslesen der Daten.
Algorithmen
– Cumulate Ein Algorithmus zum Finden von (generalisierten) Assoziationsregeln. Er wurde erstmals in [SA95] vorgestellt.
– ApriorInterval Im Wesentlichen dem C UMULATE–Verfahren gleich.
Zusätzlich kann hier eine obere Support–Schranke angegeben wer-
5.5. Das Tools Menü
75
den, welche die häufigen Artikelmengen bzw. Regeln einschränkt.
Näheres hierzu in Abschnitt 7.2 (Seite 96).
– FrequentSets Ein Verfahren zur Bestimmung häufiger (generalisierter) Artikelmengen.
– ItemDistribution Dieser Algorithmus liest die komplette Datenbank
ein und berechnet die Häufigkeit aller vorhandenen Einzelartikel.
– DummyAlgorithm Dieser Algorithmus bewirkt nichts. Er schleust
die Daten, die er von der DataFetcher Komponente geliefert bekommt,
gleich an den Viewer weiter. D UMMYA LGORITHM kann in Verbindung mit der TEXTFILE V IEWER (M ISTRAL S TYLE ) Komponente dazu genutzt werden, Daten aus fremden Datenquellen in eine flache,
DataFetcher kompatible, Textdatei zu konvertieren.
Viewer
– WindowViewer Dieser Viewer gibt die Ergebnisse in einem Fenster
aus. Allerdings empfiehlt sich die Benutzung von WindowViewer nur
bei kleinen Resultatmengen.
– TextfileViewer Hier werden die Verbalisierungen der möglichen Resultate (wie Regeln oder häufige Artikelmengen) in eine einfache Textdatei geschrieben.
– TextfileViewer (Mistral Style) Wenn Resultate Transaktionen sind,
dann werden diese im TextDataFetcher Format geschrieben. Ansonsten wie bei TextfileViewer.
– TextfileViewer (Tabulator Style) Wenn die Resultate Regeln sind,
dann werden diese in einem tabellenähnlichen Format geschrieben.
Ansonsten wie bei TextfileViewer.
5.5 Das Tools Menü
Zum Verständnis der Daten hält M ISTRAL einige Werkzeuge bereit, die direkt aus
dem Programm gestartet werden können:
Taxonomies
Zwischen Artikeln können Hierarchien, sogenannte Taxonomien, gebildet werden. Milchprodukte ist dann z. B. eine Übergruppe von Milch, welche ihrerseits
wieder eine Übergruppe von H–Milch ist. Solche Taxonomien werden mit Hilfe einer Taxonomiedatei bei einigen Algorithmen (z.B. C UMULATE ) angegeben.
76
5. Bedienungshinweise zu M ISTRAL
Um einen Überblick über die definierten Hierarchien zu gewinnen, können die
Taxonomiebäume mit dem Tool TAXONOMIES angezeigt werden.
Abbildung 5.4: Tool Taxonomies
Check Support
Zur Voranalyse oder auch zur Kontrolle der Ergebnisse kann das Tool C HECK
S UPPORT dienen. Hier wird eine im TextDataFetcher Format gespeicherte Datei
als Datenbasis angegeben. Eine spezifizierte Artikelmenge wird daraufhin von
diesem Tool in der Datenbasis gesucht. Nach dem erfolgreichen Lauf durch die
Daten wird der Support der angegebenen Artikelmenge berechnet und ausgegeben. Auf diese Weise lassen sich einzeln häufige Artikelmengen und Konfidenzen
von Regeln berechnen bzw. überprüfen.
5.6 Dateiformat: TextDataFetcher
Oftmals ist es nötig, die Daten aus einem proprietären Datensystem in eine flache
Textdatei zu überführen. Dadurch wird die folgende Transformation der Daten
meist erst ermöglicht oder zumindest vereinfacht. Die Komponente TEXT DATA F ETCHER bildet das Bindeglied zwischen solchen Textdateien und dem M ISTRAL
Kern. Das Format ist denkbar einfach:
Jede Zeile besteht aus genau einer Transaktion. Die Einträge in dieser Zeile sind
durch Tabulatoren getrennt. Dabei wird der erste Eintrag als Transaktionsidentifikation (TID) interpretiert. Die folgenden Einträge stellen die verschiedenen
Artikel dar.
5.7. Dateiformat: Taxonomie-Definition
77
TID1 [<--TAB]Artikel1 [<--TAB]Artikel2
TID2 [<--TAB]Artikel2 [<--TAB]Artikel3
TID3 [<--TAB]Artikel1
..
.
Abbildung 5.5: Format TextDataFetcher
5.7 Dateiformat: Taxonomie-Definition
Taxonomien werden in Dateien definiert. Dabei muss der komplette Hierarchiewald in einer Datei abgelegt sein. Die einzelnen Bäume werden durch eine Zeile
getrennt, die den Bezeichner [NEWTREE] enthält. Auch die letzte Baumdefinition in der Datei sollte mit dieser Zeile enden.
Zwischen zwei [NEWTREE] wird der eigentliche Baum definiert: Jede Zeile
enthält genau einen Ursprungs- und einen Endknoten, die beide durch einen Tabulator getrennt sind. Der erste Knoten einer Baumdefinition kennzeichnet dabei
die Wurzel. Sonst gilt folgende Grundregel: Jeder Knoten auf der linken Seite
muss zuvor (in einer vorhergehenden Zeile) schon einmal als Endknoten auf der
rechten Seite definiert worden sein. Der Baum aus Abbildung 5.4 müsste also so
beginnen:
[NEWTREE]
Milchprodukte
Milchprodukte
Milch
Milch
H–Milch
H–Milch
Jogurt
Jogurt
..
.
[<--TAB]
[<--TAB]
[<--TAB]
[<--TAB]
[<--TAB]
[<--TAB]
[<--TAB]
[<--TAB]
Milch
Jogurt
Fit–Milch
H–Milch
H–Milch1.5%
H–Milch0.2%
JogurtNatur
JogurtGeschmack
[NEWTREE]
Abbildung 5.6: Format Taxonomie Definition
78
5. Bedienungshinweise zu M ISTRAL
6
Auswertung der Daten und
Ergebnisse
Um die Korrektheit und Leistungsfähigkeit von MISTRAL zu zeigen, wurden die
ersten Programmläufe mit synthetisch erzeugten Daten durchgeführt. Dabei handelte es sich um künstlich generierte Transaktionen aus der Warenkorbdomaine.
Später wurden Daten aus zwei realen Anwendungsbereichen untersucht. Beide ließen sich ebenfalls auf die Transaktionsebene transformieren. Eine Datenbank beinhaltete Ergebnisse von Abgas–Katalysatortests der Firma Degussa AG
(Hanau–Wolfgang), während die andere Datenbank aus der Warenwirtschaft der
Firma Quitmann (Hagen) stammte. Beide Datenbanken sind unterschiedlich dimensioniert und verfügen über entgegengesetzte Datencharakteristika.
Von besonderem Interesse war auch die Frage, inwieweit sich die Standardverfahren auf eine diagnostische Domäne anwenden lassen. Hierfür wurden Fälle aus
einer Wissensbasis zur Pflanzenerkennung herangezogen.
6.1 Synthetische Daten
Die Evaluation des Data Mining Programms M ISTRAL wurde mit synthetischen
Daten durchgeführt. So wurden Datensätze mit unterschiedlicher Größe, aber
gleicher Charakteristik generiert. Als Charakteristik konnte der Support einiger
ausgezeichneter Artikelmengen bestimmt werden. Alle übrigen freien Artikelpositionen wurden in der Datenbank durch Dummy-Artikel aufgefüllt. Durch die
Festlegung des Supports konnte auch die Konfidenz von Regeln vordefiniert wer79
80
6. Auswertung der Daten und Ergebnisse
den. Denn die Konfidenz einer Regel A ) B berechnet sich aus dem Support der
Artikelmengen fAg und fA; B g.
Baum
Tiefe Blätter
Milchprodukte
3
15
Gemüse
2
5
Obst
2
6
Brot
2
6
Süsswaren
2
8
Wurst
2
3
Nudel
1
4
Frühstück
2
5
Getränke
4
10
Abbildung 6.1: Taxonomiebäume der synthetischen Daten
Die Transaktionsgröße wurde sowohl poissionverteilt (mit Mittelwert = 10)
als auch gleichverteilt (pro Transaktion 10 Artikel) gewählt. Für jede Verteilung
entstanden jeweils fünf Datensätze zu 1000 (1K), 5000 (5K), 10000 (10K), 50000
(50K) und 100000 (100K) Transaktionen. Jeder Datensatz verfügte über 1055 verschiedene Einzelartikel, 55 ausgezeichnete und 1000 zufällige Füllartikel. Die 55
ausgezeichneten Artikel wurden mit Namen aus der Warenkorbdomäne beschriftet.
Transaktionen Verteilung Artikelzahl Trans.größe
gleich
10000
10.0000
1K
poisson
9908
9.9080
gleich
50000
10.0000
5K
poisson
49900
9.9800
gleich
100000
10.0000
10K
poisson
99897
9.9897
gleich
500000
10.0000
50K
poisson
499951
9.9990
gleich
1000000
10.0000
100K
poisson
999902
9.9990
Abbildung 6.2: Größe der synthetischen Daten
Abbildung 6.2 zeigt für jeden Datensatz die Anzahl der darin enthaltenen Artikel.
6.1. Synthetische Daten
81
Die durchschnittliche Transaktionsgröße definiert sich aus dem Quotienten der
Transaktionenanzahl und der Artikelanzahl.
Transaktionen Verteilung
gleich
1K
poisson
gleich
5K
poisson
gleich
10K
poisson
gleich
50K
poisson
gleich
100K
poisson
Dateigröße Zeit (m. Tax.) Zeit (o. Tax.)
75 548 Byte
20,17 min.
1,27 min.
71 968 Byte
22,71 min.
1,31 min.
378 246 Byte
32,36 min.
4,76 min.
367 749 Byte
30,75 min.
4,57 min.
756 658 Byte
43,53 min.
10,27 min.
744 270 Byte
43,76 min.
10,04 min.
3 782 862 Byte
152,63 min.
45,42 min.
3 733 776 Byte
152,63 min.
44,02 min.
7 565 725 Byte
338,33 min.
95,18 min.
7 467 553 Byte
320,30 min.
88,06 min.
Abbildung 6.3: Performanz von M ISTRAL mit synthetischen Daten (Tabelle)
Zusätzlich wurden für die 55 ausgezeichneten Artikel noch Generalisierungen
in Form von neun Taxonomiebäumen verfügbar gemacht. Die Tiefe und der
Blätterbestand der einzelnen Bäume ist in Abbildung 6.1 verzeichnet.
350
gleichverteilt (mit Tax.)
poisson verteilt (mit Tax.)
gleichverteilt (ohne Tax.)
poisson verteilt (ohne Tax.)
300
Zeit (min.)
250
200
150
100
50
0
0
10
20
30
40
50
60
70
Datenbankgroesse (in KB)
80
90
100
Abbildung 6.4: Performanz von M ISTRAL mit synthetischen Daten (Graphik)
Zur Evaluation wurden die 10 Datensätze sowohl mit Taxonomien als auch ohne
Angabe von Taxonomien untersucht. Da die Charakteristik der Daten (Häufigkeit
82
6. Auswertung der Daten und Ergebnisse
der Artikelmengen) bekannt war, konnten Korrektheit und Vollständigkeit der Regeln überprüft und bestätigt werden. Folglich erzeugt M ISTRAL auch für alle
Datengrößen die gleichen Regeln.
Die Tabelle in Abbildung 6.3 zeigt die Performanz der Implementierung in den
unterschiedlichen Testläufen. Abbildung 6.4 zeigt sehr deutlich, wie der Zeitbedarf fast linear mit der Datenbankgröße zunimmt. Der etwas höhere Zeitbedarf
der gleichverteilten Daten im Vergleich zu den poissonverteilten Transaktionen
lässt sich mit dem entsprechend größeren Datenumfang begründen. Die gleichverteilten Daten enthalten jeweils geringfügig mehr Artikel in den Transaktionen
als die poissonverteilten Datensätze. Dies verdeutlicht die Tabelle in Abbildung
6.2. Eine weitere interessante Eigenschaft lässt sich in Abbildung 6.4 beobachten: Der Zeitbedarf der Testläufe mit Taxonomien steigt merklich steiler an als
der Zeitbedarf der Testläufe ohne Verwendung von Taxonomien. Einen parallelen Verlauf zu den Kurven ohne Taxonomien würde man zuerst erwarten. Diese
Kurven erklären sich aber in folgender Weise: Die Verfahren müssen bei Taxonomien nicht einfach nur mehr Artikel verarbeiten, sondern fügen auch bei jedem
Datenbankdurchlauf in jeder Transaktion die Vorfahren hinzu. Nach jedem Datenbankdurchgang werden die nicht mehr benötigten Vorfahren eliminiert. Dies
schlägt sich in dem wesentlich höher gemessenen Zeitbedarf nieder.
6.2. Katalysator-Testfahrten der Degussa AG
83
6.2 Katalysator-Testfahrten der Degussa AG
Die Degussa AG (Deutsche Gold- und Silber-Scheideanstalt) feierte 1998 ihr 125–
jähriges Bestehen und ist vielen als Edelmetallverarbeiter ein Begriff. Seit 1968 ist
die Degussa jedoch auch in der Entwicklung von Autoabgas-Katalysatoren tätig.
Heute hält sie als Lieferant für diese Katalysatoren 20% des Weltmarktanteils.
Die Entwicklung neuer Katalysatoren umfasst viele Einzelschritte und eine Anzahl von Tests und Auswertungen. Am Ende dieser Kette stehen Testfahrten, die
ein Katalysator — in einen realen PKW eingebaut — auf dem Rollband absolvieren muss. Bei jeder Testfahrt entsteht eine Vielzahl von Meßergebnissen.
Die untersuchten Daten stellen eine Teilmenge dieser Testfahrten dar. Der Datensatz lag in einer relationalen Datenbank (MS-Access) vor und umfasste 2769 Testfahrten aus den Jahren 1996 und 1997. Für jede Fahrt wurden 18 Attribute erfasst,
die sich wie folgt aufschlüsseln: Datum der Fahrt, Motortyp (Otto/Diesel), Motornummer (Art und Größe des Motors), Fahrer, Analytiker, weitere Parameter,
die den Katalysator beschreiben und vier Auswertungsergebnisse der Testfahrt.
Die Inhalte und Namen der Felder wurden teilweise verschlüsselt, da es sich um
betriebssensible Daten handelt.
6.2.1 Vorverarbeitung der Daten
Fachleute der Degussa AG überführten die quantitativen Attribute in Intervalle,
die mit Buchstaben oder Zahlen symbolisiert wurden. Taxonomien waren nicht
bekannt. Da die Testfahrten in einer relationalen Datenbank vorlagen, gestaltete
sich die Vorverarbeitung sehr einfach: Jede Testfahrt wurde als eine Transaktion betrachtet, deren Artikel sich als Kombination des Feldnamens und des Feldwerts definierten. So entstanden beispielsweise die Artikel DATUM-19970228
oder FAHRER NR-6.
Durch die obige Transformation entstanden 737 verschiedene Einzelartikel (Ausprägungen der Feldnamen), verteilt auf 2769 Transaktionen. Jede Transaktion
enthielt genau 18 Artikel und eine fortlaufende Zahl als Transaktionsidentifikation
(TID).
6. Auswertung der Daten und Ergebnisse
84
6.2.2 Ergebnisse
Es ist leicht ersichtlich, dass der zeitliche Ausschnitt von nur zwei Jahren die
Vielfalt der Attributverteilung begrenzt. Gespeichert wurden im Grunde genommen die Entwicklung weniger Katalysator–Typen und deren verschiedene Prototypenergebnisse. Daher variieren die Attributkombinationen meist nur minimal.
Hieraus folgt aber, dass sehr viele Artikelkombinationen als ,,häufig” gekennzeichnet werden. So überraschten die vielen Regeln trotz hoher Support– und
Konfidenzwerte wenig.
2000
1600
Konfidenz 70%
Konfidenz 80%
Konfidenz 90%
400
Anzahl der Regeln
Anzahl der Regeln
450
Konfidenz 70%
Konfidenz 80%
Konfidenz 90%
1800
1400
1200
1000
800
600
350
300
250
200
150
400
100
200
50
0
0
30
40
50
60
70
Support (in %)
80
90
100
40
50
60
70
80
Support (in %)
90
100
Abbildung 6.5: Anzahl der Regeln (Degussa Testfahrten)
Die Abbildung 6.5 zeigt, wie die Anzahl der Regeln bei fester Konfidenz und
variablem Support variiert. Dabei sind die Werte für eine feste Konfidenz von
70%, 80% und 90% aufgetragen.
Man sieht, dass die Anzahl der Regeln unter einem Support von etwa 60% nicht
mehr für eine manuelle Auswertung geeignet ist. Ebenso ist deutlich zu erkennen,
dass die Regelgröße unter 40% Support exponentiell ansteigt.
Eine Vorstellung von der Regelgröße gibt die folgende Tabelle in Abbildung 6.6,
welche die Größe der Regeln nach Support und Konfidenz aufgeschlüsselt darstellt. Dabei bedeutet 2er Regel, dass die Regel von zwei Artikeln aufgespannt
wird (z.B. MOTOR TYP-C ) KAT ERGEBNIS-A).
Die gefundenen Regeln wurden von Degussa wieder rekodiert und bewertet. Zum
Zeitpunkt der Drucklegung der vorliegenden Arbeit war die Auswertung der Ergebnisse noch nicht fertiggestellt. Eine Bewertung der Regeln ist also leider nicht
möglich.
6.3. Die Warenwirtschaft der Firma Quitmann
85
Anzahl der Regeln nach Regelgröße
Konfidenz
Support
2er
3er
4er
Gesamt
70%
60%
70%
80%
90%
60%
70%
80%
90%
60%
70%
80%
90%
17
12
8
4
14
11
8
4
12
9
7
4
55
36
9
0
37
25
9
0
31
19
7
0
58
40
0
0
33
18
0
0
30
15
0
0
130
88
17
4
84
54
17
4
73
43
14
4
80%
90%
Abbildung 6.6: Verteilung der Regelgrößen (Degussa)
6.3 Die Warenwirtschaft der Firma Quitmann
Als mittelständischer Betrieb aus Hagen mit 85 Mitarbeitern und 25 Millionen DM Umsatz im Jahr vertreibt die Firma Quitmann Büroeinrichtungen, –
maschinen und –bedarf. Alle Aufträge werden in einem Warenwirtschaftssystem
erfasst und gespeichert. Im Rahmen dieser Arbeit sollte die Abteilung Bürobedarf
untersucht werden, da sich die Firma hier interessante Ergebnisse versprach.
6.3.1 Vorverarbeitung der Daten
Die elektronische Erfassung der Warenwirtschaft wird durch das System UBIS
der Firma Haas aus Gummersbach geregelt. Da das System bis jetzt noch eine proprietäre, filesystem-ähnliche Datenhaltung einsetzt, mussten die Daten in
eine flache Textdatei exportiert werden. Diese enthielt Umsatz und Rohgewinn
aller Kunden in den Jahren 1996 und 1997, aufgeschlüsselt in die sieben Bereiche
des Unternehmens: Möbel, Bürobedarf, Kopierer, Computer, Postbearbeitungsmaschinen, sonstige Maschinen und technischer Kundendienst.
Ausgehend von dieser gut 255 MB großen Datei mit 785246 Zeilen wurde eine
Konvertierung in ein M ISTRAL kompatibles Format durchgeführt. Weiter wurden die Aufträge nach Kundennummer und Auftragsdatum sortiert. Aufträge
der gleichen Kunden selben Datums wurden zusammengeführt. Als Transakti-
86
6. Auswertung der Daten und Ergebnisse
ons ID wählte man eine Kombination zwischen Kundennummer und Auftragsdatum. Übrig blieb eine knapp 6 MB große Textdatei mit 121412 Transaktionen, die
durch 25196 Einzelartikel aufgespannt wurden. Die durchschnittliche Transaktionsgröße betrug 3,22 Artikel.
Eine weitere Datei wurde bereitgestellt, die alle Artikel aus der Abteilung Bürobedarf in 42 Produktgruppen unterteilte. Diese wurden benutzt, um alle Artikel aus den Transaktionen zu entfernen, die keiner Bürobedarf –Produktgruppe
zugehörig waren. Daraufhin artikellose Transaktionen wurden entfernt. Dies
dezimierte die Transaktionenzahl von 121412 auf 70309 Datensätze mit 9803
Einzelartikeln. Die durchschnittliche Transaktionsgröße blieb mit 3,28 Artikeln
etwa gleich. Dies erklärt sich daraus, dass Transaktionen ohne Bürobedarf–
Produktgruppen in der Regel sehr klein waren (1–2 Artikel) und sich damit
die durchschnittliche Transaktionsgröße erst einmal erhöhte. Weil die ,,Nicht–
Bürobedarfs–Artikel” aus den verbliebenen Transaktionen allerdings entfernt
wurden, verringerte sich aber die Transaktionsgröße wieder.
6.3.2 Ergebnisse
Die Anzahl der verwendeten Einzelartikel (9803 Artikel), die sich auf nur 70309
Transaktionen verteilen, und die kleine durchschnittliche Transaktionsgröße von
3,28 Artikeln ließen keine großen Erwartungen bezüglich der zu findenden Regeln
aufkommen. Bei einem ersten Testlauf stellte sich heraus, dass nur 22 Einzelartikel (0.2% von 9803) einen Support von 0.5% erreichen würden. Kombinationen
zwischen diesen ,,häufigen” Artikeln ließen den Support weiter drastisch fallen
(unter 0.02% Support), so dass an eine Regelgenerierung nicht mehr zu denken
war. Durch die Verwendung der Produktgruppen als Artikel-Taxonomien konnten
jedoch in der Voranalyse einige häufige Artikelmengen gefunden werden.
Daraufhin wurde ein Data Mining Lauf mit 0.3% Support und 60% Konfidenz
durchgeführt. Das Verfahren CUMULATE entdeckte 719 Regeln, die in Abbildung
6.7 nach ihrer Größe und Anzahl detailliert aufgeschlüsselt werden.
Die Graphik in Abbildung 6.8 zeigt, wie die Anzahl der Regeln in gleicher Weise,
ihrem Konfidenzwert entsprechend, zunehmen.
Eine Auswertung der Firma Quitmann zeigte, dass besonders 2er Regeln (Regeln
mit nur einer Vorbedingung und einer Nachbedingung) und Regeln mit Einzelartikeln von Interesse waren. Assoziationsregeln mit größeren Vor– und Nachbedingungen, die ausschließlich aus Produktgruppen bestanden, ließen keine befriedigende Analyse der Zusammenhänge zu.
6.3. Die Warenwirtschaft der Firma Quitmann
87
Anzahl der Regeln pro Regelgröße
Konfidenz
Support
2er
3er
4er
5er
6er
Gesamt
60%
0.3%
0.6%
1.0%
0.3%
0.6%
1.0%
0.3%
0.6%
1.0%
51
10
3
11
1
0
0
0
0
155
65
42
67
24
13
9
3
0
256
110
43
156
64
27
62
21
6
213
37
0
146
19
0
78
12
0
44
0
0
25
0
0
10
0
0
719
222
88
405
108
40
159
36
6
70%
80%
Abbildung 6.7: Verteilung der Regelgrößen (Quitmann)
Nachdem die Regeln des vorherigen Data Mining Laufs nach diesen Kriterien gefiltert worden waren, verblieben 110 Assoziationen in der Ergebnismenge. Darin
waren 54 2er Regeln, 53 3er Regeln und drei 4er Regeln enthalten.
Bis auf zwei Ausnahmen bildeten die 2er Regeln grundsätzlich Einzelartikel auf
die Produktgruppe [101] (Ordnungsmittel) ab. Dies ist wenig verwunderlich, da
diese Produktgruppe mit einem Support von 49.68% in der Datenbasis außerordentlich stark vertreten ist. Nur zwei Regeln zeigten Assoziationen zwischen zwei
Produktgruppen:
(Rund um den Schreibtisch) ) (Ordnungsmittel) [sup: 3,57%; con: 61,86%]
(KL-Rund um den Schreibtisch) ) (Ordnungsmittel) [sup: 1,05%; con: 61,82%]
Das Präfix KL bezeichnet eine Produktgruppe, deren Artikel nicht auf Lager waren
und somit bestellt werden mussten. Ebenso waren Regeln mit hoher Konfidenz
von Interesse. Die Regel
DOR9778 ) (Rund um den Schreibtisch) [sup: 0,34%; con:78,18%]
beispielsweise hatte den höchsten Konfidenzwert aller 2er Regeln. Der Einzelartikel DOR9778 gliedert sich in die Produktgruppe (Schreiben/Zeichnen (Büro))
ein.
Als Folgerung auf die gefundenen Regeln und die Ergebnisse der Auswertung
überlegt die Firma Quitmann momentan, ihren Warenkatalog umzustellen. Artikel bzw. Produktgruppen, die häufig miteinander konsumiert werden, sollen dann
6. Auswertung der Daten und Ergebnisse
88
Konfidenz 60%
Konfidenz 70%
Konfidenz 80%
Anzahl der Regeln
140
120
100
80
60
40
20
0
0
0.5
1
1.5
2
Support (in %)
2.5
3
Abbildung 6.8: Anzahl der Regeln (Quitmann)
auch nahe beieinander im Katalog vertreten sein, um so dem Kunden die Bestellung zu erleichtern. Langfristig wird eine Überprüfung der Produktstandorte im
Ladengeschäft angestrebt. Auch hier sollen assoziative Artikel und Produktgruppen näher zusammenrücken.
6.4 Pflanzenwissensbasis
Als Beispiel für eine Datensammlung in diagnostischer Domäne wurde eine Pflanzenwissensbasis aus dem Expertensystem D3 [PGPB96] verwendet. Diese Wissensbasis wurde im Rahmen einer Praktikumsarbeit (siehe dazu auch [Ern96]) erstellt und beinhaltet 13101 Fälle. Jeder Fall ist hierbei in 3 Fragebögen (,,Blüte”,
,,Blätter”, ,,Stengel”) aufgeteilt, die zusammen 40 Merkmalsbeschreibungen umfassen. Darüber hinaus ist zu jeder Pflanze eine Abbildung verfügbar.
6.4.1 Vorverarbeitung der Daten
Für den Data Mining Lauf wurden die Fälle in eine flache Textdatei exportiert.
Jeder Fall erhielt eine eigene Zeile, welche eine eindeutige Fallidentifikation, eine
Diagnose des Pflanzentyps und 40 Merkmalsausprägungen enthielt. Die Datenbasis wurde somit in ein transaktionelles Format mit 41 Artikeln und einer ID pro
Transaktion überführt.
6.4. Pflanzenwissensbasis
89
6.4.2 Ergebnisse
Es sind 74 verschiedene Diagnosen und 102 verschiedene Merkmalsausprägungen
in der Datenbasis gespeichert. Da Regeln mit Diagnoseattributen von besonderem
Interesse waren, wurde die Verteilung der 74 Diagnosen näher betrachtet.
Die häufigste Diagnose ist mit 396 Fällen (3,02% Support) in der Wissensbasis
gespeichert. Die seltenste Diagnose ist nur mit 125 Fällen vertreten, was einem
Support von circa 0,95% entspricht. Damit also alle Diagnosen in den zu generierenden Regeln vertreten wären, müsste der minimale Support unter 0.95% gesetzt
werden.
Die Anzahl der Attribute pro Fall und einige Voranalysen ließen eine große Anzahl von Regeln vermuten. Daher wurden zunächst alle Fälle mit der Diagnose p6355 (Duftlose Kamille Matricaria inodora) aus der Wissensbasis extrahiert. Diese Testmenge sollte probeweise untersucht werden. Die Diagnose p6355
wurde gewählt, da sie mit 396 Fällen am stärksten vertreten war. Der minimale
Support wurde auf 80%, die minimale Konfidenz auf 90% gesetzt. Der Testlauf
ermittelte 20768 Regeln, die diesen Schwellwert erfüllten; 10213 Regeln davon
beinhalteten die Diagnose. Einen genauen Überblick verschafft die Tabelle in Abbildung 6.9, welche die Diagnoseregeln nach ihrer Regelgröße aufschlüsselt. Die
Spalten Vorbedingung und Nachbedingung geben an, wieviele Regeln das Diagnoseattribut in der Vor– bzw. Nachbedingung beinhalten.
Anzahl der Regeln pro Regelgröße
2er Regel
3er Regel
4er Regel
5er Regel
Vorbedingung
Nachbedingung
Gesamt
11
194
1787
5182
8
124
888
2019
19
318
2675
7201
Abbildung 6.9: Verteilung der Regelgrößen (Pflanzen)
Es ist verständlich, dass die große Anzahl der Regeln für eine manuelle Auswertung unbrauchbar ist. Sogar die minimale Konfidenz von 100% wird immer noch
von 4926 Regeln erfüllt.
Testläufe mit anderen Diagnose-Clustern (bspw. mit dem Diagnoseattribut Kornblume Centaurea cyanus) errechneten eine ähnlich große Anzahl von Regeln.
Zusätzlich wurde ein Lauf mit dem Standardverfahren C UMULATE über der ge-
6. Auswertung der Daten und Ergebnisse
90
samten Datenbasis durchgeführt. Der minimale Support wurde auf 50% und die
minimale Konfidenz auf 70% gesetzt. Mit diesen hohen Schwellwerten erzeugte das Verfahren 409 Assoziationsregeln. Roman Ernst vom Biologischen Institut (Universität Würzburg), der die untersuchte Pflanzenwissensbasis erstellt hatte, sichtete die Resultate und bestätigte die Vermutung, dass nur triviale Zusammenhänge gefunden wurden. Als Beispiel soll folgende Regel aus der Ergebnismenge dienen:
netznervige oder fiedernervige Blattveratur ^ kein Stengelmilchsaft ^
kein gefärbter Milchsaft ) keine Blattranken [sup: 64,35%; con: 96,1%]
Diese Regel ist nicht besonders verwunderlich, da in der Natur die Attribute in
der vorliegenden Kombination häufig auftreten. Folglich assoziieren die Attribute
auch in der Wissensbasis stark.
Die erfolgreiche Implementierung des A PRIOR I NTERVAL –Verfahrens (siehe 7.2,
Seite 96) ermöglichte die Untersuchung der Datenbasis in einem beschränkten
Supportintervall.
Konfidenz
Regelanzahl
100%
17
95%
21
90%
22
85%
25
80%
25
75%
29
70%
32
Abbildung 6.10: Anzahl der Regeln nach Konfidenz (Pflanzen)
So wurde das zulässige Supportintervall auf [0,1%; 3,5%] gesetzt und eine minimale Konfidenz von 70% verlangt. A PRIOR I NTERVAL fand 32 Regeln, welche
die vorgegebenen Schwellwerte erfüllten.
32
Anzahl der Regeln
30
28
26
24
22
20
18
16
70
75
80
85
90
Konfidenz (in %)
95
100
Abbildung 6.11: Anzahl der Planzen–Regeln nach Konfidenz
Die Tabelle 6.10 schlüsselt die Anzahl der Regeln nach dem Konfidenzwert auf.
In Abbildung 6.11 ist die graphische Visualisierung dieser Tabelle zu sehen.
6.4. Pflanzenwissensbasis
91
Herr Roman Ernst bestätigte die gefundenen Regeln. Im Wesentlichen handelte
es sich hierbei um Regeln, die auch in der Wissensbasis eingegeben waren. Somit
konnte das Data Mining Verfahren zur maschinellen Wissens–Reproduktion dienen. Herr Ernst vermutete, dass die bestehende Datenbasis mit 13101 Fällen zu
klein für Zusammenhänge sei, die überraschend für einen Biologen wären.
92
6. Auswertung der Daten und Ergebnisse
7
Regelfindung in diagnostischen
Domänen
Die Anwendung des Verfahrens in diagnostischen Domänen, wie der PflanzenWissensbasis, konnte zu keinem befriedigenden Ergebnis führen. Der Grund
dafür liegt in der ungewöhnlichen Ausgangslage: Oftmals sind im Vergleich zur
traditionellen Warenkorbdomäne relativ wenige Transaktionen vorhanden. Zusätzlich ist das Ziel selten das Finden der häufigsten Korrelationen. Vielmehr sind
meist die oft auftretenden Assoziationen am wenigsten interessant. So treten beispielsweise in der Medizin häufige Symptome in vielen Diagnosen auf und sind
daher in einer Regel wenig bedeutungsrelevant. Interessanter wäre es also, Assoziationen mit vergleichsweise wenig Support, aber hoher Konfidenz zu finden.
Die bekannten Assoziationsregel–Verfahren in der aktuellen Forschung untersuchen nur das Finden von Regeln mit hohem Support und hoher Konfidenz. In den
folgenden Absätzen soll beschrieben werden, wie Regeln mit niedrigem Support,
aber hoher Konfidenz gefunden werden können.
7.1 Clusterbildung unter Verwendung von
Standardverfahren
Um schon bestehende Standardverfahren weiter verwenden zu können, müssten
die Daten zuvor in geeigneter Weise vorverarbeitet werden.
93
94
7. Regelfindung in diagnostischen Domänen
7.1.1 Vorgehensweise
Kennt der Anwender signifikante Untergruppen innerhalb der Datenbasis, so bietet es sich an, diese in Clustern zu gruppieren. Auf solche Weise ließe sich
beispielsweise in einer medizinischen Domäne nach Ausprägung der Diagnosen
gruppieren. Auf jeden einzelnen Cluster könnte dann ein Standardverfahren, wie
A PRIORI, zum Finden von Regeln verwendet werden. Nachdem die Regeln für
die einzelnen Cluster gefunden worden sind, werden sie in Bezug auf die gesamte
Datenbasis überprüft. Im Folgenden wird die Vorgehensweise näher betrachtet:
Clusterbildung
Bei dieser Vorgehensweise hat eindeutig die Vorverarbeitung, also die Clusterbildung, eine Schlüsselposition inne. Nicht immer ist es ersichtlich, ob vorgenommene Gruppierungen sinnvoll oder erfolgversprechend sind. Eine manuelle
Clusterbildung nach dem diagnostizierenden Attribut scheint hier jedoch am sinnvollsten. Das clusterbildende Attribut wird im folgenden als signifikantes Attribut
bzw. die Ausprägung als signifikanter Artikel bezeichnet.
Standardverfahren
Ein Standardverfahren, wie beispielsweise APRIORI, generiert für jeden Cluster
einzeln die entsprechenden Assoziationsregeln. Bei der Generierung der Regeln
sollte dann darauf geachtet werden, dass der signifikante Artikel stets enthalten ist.
Dadurch wird gesichert, dass nur für diesen Cluster interessante Regeln erzeugt
werden.
Abschließender Scan
Sind die Regeln für die jeweiligen Cluster generiert worden, so sollten sie im Kontext der gesamten Datenbasis überprüft werden. Die Dezimierung des Supportwertes bereitet aus oben angeführten Gründen keine Probleme. Der Veränderung
des Konfidenzwertes sollte aber Beachtung geschenkt werden:
Befindet sich der signifikante Artikel in der Vorbedingung der Regel, so bleibt
der Konfidenzwert im Vergleich Cluster $ Gesamtdaten gleich. Dies ist leicht
ersichtlich, da der signifikante Artikel als einziger in dem berechneten Cluster
enthalten gewesen sein kann. Folglich muss der Konfidenzwert gleich bleiben.
Auf eine interessante Regel deutet jedoch ein unveränderter Konfidenzwert hin,
wenn sich der signifikante Artikel in der Nachbedingung der Regel befindet. Daraus kann man schließen, dass alle Attribute der Regelvorbedingung nur in diesem
einen Cluster enthalten waren. Hieraus folgt eine starke Assoziation mit dem
signifikanten Artikel. Wird der Konfidenzwert im Gesamtvergleich jedoch kleiner, so muss ein anzugebender Schwellwert entscheiden, ob die Regel noch interessant erscheint. Dieser Schwellwert könnte beispielsweise auf die Differenz
7.1. Clusterbildung unter Verwendung von Standardverfahren
[KonfidenzCluster
95
, KonfidenzD ] bezogen sein.
Abschließend sollte man sich allerdings des Nachteils bewußt sein, dass durch die
strikte Unterteilung in Cluster keine Assoziationsregeln gefunden werden können,
die zwei oder mehrere signifikante Artikel enthalten.
7.1.2 Komplexität
Der Aufwand dieses Verfahrens errechnet sich aus der Summe der Komplexität
zur Clusterbildung und der Komplexität des Standardverfahrens. Im Folgenden
sei die Datenbasis D gegeben, die Menge der Cluster sei C und es sei R die
Menge der gefundenen Regeln. Zunächst wird der Aufwand für jeden einzelnen
Punkt betrachtet und anschließend zusammenfassend die gesamte Komplexität.
Clusterbildung
Gruppiert man die Transaktionen nach der Ausprägung des diagnostischen Attributs, so beschränkt sich der Aufwand der Clusterbildung auf einen kompletten Durchlauf durch die Datenbasis. Pro Transaktion werden eine Suchoperation
nach dem signifikanten Attribut und eine Hashoperation benötigt. Die Hashoperation weist der jeweiligen Transaktion gemäß ihrem signifikanten Artikel den
passenden Cluster zu. Der Rechenaufwand der Hashfunktion wird bei optimalem
Hashing als konstant angenommen.
Bei separater Speicherung der Cluster wird ein Speicherbereich benötigt, welcher
der Größe der Datenbasis entspricht. Eine im Zugriff auf die Cluster weniger
schnelle aber speichersparende Lösung stellt die Verzeigerung der Transaktionen
dar. Im jeweiligen Cluster werden dann nicht die kompletten Transaktionen gespeichert, sondern nur ein Zeiger auf die entsprechende Transaktion in der Datenbasis. Da auf jede Transaktion nur ein Zeiger gerichtet sein kann, ergibt sich
als Speicherbedarf ersichtlicherweise (es wird als Speicherbedarf von 1 Byte pro
Zeiger angenommen): jDj 1 Byte.
Standardverfahren
Nach der Verwendung der Clusterbildung ist der für das Standardverfahren bekannte Aufwand zu betrachten. Dadurch, dass die einzelnen Cluster im Durchschnitt relativ kleine Datenbasen darstellen und somit der Datenbankdurchlauf
schneller vollzogen wird, ist eine schnelle Berechnung der Artikelmengen zu erwarten. Für eine genaue Betrachtung der Komplexität des A PRIORI–Verfahrens
wird auf Abschnitt 3.5 (Seite 55) verwiesen.
Abschließender Scan
Den Abschluss des Verfahrens bildet ein zusätzlicher Durchlauf durch die gesam-
96
7. Regelfindung in diagnostischen Domänen
te Datenbasis, um die gefundenen Regeln im Hinblick auf ihre Konfidenzwerte
zu bewerten. Dabei ist der Aufwand von O (2 jRj) Vergleichen pro Transaktion zu verrechnen. Dies erschließt sich daraus, dass sich die Konfidenz aus dem
Support der zwei erzeugenden Artikelmengen ermittelt. Insgesamt ist also mit
O (2 jRj jDj) Vergleichen zu rechnen.
Gesamtaufwand
Der gesamte Aufwand für dieses Verfahren berechnet sich also wie folgt:
O (jDj SuchOperation)
Such–
(Bildung des Clusters)
Operationen
O (jCj (Aufwand APRIORI ))
(Standardverfahren)
O (2 jRj jDj)
Vergleiche (Abschließender Scan)
Die Speicherverbrauch variiert nach der Speicherart der Cluster: Werden die Cluster separat gespeichert, so wird ein der Datenbankgröße entsprechender Speicherbereich benötigt, bei Verzeigerung nur jDj 1 Byte. Die Speicherung der Regeln
benötigt zusätzlich jRj 10 Byte, wenn man davon ausgeht, dass die Speicherung
einer einzelnen Regel höchstens 10 Byte beansprucht.
7.2 Support in Intervallen (A PRIOR I NTERVALL)
Wie schon besprochen sind Artikelmengen mit niedrigem Support für die Regelbildung von Interesse. Das Finden von ,,seltenen Artikelmengen” ist also eine logische Folgerung. Alleine das Herabsetzen des minimalen Supports ist jedoch eine wenig erfolgversprechende Maßnahme. Durch die exponentielle Vergrößerung
der Artikelmengenanzahl würde dann auch die Regelmenge unüberschaubar groß.
Interessante Regeln gingen damit in einem Meer von Regeln unter.
7.2.1 Vorgehensweise
Im Folgenden wird eine Idee vorgestellt werden, die diesem Umstand abhelfen
soll: Zusätzlich zum bekannten minimalen Support wird ein maximaler Support
eingeführt, welchen die Artikelmengen nicht überschreiten dürfen. Dieser spannt
mit dem minimalen Support ein Intervall auf, in dem die untersuchten Artikelmengen liegen. Diese Artikelmengen werden im Folgenden als Intervallmengen
bezeichnet.
Nach Bestimmen der im Intervall liegenden Einzelartikel kann das gewohnte Standardverfahren zum Finden der Artikelmengen eingesetzt werden. Nachdem alle
7.2. Support in Intervallen ( A PRIOR I NTERVALL )
97
Intervallmengen gefunden wurden, können wie gewohnt die Regeln generiert und
nach Konfidenz sortiert werden.
Man sollte aber bedenken, dass der maximale Support schon bei der Bestimmung
der Einzelartikel angewandt wird. Folglich werden überhaupt nur Artikel in den
Regelfindungsprozess miteinbezogen, deren individueller Support den maximalen
Support nicht überschreitet. So werden keine Regeln der Form A ) B mit Support kleiner dem maximalen Support gebildet werden können, wenn die Einzelartikel A und B den maximalen Support überschreiten. Daraus folgt, dass nicht alle
Regeln erzeugt werden, die im angegebenen Supportintervall liegen. Dieser Verlust der Vollständigkeit kann aber auch erwünscht sein. Denn gerade durch diese
Eigenschaft werden keine Artikel(kombinationen) zur Regelbildung verwendet,
die häufiger als im maximalen Support angegeben vorkommen. Dies unterstützt
das Ziel, Regeln zu finden, deren Artikel zwar nicht häufig vertreten sind, die aber
eine starke Konfidenz aufweisen.
Bestimmen der Intervallgrenzen
Ein offensichtliches Problem stellt die Bestimmung der Intervallgrenzen dar. Die
Größe des Intervalls entscheidet über Anzahl und Qualität der erzeugten Artikelmengen bzw. Regeln.
Als obere Schranke Imax des Intervalls sollte mindestens der maximale Supportwert der interessanten Einzelartikel herangezogen werden. Wie schon bei der
Clusterbildung erwähnt, ist es äußerst hilfreich, wenn der Benutzer angibt, welche Artikel von besonderem Interesse sind (signifikante Artikel). In einer medizinischen Domäne könnten dies beispielsweise Diagnosen sein. Dieser maximale
Supportwert ist ausreichend, da mit steigender Größe der Artikelmengen der Supportwert nur noch sinkt. Eine empirische Erhöhung des maximalen Supports kann
aber hilfreich sein, um weitere Einzelartikel mit höherem Support in den Prozess
einzubinden.
Einen alternativen Ansatz kann man in einem maximalen Support sehen, der
während des Laufes variiert. So würde eine anzugebende Funktion bestimmen,
um wieviel der maximale Support in jedem Schritt dezimiert werden müsste. Eine konstante Funktion f (x) = 0; 1 etwa würde den maximalen Support in jedem
Schritt um 0,1% veringern.
Folglich werden mit einem hohen Supportwert beginnend mehr Artikel(mengen)
zugelassen, die zur weiteren Artikelmengenbildung herangezogen werden
können.
7. Regelfindung in diagnostischen Domänen
98
7.2.2 Komplexität
Im Wesentlichen kann die Komplexität analog zu der des A PRIORI–Verfahrens
(Seite 55) betrachtet werden. Durch die Beschneidung des möglichen Supportwertes für die jeweiligen Artikelmengen tritt jedoch eine Besonderheit im Verhalten der Cluster auf. Wie in Abschnitt 3.5 beschrieben, stellt ein Cluster i
eine größtmögliche häufige Artikelmenge dar. Jede Erweiterung ist keine häufige
Artikelmenge mehr. Dies gilt auch bei der Bestimmung der A PRIOR I NTERVALL –
Artikelmengen. Die folgende Teilmengeneigenschaft der A PRIORI–Cluster gilt
jedoch nicht mehr: ,,8c i : c ist häufig.” Teilmengen eines A PRIOR I N TERVALL–Clusters können den maximalen Support überschreiten und somit keine
häufige Intervallmenge mehr sein. Wenn C die Menge Cluster sei, dann gilt daher:
CAPRIORI NTERVALL CAPRIORI
(7.1)
Die Komplexität des A PRIOR I NTERVALL Verfahrens liegt also in der des A PRIO RI Verfahrens.
7.3 Anmerkungen zum RX-Projekt
Die Idee zur Regelfindung in diagnostischen Domänen ist nicht neu. Schon in
den späten 70er Jahren beschäftigte man sich an der Stanford Universität mit der
Suche nach kausalen Abhängigkeiten in einer medizinischen Domäne. Ergebnisse
sind im RX–Projekt [Blu84] beschrieben.
Betrachtet man das RX-Programm näher, so bemerkt man, dass nicht direkt Assoziationsregeln im Sinne dieser Arbeit gefunden werden, sondern ,,kausale Abhängigkeiten”. Eine kausale Abhängigkeit A ! B definiert eine Verbindung
zwischen zwei Variablen, für die gilt:
1.
2.
3.
A ist grundsätzlich Vorgänger von B (time precedence).
Die Intensität von A korreliert mit der Intensität von B (covariation).
Es gibt keine dritte Variable C , die für diese Korrelation verantwortlich ist
(nonspuriousness).
Genauer betrachtet treffen also kausale Abhängigkeiten schärfere Aussagen über
Verbindungen als Assoziationsregeln.
7.3. Anmerkungen zum RX-Projekt
99
Das RX Programm besteht aus drei wesentlichen Modulen: Das discovery module
zur Produktion von Hypthesen, dem study module zur Überprüfung und Validierung dieser Hypothesen und einer Wissensbasis, die in allen Phasen des Prozesses
miteinbezogen wird. Die Generierung von kausalen Abhängigkeiten vollzieht sich
bei RX in zwei Grundschritten:
1. Discovery module
Finde Variablen–Paare, die kausale Abhängigkeiten zueinander pflegen. Da
alle Variablen mit allen weiteren Variablen geprüft werden, entsteht hier ein
Aufwand von O(n2 ).
2. Study module
Suche aus den Paaren die stärksten Hypothesen und validiere diese. Hierfür
werden die bestehende Wissensbasis und die darin enthaltenen production
rules eingesetzt. Das study module ist batch–fähig, kann aber auch interaktiv ablaufen.
Die besondere Eigenschaft von RX ist die konzeptionelle Integration einer Wissensbasis in den Generierungsprozess. Dies ermöglicht zum einen triviale Hypothesen zu verwerfen, aber auch zum anderen interessante Korrelationen hervorzuheben. Bestätigte Korrelationen werden in die Wissensbasis aufgenommen
und können so im weiteren Verlauf benutzt werden. Weitere Beachtung sollte
den production rules geschenkt werden. In diesen Regeln wird vom Experten
Domänenwissen abgelegt, welches bei der (automatischen) Auswahl der zu betrachtenden Daten und der einzusetzenden statistischen Methode unterstützt. Der
Einsatz von production rules bekräftigt nicht nur die Modularität des Systems,
sondern erleichtert auch die Eingabe bzw. Überprüfung von neuem Wissen. Weiter können so Abhängigkeiten im bestehenden Wissen einfacher entdeckt werden.
Die feste Verdrahtung der Wissensbasis mit dem Verfahren birgt jedoch nicht nur
Vorteile. So sollte man bedenken, dass die Leistungsfähigkeit des Systems stark
vom Umfang und der Qualität der Wissensbasis abhängig ist. Im vorliegenden
RX Projekt bediente man sich einer Teilmenge der ARAMIS/TOD Datenbank
(American Rheumatism Association Medical Information System/Time–Oriented
Databank), welche 1969 an der Stanford Universität entstand und über mehrere
Jahrzehnte gepflegt wurde.
Zusammenfassend bleibt zu sagen, dass im RX–Projekt einige Konzepte entstanden sind, die auch im Bezug auf das Finden von Assoziationsregeln untersucht
werden sollten. Folgende Punkte sollen als Anregung gegeben werden:
100
7. Regelfindung in diagnostischen Domänen
1. Intensives Einbringen von Wissen in den Prozess
Die Wissensrepräsentation im RX–Projekt wurde speziell an die medizinische Domäne angepaßt. Die Bildung eines einheitlichen Frameworks zur
Darstellung von Wissen wird dann sinnvoll, wenn auch andere Domänen
mit dem Verfahren untersucht werden sollen.
2. Produktion rules zur Entscheidungsunterstützung
Durch die Definition von production rules kann das System in wichtigen
Momenten die optimale Entscheidung treffen. Dabei bleiben diese Entscheidungen durch die Regeln transparent und für den Benutzer wartbar
und erweiterbar.
3. Kausale Abhängigkeit $ Assoziationsregel
Die RX–Implementierung findet explizit kausale Abhängigkeiten, die nicht
direkt mit Assoziationsregeln vergleichbar sind. Hier wäre zu untersuchen,
inwieweit die schärferen statistischen Annahmen von kausalen Abhängigkeiten in anderen Domänen Sinn geben.
4. Generierung der Regeln von Anfang an
RX generiert ohne Umwege gleich Regeln. Eine Erzeugung von Assoziationsregeln mit niedrigem Support und hoher Konfidenz ohne den Umweg der häufigen Artikelmengen wäre überlegenswert. Näher zu untersuchen bliebe, wie die zu erwartende Flut von Regelmöglichkeiten durch
Domänenwissen eingegrenzt werden kann.
8
Zusammenfassung und Ausblick
Das letzte Kapitel blickt auf die vorangegangene Arbeit zurück. Es bewertet die
entstandenen Ergebnisse und gibt Anregungen für zukünftige Aufgaben, die in
den Rahmen dieser Arbeit fallen.
8.1 Zusammenfassung
Die vorliegende Arbeit untersuchte das Finden von Assoziationsregeln. Beginnend mit einer Einführung in den KDD Prozess wurden in Kapitel 2 verschiedene
Arten von Data Mining Mustern besprochen. So wurden Anwendungsbereiche
wie auch bekannte Verfahren zur Klassifikation, Clusteranalyse, Regression und
sequentielle Muster genannt.
Danach schuf Kapitel 3 die theoretische Grundlage zum Finden von boolschen,
generalisierten und quantitativen Assoziationsregeln und stellte unterschiedliche
Verfahren vor. Mit einer Komplexitätsanalyse des Standardverfahrens (A PRIORI)
schloss das Kapitel.
Zum Zweck einer Anwendungsstudie wurde das Data Mining Werkzeug M I STRAL implementiert. Kapitel 4 beschrieb, welche Anforderungen an ein Data
Mining Werkzeug gestellt werden. Darauf folgend wurde erläutert, wie man mit
Hilfe von Entwurfsmustern diese Anforderungen bei der Realisierung von M I STRAL verfolgen kann. Zentrale Architekturstellen sind in UML–Notation gezeichnet worden.
Davon ausgehend beschrieb Kapitel 5 schließlich die Bedienung des implemen101
102
8. Zusammenfassung und Ausblick
tierten M ISTRAL Kerns. Es wurde erklärt, wie ein Data Mining Projekt zu definieren und durchzuführen ist, ebenso wie das An– und Abkoppeln von neuen
M ISTRAL Komponenten.
Kapitel 6 präsentierte die Ergebnisse der Anwendungsstudie. Neben synthetischen Daten zur Evaluierung von M ISTRAL wurden auch reale Daten der Firmen
Degussa AG (Katalysatoren) und Quitmann (Bürobedarfsartikel) untersucht. Eine Pflanzenwissensbasis diente als Beispiel für eine diagnostische Domäne. Eine Bewertung der Katalysator–Regeln war zum Zeitpunkt der Drucklegung nicht
verfügbar. Die Firma Quitmann zeigte sich zufrieden mit den gefundenen Regeln
und überdenkt Maßnahmen, diese für ihren Geschäftsprozess zu nutzen. Die Ergebnisse in der diagnostischen Domäne stellten sich als wenig befriedigend heraus. Als Reaktion darauf wurde ein in Kapitel 7 vorgestelltes Verfahren implementiert und auf die Pflanzenwissensbasis angewendet. Die so erzeugten Regeln
waren erheblich interessanter, da sie eine Reproduktion derjenigen Regeln darstellten, welche zuvor zum Aufbau der Wissensbasis gedient hatten.
Kapitel 7 griff die mangelhaften Ergebnisse in der diagnostischen Domäne auf und
zeigte verschiedene Lösungsansätze auf, wie interessantere Assoziationsregeln in
diagnostischen Domänen gefunden werden könnten.
8.2 Ausblick
Da in dieser Arbeit sowohl an der theoretischen Grundlage von Assoziationsregeln
als auch an einer Implementierung eines Data Mining Kerns gearbeitet wurde,
muss sich auch der Ausblick in zwei Gebiete teilen:
Der praktische Teil beschäftigte sich ausgiebig mit dem Werkzeug M ISTRAL und
seinen Komponenten. Bei der Implementierung von M ISTRAL wurde in erster
Linie auf Modularität und Wiederverwendbarkeit geachtet. Die Laufzeit der M I STRAL Projekte ist aber sicherlich noch zu verbessern. So würde der Austausch
einiger Module (wie etwa der dateiorientierten Speicherverwaltung) durch effizientere Klassen die Performanz des Programms erheblich steigern.
Ein Standardverfahren zum Finden von (generalisierten) Assoziationsregeln
(C UMULATE ) wurde sorgfältig in Kapitel 6 evaluiert. Das implementierte
A PRIOR I NTERVAL –Verfahren konnte nur im Rahmen der Pflanzenwissensbais
getestet werden. Von Interesse wäre es, die Güte von A PRIOR I NTERVAL in
Verbindung mit anderen diagnostischen Wissensbasen zu evaluieren. Eine Implementation des in Kapitel 7 vorgestellten Cluster–Verfahrens könnte hier Ver-
8.2. Ausblick
103
gleichsmöglichkeiten bilden.
Die interessanteste Richtung im theoretischen Zweig beschreibt sicherlich das
Finden von ,,speziellen Assoziationsregeln”, wie sie in Kapitel 7 definiert sind. Im
Rahmen dieser Diplomarbeit wurden zwei Verfahren angedacht. Die Forschung
nach alternativen und effizienteren Algorithmen ist ein erfolgversprechendes Ziel.
Zur schnelleren und einfacheren Implementierung der Assoziationsregel–
Verfahren wäre eine ,,Assoziationsregel–Hochsprache” von großem Nutzen.
Durch eine einheitliche Syntax könnten neue Algorithmen schnell definiert und
getestet werden. Eine effiziente Implementation der Standardbefehle würde zum
Vorteil aller darin entwickelten Verfahren sein.
Als logische Fortsetzung dieser Idee kann die in Abschnitt 2.3 (Seite 16) vorgeschlagene ,,Data Mining–Hochsprache” gesehen werden. Dieser Punkt scheint
mir persönlich von großer Bedeutung zu sein: Eine einheitliche Data Mining Sprache könnte ebenfalls, wie SQL für die Datenbankforschung, einen gewaltigen Innovationsschub leisten. Der Entwurf einer umfassenden Syntax zur Bewältigung
von Data Mining Aufgaben und die Implementation eines entsprechenden Interpreters/Compilers bedürfte allerdings sicherlich ausgiebiger Studien.
Beschreibung der beigelegten CD–ROM
Auf der beigelegten CD–ROM findet sich im Verzeichnis Mistral das Programm
M ISTRAL im Quellcode und in einer vorkompilierten JAR–Datei. Die Dokumentation der MISTRAL Klassen liegt im HTML–Format vor.
Ebenso kann die vorliegende Arbeit in verschiedenen Formaten im Verzeichnis
Diplomarbeit eingesehen werden.
Die verwendeten Daten der Firmen Quitmann und Degussa AG, sowie die Pflanzenwissensbasis sind im Verzeichnis Daten vertreten.
Ein aktuelles Inhaltsverzeichnis der CD–ROM gibt die Datei index.html im Hauptverzeichnis wieder.
Danksagung
Am Ende angelangt, ist nun der richtige Zeitpunkt gekommen, um mich bei einigen Menschen zu bedanken, welche meine Arbeit in den letzten Monaten erheblich beeinflusst haben.
Ein Dank geht an Carsten Bange, der die Daten der Firma Quitmann beschaffte,
und an Herrn Dr. Jürgen Giesshoff von der Degussa AG. Ebenso bedanken möchte
ich mich bei Roman Ernst, der mir den Einstieg in die Welt der Pflanzen erheblich
erleichterte.
Natürlich soll meinem Betreuer Ioannis ,,The grill–man” Iglezakis gedankt werden, welcher auch mal locker nach Dienstschluss fünf Stunden über Data Mining
diskutieren konnte. Auch ANSI–C Dreizeiler gegen 2 Uhr morgens sorgten bei
einem Diplomanten mit Mauszeiger–Horizont für Erstaunen. Ebenfalls bedanken
möchte ich mich bei Herrn Prof. Frank Puppe, der in seinen ausgiebigen Sprechstunden viele Ideen und Anregungen gab. Nicht zu vergessen sind Rüdiger ,,ruedee” Hain, der Besorgungen aller Art tätigte, und selbstverständlich der restliche
humanoide Lehrstuhl–VI–Inventar. Standardgehn?
Hermann Pfanner soll hier auch ein Dankeschön ausgesprochen werden: Trotz
dieser wirtschaftlich schwierigen Zeit schafft er es Eistee aus direkt aufgebrühtem
Tee zu erstellen und nicht, wie die Konkurrenz, billigen Instant–Tee unters Volk
zu bringen. So diente sein Tee während der Erstellung dieser Arbeit als magenschonender Kaffee–Ersatz und erzeugte unverständliches Kopfschütteln in meiner
Umgebung. Peach rules!
Ein Dank geht an meine Eltern, die mich während meines Studiums mit allen
erdenklichen Dingen unterstützt haben und nie Zweifel an meiner ,,Intelligenz”
hegten.
Meiner Freundin K möchte ich zum Schluss einen dicker smile und ein Dankeschöön für all die schönen Momente schenken. Nothing heals me like you do.
Literaturverzeichnis
[AIS92]
Rakesh Agrawal, Tomasz Imiclinski, and Arun Swami. Database
mining: A performance perspective. Technical report, IBM Research
Division, Almaden Research Center, San Jose, CA, USA, 1992.
[AIS93]
Rakesh Agrawal, Tomasz Imielinski, and Arun Swami. Mining association rules between sets of items in large databases. In Proceedings
of the 1993 ACM SIGMOD Conference, 1993.
[AS94a]
Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules. In Proceedings of the 20th VLDB Conference,
1994.
[AS94b]
Rakesh Agrawal and Ramakrishnan Srikant. Fast algorithms for mining association rules. Technical report, IBM Research Division,
Almaden Research Center, San Jose, CA, USA, 1994.
[AS94c]
Rakesh Agrawal and Ramakrishnan Srikant. Mining sequential patterns. In Proceedings of the 11th Intl. VLDB Conference, Santiago,
Chile, 1994.
[Blu84]
Robert L. Blum. Discovery, Confirmation, and Incorporation of
Causal Relationships from a Large Time-Oriented Clinical Data Base: The RX Project, pages 399–425. In [CS84], 1984.
[Bol96]
Toni Bollinger. Assoziationsregeln - Analyse eines Data Mining Verfahrens. In Informatik Spektrum 19: 257-261, 1996.
[CHNW96] David W. Cheung, Jiawei Liang Han, Vincent T. Ng, and C. Y. Wong.
Maintenance of discovered association rules in large databases: An
incremental updating technique. Technical report, The University of
Hong Kong, Hong Kong, 1996.
108
Literaturverzeichnis
[CHY96]
Ming-Syan Chen, Jiawei Han, and Philip S. Yu. Data Mining: An
overview from database perspective. 1996.
[CM96]
Peter Coad and Mark Mayfield. Java Design. Building better Apps
and Applets. Prentice Hall, Upper Saddle River, NJ 07458, USA,
1996.
[CS84]
William J. Clancey and Edward H. Shortliffe. Readings in Medical
Artificial Intelligence. Addison-Wesley, 1984.
[CS96]
Peter Cheeseman and John Stutz. Bayesian Classification (AutoClass): Theory and Results. In [FPSSU96], 1996.
[Ern96]
Roman Ernst.
Untersuchung verschiedener Problemlösungsmethoden in einem Experten– und Tutorsystem zur makroskopischen Bestimmung krautiger Blütenpflanzen. Master’s thesis, Biologisches Institut, Universität Würzburg, Deutschland, 1996.
[Fis90]
D. H. Fisher. Knowlegde Aquisition via Incremental Conceptual Clustering. In [SD90], 1990.
[Fla97]
David Flanagan. Java in a Nutshell, Second Edition. O’Reilly, Sebastopol, CA 95472, USA, 1997.
[FPSSU96] Usama M. Fayyad, Gregory Piatetsky-Shapiro, Padhraic Smyth, and
Ramasamy Uthurusamy. Advances in Knowledge Discovery and Data Mining. AAAI Press / The MIT Press, Menlo Park, California,
1996.
[Fri91]
J. H. Friedman. Multivariate Adaptive Regression Splines. In Annals
of Statistics, 19:1, 1991.
[Gam96]
Erich Gamma. Entwurfsmuster: Elemente wiederverwendbarer objektorientierter Software. Addison-Wesley, Bonn, 1996.
[Goo95]
Klaus Goos. Fallbasiertes Klassifizieren. Methoden, Integration und
Evaluation. PhD thesis, Universität Würzburg, Deutschland, 1995.
[Han97]
Jiawei Han. Data Mining: Where is it heading? In Proc. of 1997
Intl. Conference on Data Engineering (ICDE ´97), 1997.
[HP96]
Jia Liang Han and Ashley W. Plank. Background for association rules and cost estimate of selected mining algorithms. Technical report,
The University of Southern Queensland, Australia, 1996.
Literaturverzeichnis
[HS93]
109
Maurice Houtsma and Arun Swami. Set-oriented mining for association rules. Technical report, IBM Research Division, Almaden
Research Center, San Jose, CA, USA, 1993.
[KMR+ 94] Mika Klemettinen, Heikki Mannila, Pirjo Ronkainen, Hannu Toivonen, and A. Inkeri Verkano. Finding interesting rules from large
sets of discovered association rules. Technical report, Department of
Computer Science, University of Helsinki, 1994.
[Log98]
Logistik Heute. Datenschlacht um Handelsspannen. 3´98, 1998.
[LSL95]
H. Lu, R. Setiono, and H. Liu. NeuroRule: A connectionist approach
to Data Mining. In Proc. of 21th Intl. Conference on Very Large Data
Bases, p. 478–489, 1995.
[Man96]
Heikki Mannila. Methods and problems in data mining. Technical report, Department of Computer Science, University of Helsinki,
1996.
[MAR96]
M. Metha, R. Agrawal, and J. Rissanen. SLIQ: A fast scalable classifier for Data Mining. In Proc. of 1996 Intl. Conference on Extending
database Technology (EDBT´96), Avignon, France, 1996.
[Mic94]
Tecuci Michaelski. Machine Learning: A Multistrategy Approach,
Vol. IV. Morgan Kaufmann, 1994.
[Mit97]
T. M. Mitchell. Machine Learning. McGraw–Hill, 1997.
[MTV94]
Heikki Mannila, Hannu Toivonen, and A. Inkeri Verkano. Improved
methods for finding association rules. Technical report, Department
of Computer Science, University of Helsinki, 1994.
[PGPB96]
Frank Puppe, Ute Gappa, Karsten Poeck, and Stefan Bamberger.
Wissensbasierte Diagnose– und Expertensysteme. Springer–Verlag,
Berlin, Heidelberg, 1996.
[Qui86]
J. R. Quinlan. Machine Learning 1. Morgan Kaufmann, 1986.
[Qui93]
J. R. Quinlan. C4.5: Programs for Machine Learning. Morgan Kaufmann, 1993.
[Rei94]
Y. Reich. Macro and Micro Perspectives of Multiystrategy Learning,
pages 379–401. In [Mic94], 1994.
110
Literaturverzeichnis
[SA95]
Ramakrishnan Srikant and Rakesh Agrawal. Mining generalized association rules. Technical report, IBM Research Division, Almaden
Research Center, San Jose, CA, USA, 1995. Also in Proceedings of
the 21st VLDB Conference 1995.
[SA96]
Ramakrishnan Srikant and Rakesh Agrawal. Mining quantitative association rules in large relational tables. Technical report, IBM Research Division, Almaden Research Center, San Jose, CA, USA, 1996.
[SD90]
Jude Shavlil and Thomas G. Dietterich. Readings in Machine Learning. Morgan Kaufmann, 1990.
[SON95]
Ashok Savasere, Edward Omiecinski, and Shamkant Navathe. An
efficient algorithm for mining association rules in large databases.
Technical report, Georgia Institute of Technology, Atlanta, USA,
1995.
[Sri96]
Ramakrishnan Srikant. Fast Algorithms for Mining Association Rules And Sequentiel Patterns. PhD thesis, University of Wisconsin Madison, 1996.
[ST96]
Avi Silberschatz and Alexander Tuzhilin. User-assisted knowledge
discovery: How much should the user be involved. Technical report,
Bell Laboratories, Murray Hill, NJ, USA, 1996.
[SVA97]
Ramakrishnan Srikant, Quoc Vu, and Rakesh Agrawal. Mining
asssocition rules with item constraints. Technical report, IBM Research Division, Almaden Research Center, San Jose, CA, USA, 1997.

Similar documents