L EIBNIZ U NIVERSITÄT H ANNOVER FAKULTÄT FÜR E LEKTROTECHNIK UND I NFORMATIK I NSTITUT FÜR P RAKTISCHE I NFORMATIK FACHGEBIET D ATENBANKEN UND I NFORMATIONSSYSTEME Masterarbeit im Studiengang Informatik Kombinationen von Data Mining-Verfahren: Analyse und Automatisierung Ulf Mewe Matrikel.-Nr. 2178968 Prüfer: Prof. Dr. Udo Lipeck Zweitprüfer: Dr. Hans Hermann Brüggemann Betreuer: Prof. Dr. Udo Lipeck, Dipl.-Math. Christian Stahlhut 22. April 2008 Zusammenfassung Das Data Mining hat sich in der Informatik seit den späten 80er Jahren entwickelt. Seitdem sind Verfahren entwickelt worden, die in der Lage sind, große Datenbestände zu analysieren und dabei Muster, Strukturen und statistische Auffälligkeiten zu entdecken, ohne vorher zu wissen, von welcher Art diese sind. Je nach Anwendungsgebiet ist es sinnvoll, entweder ein einzelnes Data MiningVerfahren zu nutzen oder verschiedene Verfahren zu kombinieren. Die Kombination mehrerer Data Mining-Verfahren wird als „Kombiniertes Data Mining“ bezeichnet. Ziel des „Kombinierten Data Mining“ ist es, bessere Ergebnisse im Vergleich zum herkömmlichen Data Mining zu erzielen. In dieser Arbeit wird ein deutlicher Schwerpunkt auf die Kombination aus den Data Mining-Verfahren Clustering und Assoziationsanalyse gelegt. Es werden verschiedene Experimente durchgeführt, um zu zeigen, dass diese Kombination zu einer Verbesserung der Ergebnisse führen kann. Um die Ergebnisse des herkömmlichen Data Mining und des „Kombinierten Data Mining“ überhaupt miteinander vergleichen zu können, wird ein Maß IW eingeführt, das es ermöglicht, Mengen von Assoziationsregeln zu bewerten und somit zu vergleichen. Weiterhin wird ein Ansatz zur Automatisierung des „Kombinierten Data Mining“ vorgestellt. Dabei erfolgt die Auswahl der besten Clusterattribute mit Hilfe einer Korrelationsanalyse zwischen verschiedenen potentiellen Clusterattributen und dem Assoziationsattribut. Aufbauend auf diesem Ansatz zur Automatisierung des „Kombinierten Data Mining“ wurde die Anwendung „Easy Mining“ implementiert. Die Anwendung ermöglicht es, ein herkömmliches Data Mining, ein „Kombiniertes Data Mining“, sowie ein automatisches „Kombiniertes Data Mining“ durchzuführen und die Ergebnisse mit Hilfe des Maßes IW bewerten zu lassen. Mit Hilfe der Anwendung „Easy Mining“ wurden abschließend weitere Experimente zum automatischen „Kombinierten Data Mining“ durchgeführt. Inhaltsverzeichnis 1 Einleitung 5 2 Data Mining und Knowledge Discovery 2.1 Knowledge Discovery und der KDD-Prozess 2.2 Data Mining . . . . . . . . . . . . . . . . . . . 2.2.1 Clustering . . . . . . . . . . . . . . . . 2.2.2 Assoziationsanalyse . . . . . . . . . . 2.2.3 Klassifikation . . . . . . . . . . . . . . 2.2.4 Regression . . . . . . . . . . . . . . . . . . . . . . 7 7 9 10 11 13 14 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 16 17 18 19 21 21 22 22 22 24 24 27 27 30 4 Bewertung von Mengen von Assoziationsregeln 4.1 Einführung in MDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Bewertung von Mengen von Assoziationsregeln . . . . . . . . . . . . . . . . . . . . . 4.2.1 MDL als Grundlage für die Bewertung von Mengen von Assoziationsregeln 4.2.2 Komprimierung von Daten mittels Assoziationsregeln . . . . . . . . . . . . . 4.2.3 Vernachlässigung der Assoziationsregeln . . . . . . . . . . . . . . . . . . . . . 4.2.4 Bewertung von Mengen von Assoziationsregeln . . . . . . . . . . . . . . . . . 4.2.5 Algorithmus zur Berechnung von IW ( A, T ) . . . . . . . . . . . . . . . . . . . 4.2.6 Korrelation zwischen Support, Confidence und dem Maß IW ( A, T ) . . . . . 4.2.7 Berechnung von IW ( A, T ) für mehrere Mengen von Assoziationsregeln . . . . . . . . . . . . 32 32 33 33 33 35 37 40 43 44 . . . . 46 47 47 48 49 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 Kombination von Data Mining-Verfahren 3.1 Erweiterung des Knowledge Discovery-Prozesses . . . . . . . . . . . . . . . . . . . 3.2 Arten des „Kombinierten Data Mining“ . . . . . . . . . . . . . . . . . . . . . . . . . 3.3 Kombinationen aus zwei Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 Kombinationen aus Clustering und Assoziationsanalyse . . . . . . . . . . . 3.3.2 Clustering und Klassifikation/Regression (C → K / C → R) . . . . . . . . . 3.3.3 Assoziationsanalyse und Klassifikation/Regression (A → K / A → R) . . . 3.3.4 Klassifikation/Regression und Clustering (K → C / R → C) . . . . . . . . . 3.3.5 Klassifikation/Regression und Assoziationsanalyse (K → A / R → A) . . . 3.3.6 Kombinationen aus Klassifikation und Regression . . . . . . . . . . . . . . . 3.3.7 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4 Kombination aus Clustering und Assoziationsanalyse . . . . . . . . . . . . . . . . . 3.4.1 Einordnung der Kombination aus Clustering und Assoziationsanalyse . . . 3.4.2 Vor- und Nachteile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Weitere Arbeiten zur Kombination von Clustering und Assoziationsanalyse 5 Beispiele zum Kombinierten Data Mining“ ” 5.1 Experimente . . . . . . . . . . . . . . . . . . . . . . . . . . 5.1.1 Datengrundlage der durchgeführten Experimente 5.1.2 Durchgeführte Experimente . . . . . . . . . . . . . 5.2 Ergebnisse des herkömmlichen Data Mining . . . . . . . 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Inhaltsverzeichnis 5.3 5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 52 52 53 59 59 6 Automatisierung des Kombinierten Data Mining“ ” 6.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2 Bestimmung der besten Clusterattribute . . . . . . . . . . . . . . . . . . . . . . . 6.3 Berechnung der Korrelation zwischen zwei Attributen . . . . . . . . . . . . . . 6.3.1 Grundlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 χ2 -Verfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.3 Berechnung der Korrelation mittels der stochastischen Unabhängigkeit 6.4 Bestimmung der Korrelation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Probleme bei der Berechnung der Korrelation mittels des χ2 -Verfahrens 6.4.2 Ergebnisse der Korrelationsanalyse . . . . . . . . . . . . . . . . . . . . . 6.5 Auswertung der Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 61 62 63 63 65 69 71 72 72 75 7 Vorstellung der Anwendung ”Easy Mining” 7.1 Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7.1.1 Schritte des automatischen „Kombinierten Data Mining“ 7.1.2 Weitere Funktionen der Anwendung „Easy Mining“ . . 7.2 Benutzerschnittstellen . . . . . . . . . . . . . . . . . . . . . . . . 7.2.1 Konfigurationsdatei . . . . . . . . . . . . . . . . . . . . . 7.2.2 Anforderungen an die Daten . . . . . . . . . . . . . . . . 7.2.3 Ausgabe der Anwendung „Easy Mining“ . . . . . . . . . 7.3 Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79 79 79 80 81 81 84 84 84 5.5 Ergebnisse des „Kombinierten Data Mining“ . . . . . Analyse der Ergebnisse . . . . . . . . . . . . . . . . . . 5.4.1 Statistische Auswertung der Ergebnisse . . . . 5.4.2 Analyse der Ergebnisse anhand von Beispielen 5.4.3 Fazit . . . . . . . . . . . . . . . . . . . . . . . . Laufzeitanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 Tests und Ergebnisse 92 9 Fazit und Ausblick 95 A Dokumentation der verwendeten Datenbanken A.1 Relationales Schema der Filmdatenbank „Movie Database“ . . . . . A.2 Erläuterungen zum Schema der Filmdatenbank „Movie Database“ A.3 Relationales Schema der für die Experimente verwendeten Tabellen A.4 Erläuterungen zum Schema der verwendeten Tabellen . . . . . . . 97 97 97 98 99 B Ergebnisse der Laufzeitanalyse C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 Easy Mining“-Konfigurationsdateien 101 ” C.1 Kommentierte Konfigurationsdatei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 C.2 Herkömmliches Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 C.3 „Kombiniertes Data Mining“ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 D Ausgabe der Anwendung Easy Mining“ ” 110 Literaturverzeichnis 113 4 1 Einleitung In den vergangenen Jahrzehnten hat die Menge der in Computersystemen gespeicherten Daten enorm zugenommen. Dies liegt daran, dass einerseits die Kapazitäten von Datenspeichern auf Grund der technischen Entwicklung enorm zugenommen haben und es andererseits immer mehr Möglichkeiten zur Erhebung und zur Erfassung von Daten gibt. Dieser rasante Anstieg der überwiegend in Datenbanken und Datenbankclustern gespeicherten Informationen hat zur Folge, dass immer höhere Anforderungen an die Verarbeitung von Informationen gestellt werden. Direkte Anfragen nach bestimmten Informationen sind zwar über Datenbankanfragesprachen wie SQL problemlos möglich doch sind diese nicht in der Lage, interessante Informationen wie Muster, Strukturen oder Gesetzmäßigkeiten aufzuspüren, die nur implizit in den Daten enthalten sind. Traditionelle Methoden zur Analyse von Daten, die dem Aufspüren solcher Informationen dienen, scheitern aber an der Menge der Daten. So ist beispielsweise eine Analyse einer größeren Datenmenge durch den Menschen unvorstellbar. Diese Funktion soll das Data Mining übernehmen und somit die traditionelle Datenanalyse ersetzen. Darüber hinaus werden durch das Data Mining statistische Methoden zur Datenanalyse zur Verfügung gestellt, die ansonsten nicht direkt angeboten werden. Das Data Mining hat sich in der Informatik seit den späten 80er Jahren entwickelt. Seitdem sind Verfahren entwickelt worden, die in der Lage sind, große Datenbestände zu analysieren und dabei Muster, Strukturen und statistische Auffälligkeiten zu entdecken, ohne vorher zu wissen, von welcher Art diese sind. Die gefundenen Muster werden dem Benutzer im Anschluss an den Data Mining-Prozess in einer verständlichen Form präsentiert. Zu den Anwendungsgebieten des Data Mining gehören u.a. die Warenkorbanalyse, zielgerichtetes Marketing, Risikomanagement und Betrugserkennung bei Versicherungen oder Kreditkartenunternehmen [Hum04]. Je nach Anwendungsgebiet ist es sinnvoll, entweder ein einzelnes Data Mining-Verfahren zu nutzen oder verschiedene Verfahren zu kombinieren. Bei der Kombination von zwei oder mehreren Verfahren bietet sich in erster Linie die sequentielle Ausführung der beteiligten Verfahren an, wobei auch ein paralleler Einsatz von Verfahren möglich ist [Hum04]. Die Kombination mehrerer Data MiningVerfahren wird als „Kombiniertes Data Mining“ bezeichnet (vgl. Kapitel 3). Das Ziel des „Kombinierten Data Mining“ ist es, effizientere (leichter interpretierbare) und hochwertigere Ergebnisse, d. h. einerseits fehlerreduzierte Ergebnisse und andererseits Ergebnisse mit höherer Aussagekraft zu produzieren [Hum04]. Ergebnisse mit höherer Aussagekraft können z. B. Regeln sein, die nur in einem bestimmten Bereich der Daten gelten. Solche Regeln, nach denen normalerweise nur mit einer Assoziationsanalyse gesucht wird, könnten mit einem Clustering (zur Identifizierung von unterschiedlichen Bereichen) und einer anschließenden Assoziationsanalyse gefunden werden. Ein Beispiel für eine solche Regel ist, dass eine bestimmte Kundengruppe eines Buchladens häufig das Buch B kauft, wenn sie auch das Buch A gekauft hat. Auf den gesamten Kundenstamm des Buchladens bezogen wäre die Zuverlässigkeit dieser Regel deutlich geringer. Die verschiedenen Kundengruppen können vor der Assoziationsanalyse mittels eines Clustering anhand des Geschlechtes, des Alters, des Berufes und/oder weiterer persönlicher Daten identifiziert werden. Probleme bei der Kombination von Data Mining-Verfahren bereiten einerseits die Auswahl von geeigneten Verfahren und andererseits die Auswahl von sinnvollen Eingaben in die Verfahren. So ist 5 1 Einleitung eine Kombination eines Clustering und einer Assoziationsanalyse nur dann sinnvoll, wenn die Attribute, nach denen geclustert wird, so gewählt sind, dass möglichst keine Regeln verloren gehen und gleichzeitig Cluster entstehen, die neue interessante Informationen enthalten. Wenn beispielsweise die Verteilung der für die Assoziationsanalyse verwendeten Attribute im gesamten Datenbestand ungefähr gleich der Verteilung dieser Attribute in den einzelnen Clustern ist, dann kann eine Analyse der einzelnen Cluster keine neuen interessanten Informationen hervorbringen. Aus diesem Grund ist die Auswahl der für die Data Mining-Verfahren verwendeten Informationen maßgeblich für die Qualität der Resultate verantwortlich. In verschiedenen Arbeiten (u. a. [LY00]) wird deshalb immer wieder darauf hingeweisen, dass für die Auswahl der Attribute Expertenwissen erforderlich ist. Alternativen zu der Auswahl der Attribute mittels Expertenwissen sind zwar denkbar, aber sehr aufwendig: Hierbei wird das „Kombinierte Data Mining“ für verschiedene Attributkombinationen wiederholt. Die aussagekräftigsten Ergebnisse werden dem Nutzer im Anschluss an diesen Prozess präsentiert. In dieser Arbeit soll gezeigt werden, dass sich der Prozess der Kombination von Data MiningVerfahren durchaus automatisieren lässt, sodass kein Expertenwissen mehr nötig ist. Zur Reduktion des Problems werden nur Verfahren des „Kombinierten Data Mining“ untersucht, die im ersten Schritt ein Clustering der Daten durchführen. Im Anschluss an das Clustering wird im zweiten Schritt eine Assoziationsanalyse durchgeführt. Die Attribute für das Clustering werden automatisch anhand der Zielsetzung der Assoziationsanalyse ermittelt. Die weiteren Kapitel dieser Arbeit gliedern sich wie folgt: Im zweiten Kapitel werden zunächst alle nötigen Grundlagen zum Data Mining und zum Knowledge Discovery-Prozess erläutert. Das dritte Kapitel behandelt das „Kombinierte Data Mining“. Zunächst wird der erweiterte Knowledge Discovery-Prozess für das „Kombinierte Data Mining“ eingeführt. Im Anschluss werden verschiedene Arten des „Kombinierten Data Mining“ vorgestellt und verschiedene Verfahren mit zwei Iterationen erläutert. Zuletzt wird näher auf die Kombination aus Clustering und Assoziationsanalyse eingegangen. Um die Ergebnisse des „Kombinierten Data Mining“ mit denen eines herkömmlichen Data Mining vergleichen zu können, wird ein Maß benötigt. Das in dieser Arbeit verwendete Maß zum Vergleich von Mengen von Assoziationsregeln wird im vierten Kapitel eingeführt. Im fünften Kapitel werden die Ergebnisse von verschiedenen Beispielen zum „Kombinierten Data Mining“ vorgestellt, welche die Vorteile der Kombination der Verfahren deutlich machen. Die Beispiele stammen aus der Movie-Database, einer Filmdatenbank. Die Beschreibung und das Schema der Movie-Database finden sich im Anhang A. Die Automatisierung des „Kombinierten Data Mining“ wird im sechsten Kapitel behandelt. Insbesondere der Identifizierung von Attributen, die im ersten Data Mining-Verfahren verwendet werden sollen, kommt in diesem Kapitel eine besondere Bedeutung zu. Zur Identifizierung der besten Attribute wird ein Ansatz vorgestellt, der die geeigneten Attribute anhand der Ergebnisse einer Korrelationsanalyse auswählt. Im siebten Kapitel wird die im Rahmen dieser Masterarbeit entwickelte Java-Anwendung „Easy Mining“ vorgestellt. Diese setzt die hier vorgestellten Verfahren zur Automatisierung des „Kombinierten Data Mining“ um und zeigt, in wie weit sich der Prozess der Knowledge Discovery automatisieren lässt. Zum automatisierten „Kombinierten Data Mining“ wurden weitere Experimente mit der Anwendung „Easy Mining“ durchgeführt. Die Ergebnisse werden im achten Kapitel präsentiert, bevor im letzten und neunten Kapitel ein Fazit gezogen und ein Ausblick auf mögliche zukünftige Erweiterungen gegeben wird. 6 2 Data Mining und Knowledge Discovery In diesem Kapitel werden zunächst die Begriffe Data Mining und Knowledge Discovery näher erläutert. Zudem werden der KDD-Prozess und die dazugehörigen Schritte vorgestellt. Die Begriffe Data Mining und Knowledge Discovery gehören thematisch eng zusammen: Knowledge Discovery kann im Prinzip als Oberbegriff für das bekanntere Data Mining verstanden werden. Der Begriff Knowledge Discovery bezeichnet das gesamte Verfahren zur Aufdeckung von verborgenen Mustern etc. Der zur Knowledge Discovery gehörende Prozess, der KDD-Prozess1 , umfasst dabei den gesamten Prozess der Analyse einschließlich der Vorbereitung der Daten sowie einer Bewertung der Resultate. Das Data Mining ist ein einzelner Prozessschritt in dieser Prozesskette und bezeichnet die eigentliche Datenanalyse, also die Suche nach bisher unbekannten Mustern, Strukturen und Gesetzmäßigkeiten in einer Menge von Daten. Ziel der Knowledge Discovery ist es, in einer gegebenen großen Datenmenge bislang unbekannte und nützliche Zusammenhänge zu finden und zu erkennen. Während kleine Datenmengen noch problemlos mit traditionellen Methoden wie z. B. der Analyse durch einen Menschen beherrscht werden können, scheitern diese Techniken bei großen Datenmengen oder sie sind zumindest nicht in der Lage, die gesamten Daten zu untersuchen. In diesem Bereich kommen die Knowledge Discovery und verschiedene Data Mining-Verfahren zum Einsatz, die speziell für die Analyse großer Datenmengen entwickelt wurden. 2.1 Knowledge Discovery und der KDD-Prozess Die Knowledge Discovery lässt sich als nicht-trivialer Prozess zur Identifikation von gültigen, neuartigen, potentiell nützlichen und allgemein verständlichen Mustern in Daten beschreiben.2 Der KDD-Prozess ist in Abbildung 2.1 dargestellt und besteht aus den folgenden sieben Schritten: 1. Erfassung und Bereitstellung von Daten 2. Definition der Ziele der Wissensfindung 3. Datenauswahl (Selektion) 4. Datenbereinigung (Preprocessing) 5. Datentransformation 6. Data Mining (die eigentliche Datenanalyse) 7. Interpretation der gewonnenen Erkenntnisse 1 Process of Knowledge Discovery in databases discovery in databases is the non-trivial process of identifying valid, novel, potential useful, and ultimately understandable pattern in data“ [FPSM92] 2 „Knowledge 7 2 Data Mining und Knowledge Discovery Abbildung 2.1: Überblick über die Stufen des KDD-Prozesses3,4 Erfassung und Bereitstellung von Daten Im ersten Schritt des KDD-Prozesses werden die für eine Datenanalyse benötigten Daten zur Verfügung gestellt. Dazu gehört neben der Bereitstellung der Daten auch die vorherige Erfassung der benötigten Daten. Definition der Ziele der Wissensfindung Im zweiten Schritt des KDD-Prozesses werden die Ziele der Wissensfindung definiert. Alle folgenden Schritte basieren auf dieser Definition, weil es nur unter Berücksichtigung der definierten Ziele möglich ist, die richtigen Daten und geeignete Verfahren zur Analyse dieser Daten auszuwählen etc. Datenauswahl (Selektion) Bei der Selektion der Daten werden diejenigen Daten ausgewählt, die für die Analyse verwendet werden sollen. Bei der Auswahl der Daten können Einschränkungen getroffen werden, die sich einerseits auf die Anzahl der verwendeten Attribute, andererseits auf die Anzahl der betrachteten Tupel beziehen. Bei der Einschränkung der Tupel können, um die spätere Analyse der Daten zu beschleunigen, entweder irrelevante Tupel weggelassen werden oder es kann eine Teilmenge gebildet werden, welche die gesamte Menge gut repräsentiert. Die zweite Variante wird häufig eingesetzt, um eine grobe Abschätzung der Ergebnisse zu erhalten, bevor eine Analyse über den gesamten Datenbestand durchgeführt wird. Datenbereinigung (Preprocessing) Während der Datenbereinigung sollen die zu analysierenden Daten so vorbereitet werden, dass sie von möglichst hoher Qualität sind und eine Analyse problemlos durchgeführt werden kann. Die Qualität der Daten wird in erster Linie durch fehlende (Attribut-)Werte, durch Ausreißer in den Daten und durch Redundanzen und Inkonstistenzen vermindert. Somit gehören die Eliminierung fehlender (Attribut-)Werte, z. B. durch Ergänzung eines default-Wertes, die Erkennung und Behandlung von Ausreißern und die Beseitigung von Redundanzen und Inkonsistenzen zu den Hauptaufgaben in diesem Prozessschritt. Datentransformation Im Transformationsschritt werden die durch das Preprocessing bereinigten Daten für die eigentliche Datenanalyse vorbereitet. Durch die Transformation soll eine Abstraktion der Daten [und eine Vereinheitlichung ihrer Struktur] erreicht werden, so dass eine weitere Verarbeitung im Hinblick auf das eigentliche Data Mining sichergestellt werden kann. [Spe07] 3 in Anlehnung an [FPSS96] sind die Schritte 3-7 des KDD-Prozesses 4 Dargestellt 8 2 Data Mining und Knowledge Discovery Zu den während der Transformation eingesetzten Verfahren zählen die Normalisierung und die Diskretisierung von (Attribut-)Werten, die Aggregierung und die Generalisierung, die Konstruktion von neuen Attributen und die Attribut-Reduktion. Weitere Informationen zu diesen Verfahren sind in [Spe07] zu finden. Data Mining (die eigentliche Datenanalyse) Beim Data Mining handelt es sich um die eigentliche Analyse der Daten. Hierzu stehen verschiedene Techniken und Verfahren zur Verfügung, wie das Clustering, die Assoziationsanalyse, die Klassifikation und die Regression. Ausführliche Informationen zu diesem Prozessschritt finden sich in Abschnitt 2.2 (Data Mining). Interpretation der Ergebnisse Im letzten Schritt des KDD-Prozesses werden die gefundenen Beziehungen interpretiert. Das Data Mining liefert als Ergebnis nur Muster, Strukturen und Gesetzmäßigkeiten, die in den Daten enthalten sind. Diese müssen im Anschluss an das Data Mining entweder noch interpretiert werden oder wenigstens für den Nutzer des Systems (oder für ein anderes System) in eine verständliche Form gebracht werden. Für einen menschlichen Benutzer bieten sich in erster Linie Visualisierungen wie Regeln, Entscheidungsbäume, Tabellen oder Diagramme an. Für andere Systeme hängt die Aufbereitung von den zur Verfügung stehenden Schnittstellen ab. Die Ergebnisse des Data Mining können zur Verbesserung des KDD-Prozesses verwendet werden. Diese Rückflüsse sind in Abbildung 2.1 als Pfeile dargestellt. Abhängig von den Ergebnissen könnten z. B. andere Daten für die Analyse verwendet, die gleichen Daten anders aufbereitet oder die Parameter des Data Mining verändert werden. 2.2 Data Mining Data Mining ist der Prozess der (semi-)automatischen Erforschung und Analyse von großen Datenmengen zur Identifizierung von interessanten Strukturen wie Mustern, statistischen Modellen und Beziehungen.5 Zu diesem Zweck wurden verschiedene Data Mining-Verfahren entwickelt. Diese lassen sich grundlegend in zwei Klassen einordnen: die deskriptiven (unsupervised) und die prädiktiven (supervised) Methoden. Die prädiktiven Methoden erlernen anhand von Beispieldatensätzen Informationen über die vorhandenen Daten und sollen später mit Hilfe dieser Informationen Vorhersagen über neue Datensätze machen. Zu den prädiktiven Methoden gehören die Klassifikation und die Regression. Die deskriptiven Methoden machen hingegen keine Vorhersagen für neue Datensätze, sondern nutzen die vorhandenen Informationen in den Datensätzen, um neue Informationen über diese Daten zu gewinnen. Zu den deskriptiven Methoden gehören das Clustering und die Assoziationsanalyse. Zum Verständnis dieser Arbeit werden grundlegende Kenntnisse der Data Mining-Methoden Clustering, Assoziationsanalyse, Klassifikation und Regression benötigt. Diese Methoden werden im Folgenden kurz erläutert. Für weitere Informationen siehe [Spe07] und [ES00]. 5 in Anlehnung an Berry/Linhoff und Fayyad/Chaudhuri/Bradley 9 2 Data Mining und Knowledge Discovery 2.2.1 Clustering Das Clustering wird zur Gruppierung von Daten eingesetzt, und zwar um Daten in vorher nicht bekannte Klassen einzuordnen. Ziel des Clustering ist es, eine gegebene Datenmenge so in Cluster (Gruppen) einzuteilen, dass Objekte im gleichen Cluster möglichst ähnlich und Objekte aus verschiedenen Clustern möglichst unähnlich zueinander sind. Durch das Zusammenfassen der Daten zu Clustern sind die Daten innerhalb eines Clusters bezüglich der berücksichtigten Attribute ähnlich. Somit lassen sich für jeden Cluster Wertekombinationen bestimmen, die diesen Cluster besonders auszeichnen, und es könnte beispielsweise ein besonders guter Repräsentant für jeden Cluster bestimmt werden. Clustering-Verfahren Zur Durchführung eines Clustering stehen unterschiedliche Algorithmen zur Verfügung. Grundsätzlich lassen sich nach [ES00] zwei unterschiedliche Arten von Verfahren unterscheiden: die partitionierenden und die hierarchischen Verfahren. Beim partitionierenden Clustering wird eine Datenmenge so in k Cluster zerlegt, dass jeder Cluster mindestens ein Objekt enthält und gleichzeitig jedes Objekt zu genau einem Cluster gehört. Die bekanntesten Algorithmen zum partitionierenden Clustering sind der k-means- und der EMAlorithmus. Anhand des k-means-Algorithmus, der für das Clustering in dieser Arbeit verwendet wird, wird später ein mögliches Vorgehen zum partitionierenden Clustering vorgestellt. Im Gegensatz zu den partitionierenden Verfahren erzeugen hierarchische Clustering-Verfahren keine einfache Zerlegung der Datenmenge, sondern eine hierarchische Repräsentation der Daten, aus der man eine Clusterstruktur ableiten kann[ES00]. Die hierarchischen Verfahren lassen sich noch weiter in anhäufende (agglomerative clustering) und in teilende Verfahren (divisive clustering) einteilen. Bei den anhäufenden Verfahren bildet zu Beginn jedes Objekt einen eigenen Cluster. Die Cluster werden schrittweise zu größeren Clustern zusammengefasst. Hierzu werden jeweils die beiden Cluster mit dem geringsten Abstand verschmolzen. Der Algorithmus stoppt, wenn nur noch ein Cluster existiert. Die teilenden Verfahren starten mit einem Cluster, der alle Objekte enthält und teilen diesen schrittweise in kleinere Cluster auf, bis jedes Objekt einen eigenen Cluster bildet. Die beim hierarchischen Clustering entstehende Baumstruktur wird in der Regel mit einem Dendrogramm visualisiert. Die bekanntesten Verfahren sind der Single-Link-Clusteringalgorithmus und seine Varianten Complete-Link- Clustering und Average-Link-Clustering. Weitere Informationen zum Clustering sind u. a. in [Spe07] und [ES00] zu finden. Der k-means-Algorithmus In dieser Arbeit wird für das Clustering der Daten der k-means-Algorithmus verwendet. Wie im vorherigen Abschnitt bereits erwähnt, gehört dieser Algorithmus zu den partitionierenden Verfahren, genauer: zu den iterativen distanzbasierten partitionierenden Verfahren. Neben den zu clusternden Daten benötigt dieser Algorithmus die gewünschte Anzahl von Clustern als Eingabeparameter. Diese wird im Folgenden mit k bezeichnet. Der k-means-Algorithmus besteht aus vier Schritten: 1. Initialisierung: (Zufällige) Auswahl von k Clusterzentren 2. Zuordnung: Jedes Objekt wird dem ihm am nächsten liegenden Cluster zugeordnet 10 2 Data Mining und Knowledge Discovery 3. Neuberechnung: Es werden für jeden Cluster die Clusterzentren neu berechnet 4. Wiederholung: Ausführung der Schritte 2 und 3, bis ein Abbruchkriterium erfüllt wird Im ersten Schritt werden k Punkte, die sogenannten Seed-Points festgelegt. Zur Auswahl der SeedPoints sind verschiedene Vorgehensweisen denkbar. Zu den häufigsten Vorgehensweisen gehören die Auswahl von k beliebigen bzw. zufälligen Punkten aus den Eingabedaten oder die Verwendung der ersten k Punkte aus den Eingabedaten. Eine weitere Vorgehensweise ist die Verwendung von k zufälligen und von den Eingabedaten unabhängigen Punkten. Die ausgewählten Punkte sind die Seed-Points und bilden die Clusterzentren für die erste Iteration. Im zweiten Schritt werden die Eingabedaten auf die Cluster verteilt. Die Zuordnung erfolgt so, dass der Abstand der Elemente zu den Clusterzentren minimiert wird. Folglich wird jedes Objekt dem ihm am nächsten liegenden Cluster zugeordnet, wobei der Abstand zwischen einem Element und einem Cluster definiert ist als der Abstand des Elements zum Zentrum des Clusters. Im dritten Schritt werden die Zentren der einzelnen Cluster neu berechnet. Die neuen Zentren ergeben sich als Mittelwert der numerischen Attribute und als Medoide der kategorischen Attribute. Der zweite und der dritte Schritt werden solange wiederholt, bis entweder eine stabile Aufteilung der Daten in Cluster gefunden wurde oder bis ein anderes Abbruchkriterium erreicht wird. Als alternatives Abbruchkriterium kommt in erster Linie das Erreichen einer maximalen Zahl von Iterationen in Frage, aber auch andere Kriterien sind denkbar. 2.2.2 Assoziationsanalyse Das Ziel einer Assoziationsanalyse ist das Auffinden von Regeln innerhalb einer gegebenen Datenmenge. Die Datenmenge besteht hierbei aus einer Menge von Transaktionen. Transaktionen selbst bestehen aus einer Menge von Items. Alle Items, die in derselben Transaktion vorhanden sind, gehören dabei zusammen. Gesucht werden Mengen von Items, für die Folgendes gilt: Immer wenn die Items x1 , x2 , ..., xn in einer Transaktion vorhanden sind, treten auch die Items y1 , y2 , ..., ym in dieser Transaktion auf. Die gefundenen Regeln werden meist in der Form x1 , x2 , ..., xn ⇒ y1 , y2 , ..., ym dargestellt, wobei gilt, dass die Mengen X = { x1 , x2 , ..., xn } und Y = {y1 , y2 , ..., ym } keine gemeinsamen Elemente haben. Ein gängiges Beispiel für eine Assoziationsanalyse sind Einkäufe in einem Supermarkt. Eine Transaktion besteht hierbei aus den Artikeln (Items), die während eines Einkaufs von einem Kunden gekauft werden. Eine Regel könnte dann lauten: „Immer wenn Cola gekauft wird, werden auch Chips gekauft“ bzw. „Cola ⇒ Chips“. Im Zusammenhang mit der Assoziationsanalyse sind zwei Maße von besonderer Bedeutung: Support und Confidence. Der Support einer Regel gibt an, wie aussagekräftig diese Regel ist. Es ist sicherlich einleuchtend, dass eine Regel, die in jeder zweiten Transaktion gültig ist, eine höhere Aussagekraft hat als eine Regel, die nur in jeder hundertsten Transaktion gültig ist. Diese unterschiedliche Aussagekraft wird über den Support abgebildet. Der Support einer Menge von Items, welcher u. a. zur Berechnung der Confidence verwendet werden kann, ist definiert als der Anteil von Transaktionen, die diese Items enthalten. Der Support einer Menge X ist also die relative Häufigkeit, mit der die in X vorkommenden Waren zusammen gekauft werden.[ES00] Damit gilt für den Support einer Menge X: support( X ) = |{t ∈ T : X ⊆ t}| |T | 11 2 Data Mining und Knowledge Discovery Der Support einer Regel A ⇒ B ist definiert als der Support von A ∪ B, d. h. die relative Häufigkeit des gemeinsamen Auftretens aller Items bzw. Waren, die in der Assoziationsregel vorkommen.[ES00] Damit folgt für den Support einer Regel A ⇒ B: support( A ⇒ B) = |{t ∈ T : A ∪ B ⊆ t}| |T | Die Confidence einer Regel gibt deren Zuverlässigkeit an. Man kann sagen, dass eine Assoziationsregel A ⇒ B mit einer Confidence c gilt, wenn c% aller Transaktionen, die A enthalten, auch B enthalten. Nach [ES00] ist die Confidence einer Assoziationregel A ⇒ B definiert als der Anteil der Transaktionen, welche die Menge B enthalten, in der Teilmenge aller Transaktionen, welche die Menge A enthalten. Damit ergibt sich die Confidence einer Regel A ⇒ B als: con f idence( A ⇒ B) = |{t ∈ T : A ∪ B ⊆ t}| support( A ⇒ B) = support( A) |{t ∈ T : A ∈ t}| Ein weiteres Maß zur Bewertung von Assoziationsregeln ist das Improvement, welches auch als Lift bezeichnet wird. Dieses Maß wird in der Arbeit von Lai und Yang (siehe [LY00]) neben dem Support und der Confidence zur Bewertung von Assoziationsregeln verwendet. Das Improvement gibt an, um wieviel die Confidence den Erwartungswert übertrifft, und stellt eine Kombination aus Support und Confidence dar. Formal ist das Improvement einer Regel A ⇒ B definiert als: improvement( A ⇒ B) = con f idence( A ⇒ B) support( B) Das Improvement gibt somit an, um wieviel sich die Verteilung bestimmter Items in einer Teilmenge von der Verteilung in der Grundgesamtheit6 unterscheidet. Für eine Regel A ⇒ B bedeutet z. B. ein Improvement von 4, dass B innerhalb aller Transaktionen, in denen A enthalten ist, 4-mal häufiger vertreten ist als in der Grundgesamtheit. Berechnung von Assoziationsregeln Die Berechnung von Assoziationsregeln mit einem minimalen Support s und einer minimalen Confidence c erfolgt in zwei Schritten: 1. Bestimmung aller Mengen von Items mit einem Support ≥ s (= Frequent Itemsets) 2. Bildung von Assoziationsregeln aus den Frequent Itemsets Diese beiden Schritte werden im Folgenden näher erläutert. Berechnung von Frequent Itemsets Da für jede Assoziationsregel A ⇒ B mit minimalem Support s gilt, dass auch das entsprechende Itemset A ∪ B einen Support ≥ s hat, reicht es für die Bestimmung von Assoziationsregeln aus, nur die Frequent Itemsets zu betrachten und aus diesen die Mengen A und B abzuleiten. Zur Bestimmung der Frequent Itemsets wird in dieser Arbeit der Apriori-Algorithmus verwendet. Ein naives Vorgehen zur Berechnung der Frequent Itemsets ist nicht praktikabel, weil solch ein Algorithmus die Häufigkeit aller k-elementigen Mengen von Items berechnen müsste, es 2|items| solcher Teilmengen gibt und die Anzahl der Items in den meisten Anwendungsfällen sehr groß ist. 6 Die Grundgesamtheit bezeichnet die Menge aller Transaktionen. 12 2 Data Mining und Knowledge Discovery Der Apriori-Algorithmus nutzt hingegen aus, dass jede Teilmenge eines Frequent Itemsets selbst auch häufig sein muss. Es ist sicherlich einleuchtend, dass das Itemset x1 , x2 nur dann häufig sein kann, wenn die Items x1 und x2 selbst häufig in den Transaktionen vorkommen. Durch Ausnutzung dieser Eigenschaft der Frequent Itemsets kann die Anzahl der zu zählenden Teilmengen stark reduziert werden, weil nur diejenigen überprüft werden müssen, für die gilt, dass alle Teilmengen häufig sind. Die zu überprüfenden Itemsets werden Kandidaten genannt. Der Apriori-Algorithmus berechnet zuerst die einelementigen Frequent Itemsets, dann die zweielementigen Frequent Itemsets, usw. Um z. B. die dreielementigen Frequent Itemsets zu bestimmen, werden zunächst alle dreielementigen Mengen von Items berechnet, die sich als „Join“ von zweielementigen Frequent Itemsets ergeben. Für jeden dieser Kandidaten wird dann überprüft, ob der Support größer gleich dem minimalem Support ist. Wenn dies der Fall ist, wird der Kandidat in die Menge der Frequent Itemsets aufgenommen. Allgemein werden zum Auffinden von k+1-elementigen Frequent Itemsets nur die k+1-elementigen Mengen von Itemsets überprüft, die durch einen „Join“ aus k-elementigen Frequent Itemsets gebildet werden können und für die gilt, dass alle k-1-elementigen Teilmengen ebenfalls Frequent Itemsets sind. Mit dem Apriori-Algorithmus lassen sich auf diese Weise alle Frequent Itemsets in einer Menge von Transaktionen bestimmen, ohne alle 2|items| Teilmengen von Items zu überprüfen. Der Algorithmus stoppt, sobald in einer Iteration keine Frequent Itemsets gefunden werden. Berechnung von Assoziationsregeln aus Frequent Itemsets Wie weiter oben in der Motivation für die Berechnung von Frequent Itemsets bereits erwähnt, reicht es aus, nur die Frequent Itemsets zu betrachten, um alle Assoziationsregeln mit einem minimalem Support s und einer minimalen Confidence c zu finden. Um aus einem Frequent Itemset X alle Regeln zu finden, die mindestens den minimalen Support haben, muss für jede Teilmenge A von X die Regel A ⇒ ( X − A) gebildet werden. Für jede dieser Regeln muss im Anschluss die Confidence überprüft werden. Ist die Confidence einer Regel kleiner als die minimale Confidence c, wird diese Regel gestrichen, ansonsten wird sie ausgegeben. 2.2.3 Klassifikation Die Klassifikation ist eine Methode zur Vorhersage der Klassenzugehörigkeit von gegebenen Daten. Es geht somit um die Zuordnung von Daten zu Klassen. Im Gegensatz zum Clustering, bei dem die Klassen a priori unbekannt sind, sind bei der Klassifikation die Klassen, denen die Daten zugeordnet werden sollen, im Vorfeld bekannt. Aufgabe der Klassifikation ist es, Objekte auf Grund ihrer Attributwerte einer vorgegebenen Klasse zuzuordnen. Hierzu muss zunächst anhand von Trainingsobjekten eine Funktion erlernt werden, mit der Objekte einer Klasse zugeordnet werden können. Mit Hilfe dieser Funktion ist es im Anschluss möglich, unklassifizierte Objekte anhand ihrer Attribute zu klassifizieren, d. h. einer Klasse zuzuordnen. Weitere Informationen zur Klassifikation sind in [ES00] und [Spe07] zu finden. 13 2 Data Mining und Knowledge Discovery 2.2.4 Regression Die Regression ist genauso wie die Klassifikation eine Methode zur Vorhersage von Werten. Während bei der Klassifikation die Zugehörigkeit zu einer Klasse anhand von Attributwerten bestimmt wird, wird die Regression verwendet, um numerische, kontinuierliche und geordnete Werte vorherzusagen. Auch hier muss zunächst anhand von Trainingsobjekten eine Funktion erlernt werden. Diese Funktion heißt Regressionsfunktion und hat allgemein die Form y = f ( x1 , ..., xn ), wobei x1 , ..., xn die Attributwerte eines Objektes sind. Diese Funktion kann zur Prognose von Werten für die nächsten Objekte verwendet werden. Weitere Informationen zur Regression finden sich in [Spe07]. 14 3 Kombination von Data Mining-Verfahren Nachdem die Grundlagen des Data Mining in Kapitel 2 erläutert wurden, wird im dritten Kapitel das „Kombinierte Data Mining“ behandelt. Hierzu wird der Begriff des „Kombinierten Data Mining“ zunächst definiert: Definition 1 („Kombiniertes Data Mining“ [Hum04]) Die sequentielle Ausführung von Data MiningVerfahren wird als „Kombiniertes Data Mining“ bezeichnet. Grundsätzlich kann demnach jede sequentielle Ausführung von Data Mining-Verfahren als „Kombiniertes Data Mining“ bezeichnet werden. Unter diese allgemeine Definition fallen alle KDD-Prozesse, in denen mindestens zwei Data Mining-Verfahren hintereinander ausgeführt werden. Die Definition von [Stö04] schränkt diese Definition ein, indem das Kritierium des „Profitierens“ eingeführt wird: Definition 2 („Kombiniertes Data Mining“ [Stö04]) Beim „Kombinierten Data Mining“ wird ein Data Mining-Verfahren A vor einem Data Mining-Verfahren B ausgeführt, so dass B von A profitiert. B kann dazu das Ergebnis von A und/oder eigens ermittelte Hilfsinformationen von A für B nutzen. B profitiert dann von A, wenn das Ergebnis von B, gemäß einem geeignetem Gütemaß, besser ist [als ohne A], und/oder sich die Laufzeit von B verringert. Nach [Stö04] handelt es sich bei der sequentiellen Ausführung von Data Mining-Verfahren somit nur dann um „Kombiniertes Data Mining“, wenn das zweite Verfahren durch die Kombination bessere Ergebnisse liefert als ohne die Kombination. Diese Definition ist allerdings nicht ganz unproblematisch, da die Qualität der Ergebnisse u. a. von den verwendeten Daten abhängt. Somit ist es möglich, dass auf einer Datenmenge das zweite Verfahren vom ersten profitiert, dies aber auf einer anderen Datenmenge nicht der Fall ist. Aus diesem Grund müssten zu jedem KDD-Prozess auch die zu analysierenden Daten bekannt sein, um zu entscheiden, ob ein „Kombiniertes Data Mining“ durchgeführt wird. Die ersten beiden Definitionen berücksichtigen nicht, dass auch andere Ausführungsreihenfolgen als die sequentielle Ausführung von Data Mining-Verfahren möglich sind. So ist u. a. auch eine parallele Ausführung von zwei Data Mining-Verfahren möglich. Diese alternativen Ausführungsreihenfolgen werden in der folgenden Definition berücksichtigt. Definition 3 („Kombiniertes Data Mining“) Beim „Kombinierten Data Mining“ werden mindestens zwei Data Mining-Verfahren so ausgeführt, dass mindestens eines dieser Verfahren die Ergebnisse und/oder eigens ermittelte Hilfsinformationen der anderen Data Mining-Verfahren nutzen kann. Wie in allen Definitionen deutlich wird, handelt es sich beim „Kombinierten Data Mining“ um eine Kombination von mindestens zwei Data Mining-Verfahren. Die häufigste Ausführungsreihenfolge 15 3 Kombination von Data Mining-Verfahren ist dabei die sequentielle Ausführung. Die Hauptgründe für die Kombination von Data MiningVerfahren sind die Verbesserung der Ergebnisse und die verbesserte Laufzeit der Verfahren. In dieser Arbeit wird der Begriff des „Kombinierten Data Mining“ analog zur dritten Definition verwendet. Die ersten beiden Definitionen sind auf Grund der Einschränkung auf sequentielle Ausführungsreihenfolgen nicht ausreichend, da u. a. für das implizite „Kombinierte Data Mining“ eine erweiterte Definition benötigt wird, die auch andere Reihenfolgen zulässt. Die zweite Definition ist auch auf Grund der Einschränkung auf profitable Verfahren problematisch. Die Profitabilität eines Verfahrens stellt zwar eine wichtige Information über kombinierte Verfahren dar, sie sollte aus oben genannten Gründen jedoch nicht zur Abgrenzung von herkömmlichen und kombinierten Verfahren verwendet werden. Auf die Profitabilität verschiedener Kombinationen wird u. a. im Abschnitt 3.3 näher eingegangen. 3.1 Erweiterung des Knowledge Discovery-Prozesses In diesem Abschnitt wird eine Erweiterung des Knowledge Discovery-Prozesses für das sequentielle „Kombinierte Data Mining“ vorgestellt. Der KDD-Prozess für das „Kombinierte Data Mining“ unterscheidet sich vom oben vorgestellten KDD-Prozess, da mehrere Data Mining-Verfahren eingesetzt werden können. Der KDD-Prozess für das „Kombinierte Data Mining“ ist in Abbildung 3.1 dargestellt. Abbildung 3.1: Überblick über die Stufen des erweiterten KDD-Prozesses1 Die einzelnen Schritte im KDD-Prozess für das „Kombinierte Data Mining“ bleiben im Vergleich zum oben vorgestellten KDD-Prozess unverändert. Auch ist es weiterhin möglich, den KDD-Prozess auf Grund der Erkenntnisse einer früheren Ausführung zu verändern. Die Unterschiede zwischen den Prozessen bestehen darin, dass im KDD-Prozess für das „Kombinierte Data Mining“ die gefundenen Muster Eingaben in ein nachfolgendes Data Mining-Verfahren sein können. Dazu bestehen zwei Möglichkeiten: Die Muster können entweder als neue Eingabedaten in das nachfolgende Verfahren eingebracht werden, oder sie können Hilfsinformationen zur Verfügung stellen. In beiden Fällen wird zunächst ein herkömmliches Data Mining durchgeführt. Die hierbei ermittelten Muster werden im Anschluss allerdings unterschiedlich genutzt. Im ersten Fall dienen die gefundenen Muster als Eingabedaten für das nachfolgende Verfahren. Diese Daten durchlaufen alle Phasen des KDD-Prozesses wie herkömmliche Daten. Dies bedeutet, dass die gefundenen Muster gegebenfalls vor der weiteren Verarbeitung noch selektiert, bereinigt und transformiert werden. Auf die aufbereiteten Daten wird danach ein weiteres Data MiningVerfahren angewendet. Im Anschluss können die gefundenen Muster entweder als neue Eingabedaten für eine weitere Iteration des erweiterten KDD-Prozesses verwendet werden oder sie werden interpretiert, aufbereitet und für den Nutzer des Systems ausgegeben und/oder gespeichert. 1 Dargestellt sind die Schritte 3-7 des KDD-Prozesses 16 3 Kombination von Data Mining-Verfahren Im zweiten Fall werden die gefundenen Muster als Hilfsinformationen für das nachfolgende Verfahren verwendet. Die Zielsetzung der ersten Iteration des KDD-Prozesses sollte dabei so gewählt werden, dass die Ergebnisse dieser Iteration direkt ohne weitere Aufbereitung vom nachfolgenden Verfahren verwendet werden können. Bei den Hilfsinformationen handelt es sich meist um Informationen über die Daten, also Metainformationen, die im nachfolgenden Verfahren verwendet werden können, um die Ergebnisse des Data Mining zu verbessern. Ein Beispiel hierfür ist die Gewinnung von Informationen über die Verteilung von Daten mittels einer Clusteranalyse und die anschließende Nutzung dieser Information zur Erstellung eines verbesserten Decision Trees für die Klassifizierung von Daten. 3.2 Arten des Kombinierten Data Mining“ ” Grundsätzlich können insgesamt fünf Arten des „Kombinierten Data Mining“ unterschieden werden. Diese Unterscheidung ist unabhängig von den verwendeten Data Mining-Verfahren. Die fünf verschiedenen Arten sollen im Folgenden kurz erläutert werden. Naives Kombiniertes Data Mining“ ” Beim naiven „Kombinierten Data Mining“ werden mindestens zwei Verfahren so miteinander kombiniert, dass das Nachfolgerverfahren die Ergebnisse des Vorgängerverfahrens nutzt. Im Kontext des erweiterten KDD-Prozesses bedeutet dies, dass die Ergebnisse des Vorgängerverfahrens die Eingabedaten des Nachfolgerverfahrens sind. Diese Daten können vor dem eigentlichen Data Mining noch weiter selektiert, transformiert oder bereinigt werden. Ein Beispiel für das naive „Kombinierte Data Mining“ ist die Kombination aus Clustering und Assoziationsanalyse, bei der die Assoziationsanalyse für jeden Cluster separat durchgeführt wird. Bei der Betrachtung des kombinierten Verfahrens können die einzelnen Data Mining-Verfahren isoliert untersucht werden. Vorgängerverfahren kennt Nachfolgerverfahren Bei dieser Art des „Kombinierten Data Mining“ berechnet das Vorgängerverfahren Hilfsinformationen für das Nachfolgerverfahren. Ein Beispiel für dieses Verfahren ist die Kombination aus Clustering und Klassifikation, bei der das Clustering Hilfsinformationen für die Klassifikation berechnet. Bei diesen Hilfsinformationen kann es sich z. B. um Informationen über die Verteilung der Daten handeln, damit bei der Erzeugung eines Decision Trees eine optimale Aufteilung erfolgen kann. In diesem Fall muss das Clustering wissen, welche Attribute für die Klassifikation verwendet werden, damit die Klassifikation vom Clustering profitieren kann. Denn nur wenn die Klassifikationsattribute auch für das Clustering verwendet werden, können die Ergebnisse des Clustering zur Erzeugung des Decision Trees verwendet werden. Daher können in dieser Konstellation nur dann bessere Ergebnisse durch die Kombination von Data Mining-Methoden erzielt werden, wenn das Vorgängerverfahren das Nachfolgerverfahren kennt. Nachfolgerverfahren kennt Vorgängerverfahren Die Verfahrensart „Nachfolgerverfahren kennt Vorgängerverfahren“ nutzt den Effekt aus, dass das Nachfolgerverfahren in vielen Fällen von einem vereinfachten Problem ausgehen kann, wenn es nicht nur die Ergebnisse des Vorgängerverfahrens, sondern auch das Vorgängerverfahren kennt. Ein Beispiel hierfür ist die Kombination aus Clustering und Klassifikation: Wenn ein Clustering mit 17 3 Kombination von Data Mining-Verfahren zwei Attributen durchgeführt wird und das Ergebnis des Clustering stets konvexe Cluster2 sind, muss der Klassifikationsalgorithmus die Clusterattribute nicht mehr berücksichtigen. Die optimale Aufteilung zwischen zwei Clustern ergibt sich aus der Mittelsenkrechte zwischen den Clustermittelpunkten. Vorgänger- und Nachfolgerverfahren kennen sich gegenseitig Bei dieser Art des „Kombinierten Data Mining“ handelt es sich um die Kombination der Verfahren „Vorgängerverfahren kennt Nachfolgerverfahren“ und „Nachfolgerverfahren kennt Vorgängerverfahren“. Implizites Kombiniertes Data Mining“ ” Beim impliziten „Kombinierten Data Mining“ handelt es sich um die einzige Art des „Kombinierten Data Mining“, bei der die beteiligten Verfahren nicht sequentiell ausgeführt werden. Bei dieser Art des „Kombinierten Data Mining“ verwendet ein Data Mining-Verfahren zusätzlich zu seinen eigenen Methoden die Methoden und Techniken eines anderen Verfahrens. Auch hierfür kann die Kombination aus Clustering und Klassifikation als Beispiel verwendet werden: Es handelt sich z. B. um ein implizites „Kombiniertes Data Mining“, wenn der Klassifikationsalgorithmus zur Aufteilung von zwei Datenmengen in bestimmten Fällen einen Clusteringalgorithmus verwendet und anhand der gefundenen Cluster die Aufteilungskritierien definiert. 3.3 Kombinationen aus zwei Verfahren Im folgenden Abschnitt soll die Kombination von Data Mining-Verfahren untersucht werden, wobei nur Kombinationen aus maximal zwei Verfahren betrachet werden. Kombinationen aus mehr als zwei Verfahren werden in dieser Arbeit nicht untersucht. Bei den betrachteten Verfahren handelt es sich um Clustering, Assoziationsanalyse, Klassifikation und Regression. Grundsätzlich können mit diesen Verfahren 16 unterschiedliche Kombinationen gebildet werden. Es ist aber zu beachten, dass nicht alle Verfahren sinnvoll kombiniert werden können. Die möglichen Kombinationen sind in Tabelle 3.1 dargestellt. Clustering (C) Assoziationsanalyse (A) Klassifikation (K) Regression (R) Clustering (C) C→C A→C K→C R→C Assoziationsanalyse (A) C→A A→A K→A R→A Klassifikation (K) C→K A→K K→K R→K Regression (R) C→R A→R K→R R→R Tabelle 3.1: Mögliche Kombination aus zwei Verfahren Im Folgenden werden diese Kombinationen kurz vorgestellt und auf ihre praktische Relevanz überprüft. Darüber hinaus wird zu jeder praktikablen Kombination auch ein möglicher Anwendungsfall kurz vorgestellt. 2 Ein Cluster ist genau dann konvex, wenn jeder Punkt innerhalb des Clusters mit jedem anderen Punkt innerhalb des Clusters verbunden werden kann, ohne dass die Verbindungslinie die Grenze des Clusters schneidet. 18 3 Kombination von Data Mining-Verfahren 3.3.1 Kombinationen aus Clustering und Assoziationsanalyse Clustering und Clustering (C → C) Bei dieser Kombination werden zwei Clusterings durchgeführt. Hierdurch ist es möglich, die verwendeten Clusterattribute unterschiedlich zu gewichten. Werden zunächst die Daten nach den Attributen x1 , ..., xn und anschließend die Daten in den entstandenen Clustern nach den Attributen y1 , ..., ym geclustert, wird das Ergebnis von den Attributen x1 , ..., xn dominiert. Das liegt daran, dass die Attribute y1 , ..., ym nur die im ersten Schritt gefundenen Cluster weiter unterteilen. Dementsprechend haben die Attribute x1 , ..., xn einen stärkeren Einfluss auf das Ergebnis als die Attribute y1 , ..., ym . Clustering und Assoziationsanalyse (C → A) Bei der Kombination aus Clustering und Assoziationsanalyse werden die Daten in einem ersten Schritt in verschiedene Cluster aufgeteilt. Im zweiten Schritt wird für jeden Cluster eine Assoziationsanalyse durchgeführt. Hiervon erhofft man sich, Assoziationsregeln zu finden, die nur in einem Teilbereich der untersuchten Daten gelten. Die Kombination aus Clustering und Assoziationsanalyse ist das „Kombinierte Data Mining“-Verfahren, welches in dieser Arbeit näher untersucht wird. Weitere Informationen zu dieser Kombination finden sich in Abschnitt 3.4. Assoziationsanalyse und Clustering (A → C) Bei der Kombination aus Assoziationsanalyse und Clustering wird zunächst eine Assoziationsanalyse auf dem vorhandenen Datenbestand durchgeführt. Die gefundenen Assoziationsregeln werden im Anschluss geclustert, um zusammenhängende Gruppen von Assoziationsregeln zu finden. Dieser Ansatz wird in der Arbeit [LSW97] untersucht. Es wird untersucht, wie mit Hilfe eines Clustering aus einer großen Menge von Assoziationsregeln eine kleinere Menge mit generellen Regeln (siehe Beispiel) erzeugt werden kann. Hierbei werden nur Regeln untersucht, deren Prämisse (linke Seite der Regel) aus zwei numerischen Attributen und deren Konklusion (rechte Seite der Regel) aus kategorischen Attributen besteht. Nach der Assoziationsanalyse werden zunächst Blöcke von Regeln mit gleicher Konklusion gebildet. Diese Blöcke werden anhand der Prämisse geclustert, wobei ein Algorithmus verwendet wird, der nur rechteckige Cluster ohne Löcher produziert. Der Abstand zwischen zwei Elementen ergibt sich aus der Differenz der beiden numerischen Attribute. Das Ergebnis eines solchen Clustering ist in Abbildung 3.2 dargestellt. Ein weiteres Zusammenfassen der Cluster ist nicht möglich, weil der entstehende Cluster nicht mehr rechteckig wäre. Dadurch, dass die Regeln eines Clusters jeweils in ihrer Konklusion übereinstimmen und die Attributwerte der Prämissen ohne Lücken aneinander angrenzen, können die Regeln eines Clusters jetzt zu einer generelleren Regel zusammengefasst werden, die die Regeln im Cluster ersetzt. Dies soll an einem Beispiel verdeutlicht werden. Gegeben seinen die acht Regeln R1 bis R8 die in Abbildung 3.2 den Cluster unten links bilden: R1 : salary={20-25k} ∧ age=21 ⇒ kat1 R2 : salary={20-25k} ∧ age=22 ⇒ kat1 R3 : salary={25-30k} ∧ age=21 ⇒ kat1 R4 : salary={25-30k} ∧ age=22 ⇒ kat1 R5 : salary={30-35k} ∧ age=21 ⇒ kat1 R6 : salary={30-35k} ∧ age=22 ⇒ kat1 R7 : salary={35-40k} ∧ age=21 ⇒ kat1 R8 : salary={35-40k} ∧ age=22 ⇒ kat1 19 3 Kombination von Data Mining-Verfahren Abbildung 3.2: Beispiel zur Kombination aus Assoziationsanalyse und Clustering Auf Grund der rechteckigen Clusterform ohne Lücken lassen sich diese Regeln zu folgender Regel zusammenfassen: salary={20-40k} ∧ age={21-22} ⇒ kat1 Weitere Informationen zu diesem Anwendungsfall finden sich in [LSW97]. Assoziationsanalyse und Assoziationsanalyse (A → A) Die Kombination von zwei Assoziationsanalysen erfolgt in zwei Phasen. Die Ergebnisse der ersten Phase dienen hierbei als Eingabe in die zweite Phase. Gegeben seien die n Mengen von Transaktionen T1 bis Tn . Für jede dieser Mengen wird in der ersten Phase zunächst eine Assoziationsanalyse durchgeführt. Die Ergebnisse dieser Analysen sind die n Mengen von Assoziationsregeln A1 bis An , wobei die Menge Ai das Ergebnis der Assoziationsanalyse auf der Menge Ti von Transaktionen ist. Die Mengen von Assoziationsregeln A1 bis An können auch als Transaktionen angesehen werden. Jede Menge Ai stellt hierbei eine Transaktion dar und jede Regel innerhalb dieser Menge stellt ein Item innerhalb der Transaktion dar. Mit diesen Transaktionen wird im Anschluss eine weitere Assoziationsanalyse durchgeführt. Das Ergebnis dieser Analyse sind Informationen über Regeln, die häufig zusammen auftreten. Dies soll an einem Beispiel verdeutlicht werden: Gegeben seien die Mengen von Transaktionen T1 und T2 . Die Assoziationsanalyse mit den Transaktionen T1 liefert die Regeln a1 ⇒ b1 und a2 ⇒ b2 . Die Assoziationsanalyse mit T2 liefert die gleichen Regeln. Diese Regelmengen können auch als Transaktionen aufgefasst werden. Damit ergeben sich folgende Transaktionen: Ta : {a1 ⇒ b1 , a2 ⇒ b2 } Tb : {a1 ⇒ b1 , a2 ⇒ b2 } Die zweite Assoziationsanalyse liefert die Regeln (a1 ⇒ b1 ) ⇒ (a2 ⇒ b2 ) und (a2 ⇒ b2 ) ⇒ (a1 ⇒ b1 ). Für die untersuchten Daten gilt also immer: Wenn die Regel a1 ⇒ b1 gilt, dann gilt auch die Regel a2 ⇒ b2 . 20 3 Kombination von Data Mining-Verfahren Zur Kombination von zwei Assoziationsanalysen gibt es noch eine weitere Möglichkeit. Dabei bilden nicht die gefundenen Regeln, sondern die Frequent Itemsets die Eingabe in das zweite Verfahren. Im ersten Schritt werden die Frequent Itemsets einer Menge von Transaktionen mit Hilfe einer Assoziationsanalyse ermittelt. Jedes Frequent Itemset wird als eine Transaktion für die zweite Assoziationsanalyse angesehen. Die zweite Assoziationsanalyse berechnet, welche Items in den Frequent Itemsets häufig gemeinsam auftreten. Folglich werden die Frequent Items in den Frequent Itemsets einer vorangegangenen Assoziationsanalyse berechnet. 3.3.2 Clustering und Klassifikation/Regression (C → K / C → R) Bei den kombinierten Verfahren aus Clustering und Klassifikation bzw. Clustering und Regression werden die Daten genau wie bei der Kombination aus Clustering und Assoziationsanalyse im ersten Schritt in verschiedene Cluster aufgeteilt. Im Anschluss wird für jeden Cluster eine eigene Funktion zur Klassifizierung der Daten bzw. zur Vorhersage der Werte erlernt. Man erhofft sich dadurch, dass bestimmte Eigenschaften der Daten innerhalb der Cluster ausgenutzt werden können, um die Klassifizierung und die Regression zu verbessern. Bei diesen Eigenschaften handelt es sich um Attributkombinationen, welche die Daten innerhalb eines Clusters gut unterscheiden, die aber auf dem gesamten Datenbestand keine oder nur eine schlechte Unterscheidungswirkung entfalten können. Als Beispiel könnte die Klassifikation von Filmen anhand ihres Budgets dienen. Die Klassifizierungsfunktion soll anhand des Budgets eine Prognose über das Rating eines Filmes machen. Obwohl tendenziell gilt, dass je höher das Budget eines Filmes ist, desto höher auch sein Rating ist, liefert diese Klassifikation ein eher schlechtes Ergebnis. Der Grund ist, dass die Budgets von Filmen abhängig von Produktionsland, Genre, etc. sehr stark voneinander abweichen. So ist ein Actionfilm aus den USA sicherlich deutlich teurer produziert als ein tschechisches Märchen mit gleicher Bewertung. Durch eine Zusammenfassung von ähnlichen Filmen (z. B. durch Clustering nach Land und Genre) hofft man, diese Effekte deutlich zu reduzieren, so dass in den Clustern die einfache Annahme, je höher das Budget, desto höher auch der Erfolg, zumindest mit einer höheren Wahrscheinlichkeit gilt und somit die Clusteringergebnisse des „Kombinierten Data Mining“ bessere Resultate liefern als ohne eine Kombination. Die Data Mining-Verfahren Clustering und Klassifikation können auch auf eine andere Art kombiniert werden, so dass eine Verbesserung der Ergebnisse erzielt werden kann. Dabei werden mit Hilfe des Clustering Hilfsinformationen für die Klassifikation berechnet, so z. B. Informationen über die Verteilung der Daten. Die Hilfsinformationen werden einem modifiziertem Klassifikationsalgorithmus über eine vordefinierte Schnittstelle zur Verfügung gestellt. Dieser kann die Hilfsinformationen nutzen, um die Klassifizierung zu optimieren. Falls der Klassifikationsalgorithmus beispielsweise einen Decision Tree zur Klassifizierung verwendet, können u. a. die Reihenfolge, in der die Attribute zur Unterscheidung verwendet werden, und die idealen Aufteilungen der Daten mit Hilfe der Hilfsinformationen optimiert werden. Dieser Ansatz wurde in den Arbeiten [Hum04] und [Stö04] der Universität Linz ausführlich behandelt. 3.3.3 Assoziationsanalyse und Klassifikation/Regression (A → K / A → R) Die Kombination aus Assoziationsanalyse und Klassifikation kann theoretisch zur Klassifizierung von Mengen von Transaktionen verwendet werden, wobei jeweils eine Menge von Transaktionen ein zu klassifizierendes Objekt darstelllt. Hierzu wird zunächst für jede Menge von Transaktionen eine Assoziationsanalyse durchgeführt. Anhand der gefundenen Regeln kann die Zuweisung in die entsprechenden Klassen erfolgen. Anstelle der Regeln zur Klassifizierung der Menge können auch die Frequent Itemsets als Ergebnis der Assoziationsanalyse verwendet werden. 21 3 Kombination von Data Mining-Verfahren Die Kombination aus Assoziationsanalyse und Regression ist zwar u. U. technisch möglich, aber Anwendungsfälle für diese Kombination sind nur schwer vorstellbar. Der Grund ist, dass die Regression nur kontinuierliche Werte als Eingabe verarbeiten kann. Daher soll auf diese Kombination nicht näher eingegangen werden. 3.3.4 Klassifikation/Regression und Clustering (K → C / R → C) Die Kombinationen aus Klassifikation und Clustering bzw. Regression und Clustering können durchaus interessante Ergebnisse liefern. Zunächst wird eine Klassifikation/Regression der Eingabedaten durchgeführt. Das Ergebnis wird als zusätzliches Attribut zu den Daten hinzugefügt. Mit den erweiterten Daten kann ein Clustering durchgeführt werden, wobei das Ergebnis der Klassifikation/Regression als „normales“ Clusterattribut in das Clustering einbezogen wird. Mit dieser Technik ist es u. a. möglich, Attribute mit null-Werten zu vervollständigen, wobei mit Hilfe der Regression lediglich numerische Attribute vervollständigt werden können. Zur Vervollständigung wird zunächst mit Hilfe der vorhandenen vollständigen Datensätze eine Klassifizierungsfunktion/Regressionsfunktion erlernt. Mit dieser können die fehlenden Werte prognostiziert werden und es können vollständige Daten im Clusteringverfahren verwendet werden. 3.3.5 Klassifikation/Regression und Assoziationsanalyse (K → A / R → A) Auch bei der Kombination aus Klassifikation und Assoziationsanalyse werden die Daten zunächst klassifiziert, bei der Kombination aus Regression und Assoziationsanalyse werden zunächst die zu prognostizierenden Werte berechnet. Das Ergebnis der Klassifikation bzw. der Regression wird als zusätzliches Attribut zu den Daten hinzugefügt. Im Anschluss wird eine Assoziationsanalyse mit den ergänzten Daten durchgeführt. Hierbei werden zwei unterschiedliche Arten von Regeln gefunden: Einerseits Regeln, die nur aus den ursprünglichen Attributen bestehen, und andererseits Regeln, die auch das Attribut einbeziehen, welches durch die Klassifikation/Regression hinzugefügt wurde. Die Assoziationsregeln, die nur aus den ursprünglichen Attributen bestehen, hätte man allerdings auch ohne die Kombination aus Klassifikation und Assoziationsanalyse bzw. Regression und Assoziationsanalyse erhalten. Die interessanten Regeln sind diejenigen, die das neue Attribut einbeziehen. Hierbei können wieder zwei unterschiedliche Arten von Regeln unterschieden werden: Einerseits die Regeln, die das hinzugefügte Attribut in der Prämisse enthalten, andererseits die Regeln, die es in der Konklusion enthalten. Bei den Regeln, die das neue Attribut in der Konklusion beinhalten, handelt es sich mit großer Wahrscheinlichkeit um die Regeln, welche zur Klassifizierung der Daten verwendet wurden, falls hierzu ein regelbasierter Klassifikator verwendet wurde. Falls das neue Attribut allerdings in der Prämisse einer Regel vorkommt, wurde eine Regel gefunden, die ohne die Kombination nicht hätte gefunden werden können. Diese Regeln können einerseits neues Wissen repräsentieren oder andererseits eine neue (einfachere) Repräsentation für bereits bekanntes Wissen darstellen. 3.3.6 Kombinationen aus Klassifikation und Regression In diesem Abschnitt werden die kombinierten Verfahren Klassifikation und Klassifikation (K → K), Klassifikation und Regression (K → R), Regression und Klassifikation (R → K) und Regression und Regression (R → R) näher untersucht. Durch die Kombination der Data Mining-Verfahren Klassifikation und Regression bzw. Regression und Regression können im Vergleich zum herkömmlichen Data Mining vermutlich keine verbes- 22 3 Kombination von Data Mining-Verfahren serten Ergebnisse erzielt werden. Bei der Kombination aus Klassifikation und Regression wird zunächst eine Prognose für die Zugehörigkeit eines Objektes zu einer Klasse durch die Klassifikation berechnet. Bei der Kombination aus Regression und Regression wird die Prognose mit Hilfe der Regressionsfunktion berechnet. In beiden Fällen kann das zweite Verfahren, also die Regression, die gleichen Attribute zur Berechnung der Prognose verwenden wie das erste Verfahren. Zusätzlich kann auf das Ergebnis des ersten Verfahrens zugegriffen werden. Da dieses Ergebnis von den anderen Attributen abhängig ist, bringt die Einbeziehung keine neuen Informationen. Dementsprechend kann das zweite Verfahren nur auf die gleichen Daten wie das erste Verfahren zugreifen und deshalb keine besseren Ergebnisse liefern. Denn das zweite Verfahren ist so mächtig, dass es die Ergebnisse des ersten Verfahrens mitberechnen kann. Daher können die Kombinationen aus Klassifikation und Regression bzw. aus Regression und Regression auch insgesamt keine besseren Ergebnisse liefern als ein herkömmliches Data Mining. Wenn es das Ziel der Klassifikation ist, lediglich eine möglichst gute Prognose für bisher unbekannte Werte zu berechnen, dann verhalten sich die Verfahren Klassifikation und Klassifikation bzw. Regression und Klassifikation analog zu den obigen Verfahren und können somit ebenfalls keine Verbesserung der Ergebnisse erzielen. Sollen diese Verfahren aber zusätzlich zu einer guten Prognose möglichst leicht verständliche und aussagekräftige Regeln zur Klassifizierung der Daten bereitstellen, kann durch die Kombination eine Verbesserung erreicht werden, da hierbei transitive Abhängigkeiten aufgespalten werden können. Dies soll an einem Beispiel verdeutlicht werden. In einem Datenbestand sollen folgende Abhängigkeiten gelten: Lieblingsfarbe = rosa ⇒ Geschlecht = weiblich ⇒ Art des Kunden = guter Kunde Lieblingsfarbe = blau ⇒ Geschlecht = männlich ⇒ Art des Kunden = schlechter Kunde Die Klassifikation, ob es sich bei einem Kunden um einen guten oder einen schlechten Kunden handelt, kann also direkt über die Lieblingsfarbe oder das Geschlecht erfolgen. Eine herkömmliche Klassifikation zur Vorhersage der Art des Kunden würde eine der folgende Regelmengen finden und zur Klassifikation verwenden: Lieblingsfarbe = rosa ⇒ Art des Kunden = guter Kunde Lieblingsfarbe = blau ⇒ Art des Kunden = schlechter Kunde oder Geschlecht = weiblich ⇒ Art des Kunden = guter Kunde Geschlecht = männlich ⇒ Art des Kunden = schlechter Kunde Ein „Kombiniertes Data Mining“, bei dem zunächst eine Klassifikation nach Geschlecht und danach eine Klassifikation nach der Art des Kunden erfolgt, würde folgende Regelmenge finden und zur Klassifikation verwenden: Lieblingsfarbe = rosa ⇒ Geschlecht = weiblich Lieblingsfarbe = blau ⇒ Geschlecht = männlich Geschlecht = weiblich ⇒ Art des Kunden = guter Kunde Geschlecht = männlich ⇒ Art des Kunden = schlechter Kunde Das Ergebnis der Klassifikation ist dasselbe wie beim herkömmlichen Data Mining. Die gefundenen Regeln sind allerdings aussagekräftiger als beim herkömmlichen Data Mining - sie enthalten 23 3 Kombination von Data Mining-Verfahren mehr Wissen. Im Vergleich zur Kombination aus Klasifikation und Klassifikation fehlen beim herkömmlichen Data Mining Informationen: Entweder fehlen die Informationen über die transitive Abhängikeit der Attribute wie bei der ersten Regelmenge oder der Zusammenhang zwischen zwei Attributen ist in den Regeln nicht enthalten. Dies trifft bei der zweiten Regelmenge zu, bei der der Zusammenhang zwischen Farbe und Geschlecht von den Regeln nicht erfasst wird. 3.3.7 Zusammenfassung In Tabelle 3.2 sind die Ergebnisse der Analyse der kombinierten Verfahren dargestellt. Angegeben sind die möglichen Kombinationen mit Anwendungsfällen. In Klammern dargestellt sind die möglichen Kombinationen, bei denen die Anwendungsfälle nicht ganz klar sind. Kombinationen, die nur technisch möglich sind, aber keine verwertbaren oder keine verbesserten Ergebnisse liefern, sind nicht mit angegeben. Clustering (C) Assoziationsanalyse (A) Klassifikation (K) Regression (R) Clustering (C) C→C A→C K→C R→C Assoziationsanalyse (A) C→A A→A K→A R→A Klassifikation (K) C→K (A → K) (K → K) (R → K) Regression (R) C→R (A → R) Tabelle 3.2: Kombinationen aus zwei Verfahren, die zu einer Verbesserung der Ergebnisse führen 3.4 Kombination aus Clustering und Assoziationsanalyse Bei der Kombination aus Clustering und Assoziationsanalyse wird zunächst ein Clustering eines Datenbestandes durchgeführt. Anhand des Clusteringergebnisses werden die Transaktionen für die Assoziationsanalyse in verschiedene Mengen aufgeteilt. Für jede dieser Mengen wird im Anschluss eine Assoziationsanalyse durchgeführt. Der gesamte Prozess ist in Abbildung 3.3 dargestellt und soll im Folgenden ausführlich erläutert werden. Das Vorgehen bei der Kombination aus Clustering und Assoziationsanalyse zum „Kombinierten Data Mining“ lässt sich grundsätzlich in sechs Phasen unterteilen: 1. Auswahl der Daten (Selektion) 2. Vorbereitung der Daten für das Clustering (Preprocessing / Transformation) 3. Clustering der Daten 4. Vorbereitung der Daten für die Assoziationsanalyse (Preprocessing / Transformation) 5. Assoziationsanalyse 6. Präsentation der Ergebnisse Auswahl der Daten Im ersten Schritt des Prozesses werden die Daten für das gesamte „Kombinierte Data Mining“ ausgewählt. Zu diesen Daten gehören die Datensätze, die für das Clustering verwendet werden sollen, und die Transaktionen für die Assoziationsanalyse. Die Zuordnung der zusammengehörigen Datensätze und Transaktionen erfolgt über eine einheitliche ID. Ein Schema für eine mögliche Auswahl ist in Abbildung 3.4 dargestellt. Aus der Basistabelle lassen sich die Datensätze für das Clustering 24 3 Kombination von Data Mining-Verfahren Abbildung 3.3: Kombination aus Clustering und Assoziationsanalyse und für die Assoziationsanalyse extrahieren. Hierbei müssen zwar nicht alle Datensätze der Basistabelle übernommen werden, für alle zu berücksichtigenden Datensätze muss aber gelten, dass sowohl Einträge in der Tabelle „Clusterdaten“ als auch in der „Transaktionen“-Tabelle zu finden sind. Die Daten in den unterschiedlichen Tabellen können als verschiedene Sichtweisen auf dasselbe Objekt angesehen werden. Dementsprechend kann in den einzelnen Schritten je nach Bedarf auf die verschiedenen Tabellen zugegriffen werden. Die Daten aus der Tabelle „Clusterdaten“ werden für die ersten drei Schritte des Prozesses verwendet, die Daten der „Transaktionen“-Tabelle hingegen in den Schritten vier und fünf. Im letzten Schritt erfolgt lediglich die Präsentation der Ergebnisse. Hierbei wird auf keine der Tabellen zugegriffen. Abbildung 3.4: Auswahl der Daten für das „Kombinierte Data Mining“ Die Auswahl der Daten soll an einem Beispiel verdeutlich werden. Die Grundlage des Beispiels bilden Einkäufe in einem Supermarkt. Die Basistabelle enthält neben der ID des Einkaufs die gekauften Waren und (Meta-)Informationen über den Einkauf. Diese können z. B. der Beruf des Kunden, die Postleitzahl des Kunden oder die Uhrzeit des Einkaufes sein. Die Daten, die für das Clustering ausgewählt werden, sind die ID des Einkaufes und diejenigen Attribute, die für das Clustering verwendet werden sollen. In diesem Fall könnten diese Attribute der Beruf des Kunden, die Postleitzahl des Kunden oder die Uhrzeit des Einkaufs sein. Die ausgewählten Daten für die Assoziationsanalyse bestehen aus der ID des Einkaufs und aus den gekauften Produkten (Items). Vorbereitung der Daten für das Clustering (Preprocessing / Transformation) Die Vorbereitung der Daten für das Clustering beim „Kombinierten Data Mining“ ist identisch mit der Vorbereitung der Daten beim herkömmlichen Data Mining. In dieser Phase können Redundan- 25 3 Kombination von Data Mining-Verfahren zen und Inkonsistenzen beseitigt, fehlende Werte ergänzt und Daten aus verschiedenen Quellen integriert werden. Bei der Transformation werden Daten in eine für das Clustering gültige Form gebracht. Zur Transformation gehört auch das Zusammenfassen verschiedener Datensätze, die sich auf das gleiche reale Objekt beziehen, wenn der Clusteralgorithmus für jedes Objekt einen einzelnen Datensatz erwartet. So können z. B. die Datensätze (1,Deutschland) und (1,USA) zum Datensatz (1,"Deutschland,USA") zusammengefasst werden, wenn sie sich auf das gleiche Objekt (wie hier auf das Objekt 1) beziehen. Clustering der Daten Im dritten Schritt wird ein herkömmliches Clustering der Daten durchgeführt und die gefundenen Cluster werden ausgegeben. Anstatt des Clustering können an dieser Stelle in bestimmten Fällen auch eine einfache Gruppierung durchgeführt und die einzelnen Gruppen ausgegeben werden. Für den nachfolgenden Prozess ist es nicht von Bedeutung, auf welche Weise die Cluster bzw. Gruppen entstanden sind. Vorbereitung der Daten für die Assoziationsanalyse (Preprocessing / Transformation) Nach dem Clustering der Daten werden ab diesem Schritt die Daten aus der „Transaktionen“Tabelle für die einzelnen Objekte verwendet. Bei der Vorbereitung der Daten für die Assoziationsanalyse werden prinzipiell dieselben Schritte wie bei der Vorbereitung der Daten für das Clustering durchgeführt. Auch hier können Redundanzen und Inkonsistenzen beseitigt und Daten aus verschiedenen Quellen integriert werden. Die Ergänzung von fehlenden Werten ist meist nicht möglich, da fehlende Items in Transaktionen nur selten identifiziert werden können. Bei der Beseitigung von Redundanzen und Inkonsistenzen ist zu beachten, dass diese über alle Objekte hinweg erfolgen sollte und nicht nur innerhalb der einzelnen Cluster. Zur Vorbereitung der Daten gehört auch deren Transformation. Die Daten werden in eine für die folgenden Schritte gültige Form gebracht. Bei der Assoziationsanalyse werden die Daten meist als Transaktionsmatrix dargestellt. Eine Transaktionsmatrix ist eine Boolesche Matrix, die für jede Transaktion eine Zeile und für jedes Item eine Spalte besitzt. Kommt ein Item j in einer Transaktion i vor, dann ist der Wert der Matrix an der Stelle i, j gleich 1, ansonsten 0. Transaktion1 ... Transaktioni ... Item1 ... ... ... Item j ... ... {0, 1} ... ... ... Tabelle 3.3: Transaktionsmatrix Assoziationsanalyse In diesem Schritt wird für jede Menge von Transaktionen, die beim Clustering entstanden ist, eine Assoziationsanalyse durchgeführt. Hierbei handelt es sich um eine Assoziationsanalyse wie sie aus dem herkömmlichem Data Mining bekannt ist. Nähere Informationen hierzu finden sich in Abschnitt 2.2.2. Als Ergebnis entsteht für jede Menge von Transaktionen eine Menge von Assoziationsregeln, die auch leer sein kann. 26 3 Kombination von Data Mining-Verfahren Bei diesem Schritt ist zu beachten, dass der definierte Support an die Größe des Clusters angepasst werden sollte. Wird z. B. eine Assoziationsanalyse auf einem Datenbestand mit 1000 Transaktionen durchgeführt und der Support soll 1% betragen, bedeutet dies, dass eine Menge von Items in mindestens zehn Transaktionen vorkommen muss, damit sie den nötigen Support erreicht. Werden die Transaktionen nun in zwei gleich große Cluster mit je 500 Transaktionen zerlegt und der relative Support nicht angepasst, so würde es reichen, wenn eine Menge von Items in fünf Transaktionen vorkommt, um den nötigen Support zu erreichen. Da dieser Effekt in der Regel nicht erwünscht ist, sollte der Support an die Größe der Cluster angepasst werden. In diesem Beispiel würde es bedeuten, dass für jeden Cluster eine Assoziationsanalyse mit einem Support von 2% durchgeführt werden muss. In diesem Fall wird der relative Support also angepasst, so dass der absolute Support gleich bleibt. Präsentation der Ergebnisse Im letzten Schritt werden die gefundenen Ergebnisse präsentiert. Präsentiert werden im Normallfall eine kurze Beschreibung der gefundenen Cluster und die in den Clustern gefundenen Assoziationsregeln. 3.4.1 Einordnung der Kombination aus Clustering und Assoziationsanalyse Die Arten „Vorgängerverfahren kennt Nachfolgerverfahren“, „Nachfolgerverfahren kennt Vorgängerverfahren“ und „Vorgänger- und Nachfolgerverfahren kennen sich gegenseitig“ lassen sich ausschließen, da einerseits im gesamten Prozess keine Besonderheiten der beteiligten Verfahren berücksichtigt werden und andererseits die Verfahren auch durch andere Verfahren (z. B. Clustering durch eine Gruppierung) oder zumindest die verwendeten Algorithmen durch andere Algorithmen ausgetauscht werden können. Wichtig ist nur, dass die beteiligten Verfahren die Ergebnisse in einer definierten Form bereitstellen. Auch handelt es sich nicht um das „Implizite Kombinierte Data Mining“, bei dem ein Data MiningVerfahren von einem anderen Verfahren aufgerufen und in dieses eingebunden wird. Die Kombination aus Clustering und Assoziationsanalyse ist eine Abwandlung des naiven „Kombinierten Data Mining“. Beim naiven Data Mining werden zwei Verfahren so kombiniert, dass das zweite Verfahren die Ergebnisse des ersten Verfahrens nutzt. Bei der hier vorgestellten Kombination aus Clustering und Assoziationsanalyse werden die Ergebnisse des Clustering zwar nicht direkt in die Assoziationsanalyse übernommen, da aber bei der Assoziationsanalyse und beim Clustering nur auf unterschiedliche Eigenschaften derselben Objekte zugegriffen wird, handelt es sich auch bei der hier vorgestellten Kombination aus Clustering und Assoziationsanalyse um ein naives „Kombiniertes Data Mining“. 3.4.2 Vor- und Nachteile durch die Kombination von Clustering und Assoziationsanalyse Durch die Kombination von Clustering und Assoziationsanalyse erhofft man sich, wie bei den meisten anderen Kombinationen auch, eine Verbesserung der Laufzeit, eine Verbesserung des Speicherplatzbedarfs der Verfahren und/oder eine Verbesserung der Ergebnisse. In diesem Abschnitt soll darauf eingegangen werden, unter welchen Bedingungen wirklich eine Verbesserung durch diese Kombination erreicht werden kann und unter welchen Umständen es sogar zu einer Verschlechterung der Ergebnisse durch die Kombination der Verfahren kommen kann. 27 3 Kombination von Data Mining-Verfahren Verbesserung der Ergebnisse Die Verbesserung der Ergebnisse kommt bei dieser Kombination dadurch zustande, dass bestimmte Regeln nicht für den gesamten Datenraum gleich gut gelten, sondern dass diese Regeln nur in einem bestimmten Bereich der gesamten Daten gelten oder zumindest in einem bestimmten Bereich besonders gut bzw. zuverlässig sind. Das entscheidende Maß, welches durch die Kombination verbessert wird, ist bei der Kombination aus Clustering und Assoziationsanalyse also die Confidence einer Regel. Die Erhöhung der Confidence kommt dadurch zustande, dass Transaktionen, die die Prämisse und die Konklusion erfüllen, und Transaktionen, die nur die Prämisse, aber nicht die Konklusion erfüllen, unter Umständen unterschiedlichen Clustern zugeordnet werden. Dies soll an einem Beispiel erläutert werden. Gegeben seien hierzu folgende sechs Einkäufe in einem Supermarkt: ID 1 2 3 4 5 6 Uhrzeit 8:05 8:15 8:30 11:45 12:00 14:00 gekaufte Artikel Brötchen, Milch, Wurst Brötchen, Wurst Brötchen, Schinken, Wurst Eier, Käse, Wurst Käse, Wurst Wurst Einkäufe in einem Supermarkt Durch ein Clustering mit der Uhrzeit als Clusterattribut und durch eine dem Clusteringergebnis entsprechende Aufteilung der Transaktionen ergeben sich folgende zwei Mengen von Transaktionen: ID 1 2 3 Uhrzeit 8:05 8:15 8:30 gekaufte Artikel Brötchen, Milch, Wurst Brötchen, Wurst Brötchen, Schinken, Wurst ID 4 5 6 Uhrzeit 11:45 12:00 14:00 Cluster 1 gekaufte Artikel Eier, Käse, Wurst Käse, Wurst Wurst Cluster 2 Vergleicht man nun die Confidence der Regel Wurst ⇒ Brötchen in den beiden Fällen, dann stellt man fest, dass sich die Confidence dieser Regel durch die Kombination aus Clustering und Assoziationsanalyse erhöht. Im nicht-kombinierten Fall gilt für die Confidence con f idence(Wurst ⇒ Brötchen) = 3 = 50%. 6 Durch die Kombination ergibt sich hingegen eine Confidence von con f idence(Wurst ⇒ Brötchen) = 3 = 100% 3 für den ersten Cluster und für den zweiten Cluster eine Confidence von con f idence(Wurst ⇒ Brötchen) = 0 = 0%. 3 Das heißt, dass man durch die Kombination von Data Mining-Verfahren zusätzliches Wissen gewinnen kann. Bei der Kombination aus Clustering und Assoziationsanalyse muss hierzu lediglich 28 3 Kombination von Data Mining-Verfahren bekannt sein, in welchem Cluster man sich befindet. Für das obige Beispiel bedeutet dies u. a., dass morgens bzw. vormittags immer die Regel gilt, wenn Wurst gekauft wird, dann werden auch Brötchen gekauft. Am Nachmittag hingegen gilt diese Regel nie. Neben der Erhöhung der Confidence von bekannten Regeln kann die Kombination von Clustering und Assoziationsanalyse auch dazu führen, dass „neue“ Regeln entdeckt werden. Wenn eine Regel nur in einem bestimmten Bereich der Daten gültig ist, wird sie im Normalfall bei einer Assoziationsanalyse eine Confidence erreichen, die kleiner ist als die minimale Confidence. Durch die Kombination von Clustering und Assoziationsanalyse ist es allerdings möglich, dass die Confidence dieser Regel soweit erhöht wird, dass sie die minimale Confidence erreicht und die Regel zur Ergebnismenge der Assoziationsanalyse für den entsprechenden Cluster gehört. Die Kombination aus Clustering und Assoziationsanalyse ist nicht nur in der Lage, die Zuverlässigkeit einer Regel zu erhöhen, sondern sie kann auch zu einer Erhöhung des Supports einer Regel führen. Dies liegt daran, dass die Daten durch das Clustering nicht gleichmäßig verteilt werden. Ist z. B. in einer Menge von 1000 Transaktionen eine Menge von Items zehnmal enthalten, bedeutet 10 dies einen Support von 1000 = 1%. Werden die Transaktionen durch ein Clustering in zwei gleich große Cluster aufgeteilt und liegen alle Transaktionen, die diese Menge von Items enthalten, in ei10 nem Cluster, bedeutet dies, dass der Support dieser Menge von Items auf 500 = 2% ansteigt. Da durch ein gutes Clustering häufig Transaktionen mit ähnlichen Items in einem Cluster zusammengefasst werden, lässt sich eine Erhöhung des Supports in vielen Fällen bei der Kombination aus Clustering und Assoziationsanalyse feststellen. Verschlechterung der Ergebnisse In bestimmten Fällen, insbesondere bei der Auswahl von ungeeigneten Clusterattributen, können die Ergebnisse durch die Kombination von Clustering und Assoziationsanalyse verschlechtert werden. Bei der Verschlechterung der Ergebnisse enthält die Ergebnismenge der Assoziationsanalyse weniger Regeln als ohne die Kombination. Hierfür ist der Support und insbesondere die Anpassung des Supports an die Clustergröße verantwortlich. Die Anpassung kann zusammen mit einer schlechten Aufteilung der Transaktionen dafür sorgen, dass eine Regel das Kriterium des minimalen Supports nicht mehr erfüllt. Dies soll an einem Beispiel verdeutlich werden: Gegeben sind 1000 Transaktionen und ein minimaler Support von 1%. Jede Regel muss also in mindestens zehn Transaktionen vorkommen, um zur Ergebnismenge zu gehören. Werden die 1000 Transaktionen nun in zwei gleich große Cluster mit je 500 Transaktionen aufgeteilt, muss auf Grund der Anpassung des Supports eine Regel in mindestens 2% aller Transaktionen innerhalb eines Clusters gelten, damit sie weiterhin für zehn Transaktionen gültig ist. Gibt es nun eine Regel, die in genau zehn Transaktionen gilt, wird diese Regel bei einer Assoziationsanalyse (ohne „Kombiniertes Data Mining“) gefunden. Ergibt sich bei der Kombination von Clustering und Assoziationsanalyse allerdings eine Aufteilung der zehn Transaktionen, so dass die Regel in beiden Clustern in genau fünf Transaktionen gilt, erreicht die Regel in jedem Cluster nur einen Support von einem Prozent. Dies hat zur Folge, dass die Regel nicht zur Ergebnismenge der Assoziationsanalyse gehört. Wie im Beispiel deutlich wird, kann sich das Ergebnis der Assoziationsanalyse durch das „Kombinierte Data Mining“ auch verschlechtern, wenn die Aufteilung der Transaktionen nicht optimal ist. Aus diesem Grund ist die Aufteilung der Transaktionen ein kritischer Punkt bei der Kombination aus Clustering und Assoziationsanalyse. Verbesserung der Laufzeit und des Speicherplatzbedarfs Die Kombination von Clustering und Assoziationsanalyse kann nicht nur zu einer Verbesserung der Ergebnisse führen. In den meisten Fällen lässt sich auch eine Verbesserung der Laufzeit und 29 3 Kombination von Data Mining-Verfahren des Speicherplatzbedarfs feststellen. Denn sowohl die Laufzeit als auch der Speicherplatzbedarf des hier verwendeten Apriori-Algorithmus zur Berechnung der Assoziationsregeln steigen exponentiell mit der Anzahl der Transaktionen. Das heißt, dass von einer Verbesserung der Laufzeit und des Speicherplatzbedarfs ausgegangen werden kann, wenn die Transaktionen in mehrere ungefähr gleich große Mengen von Transaktionen aufgeteilt werden. Zusätzlich kann in diesem Fall davon ausgegangen werden, dass die Anzahl der unterschiedlichen Items in einem Cluster kleiner ist als die Gesamtzahl der unterschiedlichen Items über alle Cluster, was zu einer weiteren Verbesserung der Laufzeit und des Speicherplatzbedarfs führt. In den meisten Fällen liefert das Clustering bei der Kombination aus Clustering und Assoziationsanalyse genau eine solche gleichmäßige Aufteilung der Transaktionen in mehrere Mengen. In diesen Fällen tritt eine Verbesserung der Laufzeit und des Speicherplatzbedarfs ein. Im theoretisch schlechtesten Fall (worst case) gilt diese allerdings nicht. In diesem Fall liefert das Clustering eine ungleichmäßige Aufteilung der Daten, wobei im schlimmsten Fall n Cluster mit insgesamt m Elementen entstehen und hiervon n − 1 Cluster je einen Datensatz enthalten und ein Cluster m − (n − 1) Elemente. In diesem Fall ist keine Verbesserung der Laufzeit und des Speicherplatzbedarfs zu erwarten. 3.4.3 Weitere Arbeiten zur Kombination von Clustering und Assoziationsanalyse Zum „Kombinierten Data Mining“ gibt es bereits verschiedene Veröffentlichungen. Hierzu gehören die bereits erwähnten Veröffentlichungen [GHS06], [Hum04], [LSW97] und [Stö04]. Zur Kombination von Clustering und Assoziationsanalyse gibt es die Veröffentlichung [LY00] von Lai und Yang mit dem Titel „A Group-based Inference Approach to Customized Marketing on the WebIntegrating Clustering and Association Rules Techniques“. Auf diese Veröffentlichung soll im Folgenden näher eingegangen werden. In der Veröffentlichung von Lai und Yang stellen diese eine Fallstudie zum personenbezogenen Marketing vor. Hierbei sollen zunächst unterschiedliche Daten über die Benutzer eines Webshops gesammelt werden. Anhand dieser Informationen können dann verschiedene Kunden durch ein Clustering zu Gruppen zusammengefasst werden. Für jede dieser Gruppen wird im Anschluss ermittelt, welche Produkte und welche Produktkategorie für die Kunden interessant sind bzw. welche Produkte häufig zusammengekauft werden. Anhand dieser Informationen könnte dann u. a. nutzerspezifische Werbung geschaltet werden. Im Rahmen des Projektes wurde zunächst ein Webshop mit Büchern für Mitglieder einer Universität entwicklet. Mit Hilfe dieses Webshops konnten innerhalb von fünf Tagen die nötigen Informationen für das weitere Projekt ermittelt werden. Zu diesen Informationen gehören neben den persönlichen Daten der Kunden auch Informationen über über die angesehenen und über die gekauften Artikel. Anhand der ermittelten Daten wurde ein Clustering durchgeführt. Unter anderem wurden folgende Informationen für das Clustering verwendet: das Geschlecht, das Alter, die Blutgruppe, der Beruf, das Einkommen, der Familienstand und die im Internet verbrachte Zeit (pro Tag). Mit Hilfe dieser Informationen wurden drei unterschiedliche Cluster ermittelt. Für jeden Cluster wurde im Anschluß eine Assoziationsanalyse durchgeführt. Die gefundenen Regeln wurden zur Bewertung des Ansatzes verwendet. Zur Bewertung der gefundenen Regeln wurden jeweils der Support, die Confidence und das Improvement der gefunden Regeln mit und ohne vorheriges Clustering miteinander verglichen. Ohne Clustering wurden 14 Assoziationsregeln gefunden, beim „Kombinierten Data Mining“ wurden insgesamt 27 Regeln gefunden, wobei die meisten Regeln in mehr als einem Cluster aufgetreten 30 3 Kombination von Data Mining-Verfahren sind. Von den 27 gefundenen Regeln hatten 26 einen besseren Support, 21 eine bessere Confidence und acht ein besseres Improvement als die entsprechenden Regeln, die ohne vorheriges Clustering entstanden sind. Damit lässt sich für diesen Anwendungsfall festhalten, dass durch die Kombination aus Clustering und Assoziationsanalyse bessere Ergebnisse erzielt wurden. 31 4 Bewertung von Mengen von Assoziationsregeln In der Arbeit von Lai und Yang werden die gefundenen Regeln aus der Assoziationsanalyse mit und ohne vorheriges Clustering anhand des Support, der Confidence und anhand des Improvements miteinander verglichen. Dies ist insofern problematisch, dass immer nur einzelne Regeln miteinander verglichen werden können und es unklar ist, wie ein Ergebnis zu bewerten ist, bei dem einzelne Regeln verbessert wurden, andere Regeln durch das vorherige Clustering jedoch schlechter geworden sind. Darüber hinaus bleibt es unklar, wann man von einer Verbesserung einer Regel sprechen kann. Wenn der Support, die Confidence und das Improvement einer Regel sich alle verbessert haben, wurde sicherlich eine bessere Regel gefunden; wenn alle drei Werte schlechter sind, handelt es sich um eine schlechtere Regel. Was ist aber, wenn sich einzelne Maße verbessert, andere hingegen verschlechtert haben? Handelt es sich dann um eine bessere oder eine schlechtere Regel? Lai und Yang haben dieses Problem insofern umgangen, dass sie zu jedem Maß einzeln angegeben haben, wieviele Regeln sich bzgl. dieses Maßes verbessert haben. Die Frage, ob die gesamte Regelmenge eine Verbesserung gegenüber den gefundenen Assoziationsregeln ohne Clustering darstellt wurde nicht direkt beantwortet, sondern nur über die Verbesserung der einzelnen Maße begründet. In dieser Arbeit soll ein Maß1 vorgestellt werden, das es erlaubt, ganze Regelmengen miteinander zu vergleichen, um die Ergebnisse der durchgeführten Experimente bewerten zu können. Dieses Maß stützt sich auf die grundlegenden Ideen des „Minimum Description Length“-Prinzips. Zunächst wird deshalb ein kurzer Einblick in die Grundideen der Minimum Description Length, im Folgenden kurz MDL, gegeben. Danach wird erläutert, wie diese grundlegenden Ideen zur Bewertung von Mengen von Assoziationsregeln verwendet werden können. Es wird darauf eingegangen, wie Daten mit Hilfe von Assoziationsregeln komprimiert werden können und wie Mengen von Assoziationsregeln dadurch bewertet werden können. Die Vernachlässigung der Assoziationsregeln und der Einfluss des Supports und der Confidence auf das hier vorgestellte Maß sind weitere wichtige Aspekte, die im folgenden Kapitel untersucht werden. 4.1 Einführung in MDL Die Minimum Description Length ist ein Prinzip zur Auswahl des besten Modells zur Repräsentation von Daten. Die grundlegende Idee ist, dass jede Regularität in den Daten ausgenutzt werden kann, um die Daten zu komprimieren. Komprimierung heißt in diesem Zusammenhang, dass weniger Symbole zur Kodierung der Daten benötigt werden. Gleichzeitig gilt für die Komprimierung, dass je regulärer die Daten sind, sie umso stärker komprimiert werden können. Wenn man bedenkt, dass das Erlernen von Wissen in den meisten Fällen gleichbedeutend mit dem Finden von Mustern bzw. Regularitäten in den Daten ist, kann man folgende Aussage treffen: Je stärker sich Daten komprimieren lassen, desto mehr Wissen ist über die Daten vorhanden. Der Zusammenhang von Wissen über die Datenbasis und von ihrer Komprimierung soll an einem Beispiel verdeutlicht werden. Gegeben sind folgende jeweils 10.000 Bit langen Sequenzen: 1 Mit dem Begriff des Maßes ist in dieser Arbeit eine Größenwertangabe und kein Maß im mathematischen Sinne gemeint. 32 4 Bewertung von Mengen von Assoziationsregeln (1) 00010001000100010001 . . . 0001000100010001000100010001 (2) 01110100110100100110 . . . 1010111010111011000101100010 Die erste Sequenz ist eine 2500-fache Wiederholung der Bitsequenz „0001“. Die Sequenz ist sehr regulär und kann durch ein einfaches Computerprogramm, wie z. B. das folgende, erzeugt werden: for (i=1; i<=2500; i++) {print ’0001’;} Die zweite Sequenz ist eine Sequenz, die zufällig durch ein Münzwurfexperiment erzeugt wurde. Sie ist dementsprechend komplett zufällig und enthält keine Regularitäten. Sie kann aus diesem Grund auch nicht weiter komprimiert werden. Ein Computerprogramm zur Erzeugung der Sequenz müsste die komplette Sequenz beeinhalten, um sie auszugeben: print ’01110100110100100110 . . . 1010111010111011000101100010’; Anhand der Größe ist gut zu erkennen, wie Wissen über die Daten (bzw. über Regularitäten innerhalb der Daten) ausgenutzt werden kann, um die Daten zu komprimieren. Während sich die erste Sequenz durch ein Programm mit weniger als 50 Zeichen erzeugen lässt, benötigt das zweite Programm mehr als 10.000 Zeichen zur Erzeugung der Sequenz. 4.2 Bewertung von Mengen von Assoziationsregeln 4.2.1 MDL als Grundlage für die Bewertung von Mengen von Assoziationsregeln Zur Bewertung von Mengen von Assoziationsregeln soll in dieser Arbeit die Grundidee der MDL verwendet werden, dass Wissen und die Fähigkeit, Daten zu komprimieren, gleichbedeutend sind. In dieser Arbeit werden die bei der Assoziationsanalyse gefundenen Regeln verwendet, um die zugrundeliegenden Daten zu komprimieren. Die Kernidee ist, dass eine Regelmenge besser ist als eine andere, wenn sie in der Lage ist, Daten besser zu komprimieren als die andere, weil sie mehr Wissen beinhaltet, welches sie zur Komprimierung nutzen kann. Sollen zwei Regelmengen wie z. B. das Ergebnis einer „normalen“ Assoziationsanalyse und das Ergebnis eines „Kombinierten Data Mining“ miteinander verglichen werden, werden die beiden Regelmengen zur Komprimierung der verwendeten Daten verwendet. Die Regelmenge, die das bessere Ergebnis bei der Komprimierung erzielt, ist die bessere Regelmenge. Damit muss auch die ihr zugrunde liegende Assoziationsanalyse das bessere Ergebnis erzielt haben. 4.2.2 Komprimierung von Daten mittels Assoziationsregeln Die Komprimierung der Daten durch die Assoziationsregeln hängt unter anderem davon ab, wie die Daten bzw. die Transaktionen dargestellt sind. In dieser Arbeit wird von einer einfachen Darstellung der Transaktionen als Liste von Items ausgegangen ({item1 ,...,itemn }). Beispiele für Transaktionen in dieser Darstellung sind • Einkäufe in einem Supermarkt: {Butter, Brot, Eier} • Schauspieler in einem Film: {„Johnny Depp“,„Orlando Bloom“,„Keira Knightley“} • Einkäufe in einem Buchladen: {„Knowledge Discovery in Databases“,„Data Mining“} 33 4 Bewertung von Mengen von Assoziationsregeln In dieser Arbeit wird vereinfacht davon ausgegangen, dass der Speicherplatz zur Speicherung eines Items unabhängig von der Anzahl der unterschiedlichen Items ist. Es gilt also, dass jedes Item einen konstanten Speicherplatz benötigt. Dieser beträgt stets eine Speichereinheit. Allgemein gilt somit, dass eine Transaktion mit n Elementen n Einheiten Speicherplatz benötigt. Für die oben dargestellten Transaktionen bedeutet dies, dass sowohl die erste, als auch die zweite Transaktion einen Speicherplatz von drei Einheiten benötigen - die dritte Transaktion benötigt zwei Speichereinheiten. Soll nun eine Assoziationsregel X ⇒ Y, wobei X und Y jeweils Mengen von Items sind, zur Komprimierung der Daten verwendet werden, können aus einer Transaktion, die sowohl die Items aus X als auch die Items aus Y enthält, die Elemente aus Y entfernt werden. Diese Elemente können später durch die Anwendung der Assoziationsregel auf die (restliche) Transaktion wieder vervollständigt werden. Das heißt, dass auf Grund der Kenntnis der Regel X ⇒ Y die Daten in einer kürzeren Form gespeichert werden können. Wenn allerdings für eine Transaktion gilt, dass sie alle Elemente aus X, aber nicht alle Elemente aus Y enthält, muss für diese Transaktion explizit gespeichert werden, dass die Regel nicht angewendet werden darf. Alternativ kann man die Transaktion um die fehlenden Elemente aus Y erweitern und diese als negiert kennzeichen. Die Regel darf dann zwar angewendet werden, die negierten Elemente sind aber auch nach der Anwendung der Assoziationsregel zur Vervollständigung der Transaktion nicht in der Transaktion enthalten. Daraus resultieren zusätzliche Kosten für die Speicherung der Transaktionen. Vereinfacht wird davon ausgegangen, dass auch hier pro ergänztem Item Kosten in Höhe von einer Speichereinheit anfallen. Der Grund für die anfallenden Kosten bei der Speicherung ist, dass an dieser Stelle offensichtlich das in der Regeln enthaltene Wissen für diese Transaktion nicht gilt. „Falsches“ Wissen wird in diesem Ansatz demnach genauso bestraft, wie „korrektes“ Wissen belohnt wird. Die Komprimierung mit Hilfe von Assoziationsregeln soll an einem Beispiel verdeutlicht werden. Gegeben seien folgende Regeln: R1 : Chips ⇒ Cola R2 : Babypuder ⇒ Windeln R3 : Marmelade, Nutella ⇒ Toast R4 : Schraubenzieher ⇒ Muttern und folgende ausgewählte Transaktionen: T1 : {Chips, Cola} T2 : {Babypuder, Windeln} T3 : {Chips, Cola, Marmelade, Nutella, Toast} T4 : {Cola} T5 : {Marmelade, Toast} T6 : {Chips} T7 : {Schraubenzieher, Schrauben} Die Transaktionen T1 , T2 und T3 lassen sich mit Hilfe der Assoziationsregeln komprimieren. Für alle drei Transaktionen gilt, dass sie mindestens die Konklusion und die Prämisse einer Regel erfüllen. Die Transaktionen können mittels der Regeln R1 , R2 und R3 verkürzt werden, sodass sich die ursprünglichen Transaktionen durch Anwendung der Regeln rekonstruieren lassen. Wird eine 0 Regel R zur Komprimierung einer Transaktion verwendet, wird diese im Folgenden als R bezeichnet im Gegensatz zu R für die Rekonstruktion. Die Anwendung von R führt somit zur Erweiterung der Transaktion um die Konklusion der Regel, sofern die Prämisse der Regel erfüllt ist. Der durch die Komprimierung erzielte Gewinn, im Folgenden Komprimierungsgewinn, ist für jede Regel in Klammern angegeben. R 0 T1 : {Chips, Cola} 1 −−− → T1 : {Chips} T2 : {Babypuder, Windeln} 2 −−− → T2 : {Babypuder} R 0 R1 , (+1) 0 0 R3 (+1) T3 : {Chips, Cola, Marmelade, Nutella, Toast} −−−→ T3 : {Chips, Marmelade, Nutella} (+2) 34 4 Bewertung von Mengen von Assoziationsregeln Die Transaktionen T4 und T5 lassen sich nicht mit Hilfe der hier angegebenen Regeln komprimieren, aber sie enthalten auch kein „falsches“ Wissen, wofür bei der Komprimierung Kosten entstehen würden. Denn die Items der Transaktionen erfüllen keine der Prämissen der Regeln, so dass keine Regel zur Komprimierung angewendet werden kann. Die Transaktionen werden unverändert gespeichert. T4 : {Cola} ∅ −−→ T4 : {Cola} (0) ∅ T5 : {Marmelade, Toast} −−→ T5 : {Marmelade, Toast} (0) Bei den Transaktionen T6 und T7 treten bei der Komprimierung Kosten auf, weil das in den Assoziationsregeln enthaltene Wissen für diese Transaktionen nicht gilt bzw. sogar falsch ist. Würden diese Transaktionen unverändert gespeichert werden, so ergäben sich bei der Rekonstruktion der ursprünglichen Transaktionen folgende Transaktionen durch die Anwendung der Regeln R1 und R4 . T6 : {Chips} R 1 −−− → T6 : {Chips, Cola} R 4 T7 : {Schraubenzieher, Schrauben} −−− → T7 : {Schraubenzieher, Schrauben, Muttern} Diese Ergänzung führt zu falschen Transaktionen, da die Konklusion der Regeln nicht in den ursprünglichen Transaktionen enthalten war. Um dies zu verhindern, müssen beide Transaktionen um die negierten Elemente, die bei der Rekonstruktion nicht wieder hinzugefügt werden sollen, ergänzt werden. Dies führt zur Speicherung folgender Transaktionen. Der Komprimierungsverlust, also der Verlust, der durch die Komprimierung entsteht, wird als negativer Komprimierungsgewinn in Klammern angegeben. 0 T6 : {Chips} R1 −−−→ T6 : {Chips, ¬Cola} (-1) 0 R4 T7 : {Schraubenzieher, Schrauben} −−−→ T7 : {Schraubenzieher, Schrauben, ¬Muttern} (-1) Der gesamte Komprimierungsgewinn K bei Anwendung aller Regeln ergibt sich als die Summe der einzelnen Komprimierungsgewinne bzw. -verluste K (Ti ): K = K ( T1 ) + K ( T2 ) + K ( T3 ) + K ( T4 ) + K ( T5 ) + K ( T6 ) + K ( T7 ) = 1 + 1 + 2 + 0 + 0 + (−1) + (−1) = 2 Somit wurde insgesamt ein Gewinn von zwei Speichereinheiten durch die Anwendung aller Regeln zur Komprimierung der Transaktionen erzielt. 4.2.3 Vernachlässigung der Assoziationsregeln Im vorherigen Abschnitt wurde erläutert, wie mit Hilfe von Assoziationsregeln eine Menge von Daten komprimiert werden kann. Anhand des Grades der Komprimierung können Rückschlüsse auf das in den Regeln enthaltene Wissen gezogen werden. Wie in diesem Abschnitt ebenfalls erläutert wurde, können die ursprünglichen Transaktionen durch Anwendung der Assoziationsregeln aus den komprimierten Transaktionen rekonstruiert werden. Das bedeutet, dass neben den komprimierten Transaktionen auch die Assoziationsregeln gespeichert werden müssten, um die ursprünglichen Transaktionen rekonstruieren zu können. Somit müsste eigentlich der zur Speicherung der Assoziationsregeln benötigte Speicherplatz in die Betrachtung und in die Berechnung des Komprimierungsgewinnes einbezogen werden. Dies ist allerdings im Zusammenhang mit der Bewertung von Mengen von Assoziationsregeln problematisch. Es kann vorkommen, dass die Daten zur Speicherung der Assoziationsregeln mehr Platz beanspruchen, als durch die Komprimierung gewonnen 35 4 Bewertung von Mengen von Assoziationsregeln werden kann. Dieser Effekt tritt verstärkt bei kleinen Datenmengen und bei solchen Datenmengen auf, für die viele Regeln gefunden werden können. Aber auch bei Datenmengen, für die gilt, dass die einzelnen Attribute viele verschiedene Werte annehmen können, kommt es zu Problemen. Anders ausgedrückt: Wenn der benötigte Speicherplatz zur Speicherung der Assoziationsregeln in die Betrachtung mit einbezogen wird, kann eine große Menge von Assoziationsregeln eine Menge von Transaktionen schlechter komprimieren als eine kleine Menge von Assoziationsregeln, obwohl die größere Menge von Assoziationsregeln eindeutig mehr Wissen enthält, als die kleinere Menge. Das Ergebnis entspricht daher nicht den Anforderungen an das Maß, da es messen soll, welche Menge von Assoziationregeln das meiste Wissen repräsentiert. Aus diesem Grund soll bei der Bewertung von Assoziationsregeln auf die Einbeziehung des Speicherplatzbedarfes zur Speicherung der Assoziationsregeln verzichtet werden. Wie im Folgenden erläutert werden soll, ist dies aus verschiedenen Gründen möglich. Es kann auf die Speicherung der Assoziationsregeln verzichtet werden, weil die Transaktionen lediglich bewertet und nicht wirklich komprimiert werden sollen. Würde man die Transaktionen tatsächlich komprimieren wollen, dann könnte natürlich nicht auf die Speicherung verzichtet werden, weil in diesem Fall eine Rekonstruktion der ursprünglichen Daten nicht möglich wäre. Auch bei der Bewertung einer Komprimierung kann normalerweise nicht auf die Einbeziehung der Dekomprimierungsvorschriften verzichtet werden. Es müsste eigentlich immer die Größe der Dekomprimierungsvorschrift und die Größe der komprimierten Daten mit einbezogen werden. Denn sonst würden Komprimierungen als gut angesehen, obwohl sie es offensichtlich nicht sind. Würde nur die Größe der Dekomprimierungsvorschrift betrachtet, dann wäre eine Komprimierung am besten, wenn sie keine Dekomprimierungsvorschrift besitzt, die Daten also nicht komprimiert werden. Würde nur die Größe der komprimierten Daten betrachtet, dann wäre die beste Komprimierung, diejenige, die eine Dekomprimierungsvorschrift besitzt, welche alle Daten beinhaltet. Die Daten lassen sich dann auf 0 Bit komprimieren und mit Hilfe der Dekomprimierungsvorschrift wieder erzeugen. Auch diese Komprimierung ist bei genauerer Betrachtung sicherlich nicht die beste Komprimierung. Sowohl die erste als auch die zweite Komprimierung haben bei Betrachtung der Dekomprimierungsvorschrift und der komprimierten Daten eine Größe gleich den unkomprimierten Daten, d. h., dass in beiden Fällen insgesamt keine Komprimierung erzielt werden konnte. Ein gute Komprimierung erzielt eine möglichst gute Kompressionsrate, ohne eine große Dekomprimierungsvorschrift zu besitzen, so dass die Größe der Dekomprimierungsvorschrift und der komprimierten Daten kleiner als die unkomprimierten Daten sind. Durch die Einbeziehung der Größe der Dekomprimierungsvorschrift soll also sichergestellt werden, dass die untersuchten Komprimierungen vergleichbar sind. Bei der Bewertung von Mengen von Assoziationsregeln wird die Vergleichbarkeit aber bereits auf anderem Wege sichergestellt: Durch die Angabe der Werte für den Support und für die Confidence hat der Benutzer bereits indirekt definiert, wie viele Regeln er zu lernen bereit ist. In diesem Fall wird die Vergleichbarkeit der Ergebnisse dadurch hergestellt, dass alle betrachteten Dekomprimierungsvorschriften2 maximal so viele Regeln enthalten, wie der Nutzer zu lernen bereit ist. Somit kann vereinfacht davon ausgegangen werden, dass die Größe der Dekomprimierungsvorschriften vernachlässigt werden kann. Gemessen wird nur die Komprimierung, die durch die Anwendung der Assoziationsregeln auf die Daten erzielt werden kann. Zur Vernachlässigung des Speicherplatzbedarfs der Assoziationsregeln folgt ein Beispiel im nächsten Abschnitt (Beispiel 2). 2 In diesem Zusammenhang besteht die Dekomprimierungsvorschrift aus der Vorschrift zur Dekomprimierung der Daten (=Anwendung von Assoziationsregeln) und den hierfür nötigen Assoziationsregeln. 36 4 Bewertung von Mengen von Assoziationsregeln 4.2.4 Bewertung von Mengen von Assoziationsregeln Zur Bewertung von Mengen von Assoziationsregeln mit dem hier vorgestellten Maß werden die Daten wie bereits in Abschnitt 4.2.2 erläutert nicht tatsächlich komprimiert. Stattdessen wird lediglich berechnet, wieviele Items durch die Komprimierung eingespart werden könnten und wieviele (negierte) Items zusätzlich zu den Transaktionen hinzugefügt werden müssten. Es wird nur die erreichbare Komprimierung berechnet, anstatt die Komprimierung tatsächlich durchzuführen. Die Größe der komprimierten Daten wird ins Verhältnis mit den unkomprimierten, d. h. den ursprünglichen Daten gesetzt. Hieraus ergibt sich die erreichbare Komprimierung. Müssen z. B. zur Speicherung der Transaktionen 100 Items gespeichert werden3 und werden für die komprimierten 75 Daten nur 75 Speichereinheiten benötigt, ergibt sich die Komprimierung zu 100 = 75%. Definition 4 (Inhärentes Wissen) Das hier vorgestellte Maß zur Bewertung einer Menge von Assoziationsregeln A wird im Folgenden als inhärentes Wissen IW ( A, T ) bezeichnet. Sei k der Speicherplatz, der zur Speicherung der mit den Assoziationsregeln aus A komprimierten Transaktionen benötigt wird, und u der Speicherplatz, der notwendig wäre, um die unkomprimierten Transaktionen T zu speichern, dann ist das inhärente Wissen IW ( A, T ) definiert als: IW ( A, T ) = 1 − k u Das inhärente Wissen IW ( A, T ) bezeichnet somit das Wissen, welches in der Regelmenge A enthalten ist, wobei der Quotient uk den durch die Komprimierung erzielten (Speicherplatz-)Gewinn beschreibt. Für das inhärente Wissen gilt folgender Grundsatz: Je besser die Komprimierung, umso mehr Wissen wird durch die Regelmenge repräsentiert, umso höher ist der Wert des inhärenten Wissens IW ( A, T ) und umso besser ist die Regelmenge. Für obiges Beispiel gilt, dass zur Speicherung der komprimierten Transaktionen 75 Speichereinheiten nötig wären und die unkomprimierten Transaktionen 100 Speichereinheiten belegen würden. Damit ergibt sich für das inhärente Wissen ein Wert von: IW ( A, T ) = 1 − 75 = 25% 100 Die Ergebnisse dieses Maßes wurden mit der Wahrnehmung des Autors verglichen: Hierzu wurden zwei Mengen von Assoziationsregeln zunächst hinsichtlich des enthaltenen Wissens bewertet. Im Anschluss wurde für die gleichen Mengen das Maß IW berechnet. In allen untersuchten Fällen stimmte die menschliche Wahrnehmung mit den Ergebnissen des Maßes überein, welche Menge von Assoziationsregeln das meiste Wissen beinhaltet. Die Bewertung von Assoziationsregeln mit Hilfe des hier vorgestellten Maßes soll im Folgenden anhand eines Beispiels näher erläutert werden. 3 Hierfür werden laut Definition 100 Speichereinheiten benötigt. 37 4 Bewertung von Mengen von Assoziationsregeln Gegeben seien folgende Transaktionen: T1 : {Backwaren, Zeitungen} T2 : {Backwaren, Obst} T3 : {Backwaren, Gemüse} T4 : {Gemüse, Wasser} T5 : {Wasser} T6 : {Backwaren} T7 : {Backwaren, Limonade} T8 : {Backwaren, Limonade, Zeitungen} T9 : {Obst, Limonade, Backwaren, Zeitungen} T10 : {Limonade, Backwaren} T11 : {Gemüse, Limonade, Backwaren, Zeitungen} Diese Transaktionen bestehen aus insgesamt 25 Items und benötigen damit einen Speicherplatz von 25 Speichereinheiten. Eine Assoziationsanalyse mit einem minimalem Support von 10% und einer minimalen Confidence von 75% liefert zu diesen Transaktionen folgende Assoziationsregeln: R1 : Limonade ⇒ Backwaren Support = 45% Confidence = 100% R2 : Zeitungen ⇒ Backwaren Support = 36% Confidence = 100% R3 : Zeitungen ⇒ Limonade Support = 27% Confidence = 75% R4 : Backwaren, Zeitungen ⇒ Limonade Support = 27% Confidence = 75% Eine Komprimierung der Transaktionen mit diesen Assoziationsregeln würde zu folgenden neuen Transaktionen führen: T1 : {Zeitungen, ¬Limonade} T2 : {Backwaren, Obst} T3 : {Backwaren, Gemüse} T4 : {Gemüse, Wasser} T5 : {Wasser} T6 : {Backwaren} T7 : {Limonade} T8 : {Zeitungen} T9 : {Obst, Zeitungen} T10 : {Limonade} T11 : {Gemüse, Zeitungen} Zur Speicherung dieser Transaktionen würden 17 Speichereinheiten benötigt. Damit ergibt sich für 17 = 32%. das Maß IW ein Wert von 1 − 25 Zum Vergleich werden die gleichen Transaktionen mit einer anderen Regelmenge komprimiert: Verwendet werden nur die die Regeln R2 bis R4 . Diese Regeln beinhalten weniger Wissen als die vollständige Regelmenge. Aus diesem Grund ist zu erwarten, dass sich ein schlechterer Wert bzgl. des vorgestellten Maßes ergibt als im vorhergehenden Beispiel. Die Anwendung der Regeln führt zu folgenden neuen Transaktionen: T1 : {Zeitungen, ¬Limonade} T2 : {Backwaren, Obst} T3 : {Backwaren, Gemüse} T4 : {Gemüse, Wasser} T5 : {Wasser} T6 : {Backwaren} T7 : {Backwaren, Limonade} T8 : {Zeitungen} T9 : {Obst, Zeitungen} T10 : {Limonade, Backwaren} T11 : {Gemüse, Zeitungen} Um diese Transaktionen zu speichern, würden 19 Speichereinheiten benötigt. Damit ergibt sich ein 19 = 24% für das hier vorgestellte Maß. Dieser Wert ist im Vergleich mit der Wert von IW = 1 − 25 vollständigen Regelmenge wie erwartet schlechter. 38 4 Bewertung von Mengen von Assoziationsregeln In einem weiteren Beispiel soll gezeigt werden, wie sich die Einbeziehung des zur Speicherung der Assoziationsregeln notwendigen Speicherplatzes auf die Ergebnisse des Maßes IW auswirken würde. Gegeben seien wieder die Transaktionen und die Mengen von Assoziationsregeln aus dem vorherigen Beispiel. Zur Speicherung der komprimierten Transaktionen würden also 17 bzw. 19 Speichereinheiten benötigt. Hinzu kommen die Kosten zur Speicherung der Assoziationsregeln. Geht man auch hier von Kosten von einer Speichereinheit pro Item und einer weiteren Speichereinheit pro Regel (zur Unterteilung der Regeln in Prämisse und Konklusion) aus, so folgt für die Kosten zur Speicherung der kompletten Menge von Assoziationsregeln und der hiermit komprimierten Transaktionen: K = Kosten zur Speicherung der Assoziationsregeln + Kosten zur Speicherung der komprimierten Transaktionen = 13 + 17 = 30 Damit würde sich für das hier vorgestellte Maß ein Wert von IW = 1 − 30 25 = −20% ergeben, wenn der Speicherplatz zur Speicherung der Assoziationsregeln mit einbezogen würde. Für die Kosten zur Speicherung der Regeln R2 bis R5 und der hiermit komprimierten Transaktionen gilt: K = Kosten zur Speicherung der Assoziationsregeln + Kosten zur Speicherung der komprimierten Transaktionen = 10 + 19 = 29 Damit würde sich für das hier vorgestellte Maß ein Wert von IW = 1 − 29 25 = −16% ergeben, wenn der Speicherplatz zur Speicherung der Assoziationsregeln mit einbezogen würde. Dieser Wert ist im Vergleich mit der vollständigen Regelmenge besser. Das Ergebnis des Maßes unter Einbeziehung des Speicherplatzbedarfes zur Speicherung der Assoziationsregeln entspricht somit nicht dem gewünschten Ergebnis. Dementsprechend sollte, wie in Abschnitt 4.2.3 erläutert wurde, auf die Einbeziehung des Speicherplatzbedarfs zur Speicherung der Assoziationsregeln bei der Berechnung des Maßes verzichtet werden. Im dritten Beispiel soll gezeigt werden, dass die Vernachlässigung des Speicherplatzes nicht immer notwendig wäre. Wenn genügend Transaktionen vorhanden sind und es nur wenige unterschiedliche Items gibt, könnte der Speicherplatz zur Speicherung der Assoziationsanalysen durchaus in die Bewertung der Assoziationsregeln mit einbezogen werden, ohne dass die Ergebnisse verfälscht würden. Gegeben seien folgende Transaktionen: T1 : {Backwaren, Zeitungen} T2 : {Obst, Gemüse} In den der Assoziationsanalyse zugrunde liegenden Daten tritt die Transaktion T1 n-mal auf und die Transaktion T2 m-mal. Für das Beispiel sollen folgende Assoziationsregeln betrachtet werden: R1 : Backwaren ⇒ Zeitungen R2 : Obst ⇒ Gemüse Zur Speicherung der Assoziationsregeln werden drei Speichereinheiten pro Regel benötigt: je eine Einheit für die Prämisse und für die Konklusion, sowie eine Einheit zur Unterteilung der Assoziationsregel in Prämisse und Konklusion. 39 4 Bewertung von Mengen von Assoziationsregeln Im ersten Fall sollen die Transaktionen mit den Regeln R1 und R2 komprimiert werden. Für IW gilt dann: n+m+6 IW ( A, T ) = 1 − 2n + 2m Im zweiten Fall werden die Transaktionen nur mit der Regel R1 komprimiert. Für das Maß IW sollte sich in diesem Fall also ein schlechterer Wert als im ersten Fall ergeben. Für IW gilt: IW ( A, T ) = 1 − n + 2m + 3 2n + 2m Falls m ≤ 3 gilt, dann ist IW im zweiten Fall größer als im ersten Fall. Dann kann der Speicherplatzbedarf zur Speicherung der Assoziationsregeln nicht berücksichtigt werden, ohne das Ergebnis zu verfälschen. Falls allerdings m > 3 gilt, dann ist IW im ersten Fall immer größer. Das Maß würde also auch unter Berücksichtigung des Speicherplatzes, der zur Speicherung der Assoziationsregeln nötig ist, das richtige Ergebnis liefern. 4.2.5 Algorithmus zur Berechnung von IW(A, T) Gegeben sei die Regelmenge R mit den Assoziationsregeln R1 , ..., Rn , wobei die Konklusionen der Regeln einelementig sind. Weiterhin sei die Transaktionsdatenbank TDB mit den Transaktionen T1 , ..., Tm gegeben. In der Transaktionsdatenbank sind insgesamt m Transaktionen mit insgesamt k Items gespeichert. Außerdem seien folgende Funktionen bzw. Operatoren gegeben: card( X ) liefert die Anzahl der Elemente der Menge X P(r ) liefert die Prämisse der Regel r K(r ) liefert die Konklusion der Regel r !( x ) Negation von x: liefert true, falls x false ist; sonst false isElement( x, X ) liefert true, falls das Element x in der Menge X enthalten ist; sonst false isSubset(A,B) liefert true, falls A eine Teilmenge von B ist; sonst false A minus B liefert die Elemente, die in A, aber nicht in B enthalten sind (Mengenminus) X.add( x ) fügt das Element x zur Menge X hinzu X.remove( x ) entfernt das Element x aus der Menge X Zur Berechnung des Maßes IW wird in dieser Arbeit ein vereinfachter Algorithmus verwendet, der weder das doppelte Entfernen von Elementen aus einer Transaktion, wie z. B. durch die Assoziationsregeln A ⇒ C und B ⇒ C, noch Zyklen innerhalb der Assoziationsregeln, wie z. B. bei den Assoziationsregeln A ⇒ B und B ⇒ A, berücksichtigt. Ein Zyklus liegt genau dann vor, wenn es zwei Assoziationsregeln R1 und R2 gibt, für die Folgendes gilt: • die Prämisse von R2 ist eine Teilmenge des transitiven Abschlusses von R1 und • die Konklusion von R2 ist eine Teilmenge der Prämisse von R1 Die vereinfachte Variante des Algorithmus, die das Maß IW approximiert, wird im Folgenden mit IW 0 bezeichnet. Der Algorithmus zur Berechnung von IW 0 ist in Listing 4.1 dargestellt. Die Variable gain beinhaltet hierbei den Gewinn bzw. Verlust, welcher durch Anwendung der Regeln auf eine einzelne Transaktion erzielt wird (Komprimierungsgewinn/-verlust der Transaktion). 40 4 Bewertung von Mengen von Assoziationsregeln gain = 0; totalgain = 0; forall t in T { forall r in R { if ( isSubset ( P ( r ) ,t ) and isElement ( K ( r ) ,t ) ) { gain = gain + 1; } if ( isSubset ( P ( r ) ,t ) and !( isElement ( K ( r ) ,t ) ) ) { gain = gain - 1; } } totalgain = totalgain + min ( card ( t ) -1 , gain ) return totalgain / k ; // = IW } Listing 4.1: Algorithmus zur Berechnung von IW 0 Die Variable totalgain beinhaltet den Gewinn bzw. Verlust für alle bisher untersuchten Transaktionen. Der Algorithmus berechnet für alle Transaktionen und für alle Regeln den durch die Komprimierung erzielbaren Gewinn. Ist sowohl die Prämisse als auch die Konklusion einer Regel in einer Transaktion enthalten, so wird die Variable gain um die Anzahl der Elemente in der Konklusion der Regel erhöht. Ist hingegen nur die Prämisse und nicht die ganze Konklusion in der Transaktion enthalten, so wird die Anzahl der Elemente der Konklusion, die nicht in der Transaktion enthalten sind, von der Variablen abgezogen.4 Der Gesamtgewinn totalgain ergibt sich als Summe der erzielten Einzelgewinne, wobei jeder Einzelgewinn maximal so groß sein darf, dass die Transaktion noch ein Element enthält. Es dürfen also nicht mehr als n − 1 Elemente aus einer Transaktion mit n Elementen entfernt werden. Würden mehr Elemente enfernt, wäre eine Rekonstruktion der ursprünglichen Transaktion in keinem Fall mehr möglich. Indem man den Gesamtgewinn durch die Anzahl der Items k teilt, erhält man den Wert für das Maß IW. Der Algorithmus zur Berechnung des Maßes IW unterscheidet sich durch die Erkennung von Zyklen und durch das Unterbinden doppelter Komprimierungen vom Algorithmus zur Berechnung von IW 0 . Der Algorithmus zur Berechnung von IW ist in den Listings 4.2 und 4.3 dargestellt. Listing 4.2 enthält den Algorithmus zur Berechnung von IW, wenn die Assoziationsregeln keine Zyklen enthalten, und Listing 4.3 enthält den Algorithmus zur Eliminierung von Zyklen innerhalb der Assoziationsregeln. Zusätzlich zu den oben definierten Mengen seien die Mengen Rtmp und I gegeben. Rtmp enthält zu Beginn die gleichen Assoziationsregeln wie R und verhindert die doppelte Verwendung von Assoziationsregeln bei der Ermittlung von Zyklen. Bei der Menge I handelt es sich um eine Menge von Items. Für den Fall, dass Zyklen innerhalb der Assoziationsregeln schon im Vorfeld eliminiert wurden, unterscheidet sich der Algorithmus zur Berechnung von IW nur in den Zeilen 5, 8-9 und 12-13 vom Algorithmus zur Berechnung von IW 0 . In Zeile 5 wird die Menge I von Items für jede Transaktion zunächst auf die leere Menge gesetzt. Diese Menge enthält während der Berechnung die Items, welche innerhalb der aktuellen Transaktion schon Komprimierungsgewinne oder -verluste verursacht haben. In den Zeilen 8 und 13 wird überprüft, ob die Konklusion der Assoziationsregel innerhalb dieser Transaktion schon zur Komprimierung verwendet wurde. Ist dies der Fall, wurde das entsprechende Item schon zur Transaktion hinzugefügt oder aus der Transaktion entfernt bzw. 4 vgl. Abschnitt 4.2.2 41 4 Bewertung von Mengen von Assoziationsregeln 1 2 gain = 0; totalgain = 0; 3 4 5 forall t in T { I = {}; 6 forall r in R { if ( isSubset ( P ( r ) ,t ) and isElement ( K ( r ) ,t ) and !( isElement ( K ( r ) ,I ) ) ) { I . add ( K ( r ) ) ; gain = gain + 1; } if ( isSubset ( P ( r ) ,t ) and !( isElement ( K ( r ) ,t ) ) and !( isElement ( K ( r ) ,I ) ) ) { I . add ( K ( r ) ) ; gain = gain - 1; } } 7 8 9 10 11 12 13 14 15 16 17 18 19 totalgain = totalgain + min ( card ( t ) -1 , gain ) return totalgain / k ; // = IW 20 21 22 } Listing 4.2: Algorithmus zur Berechnung von IW es wurden die entsprechenden Gewinne und Verluste schon berücksichtigt. In diesem Fall wird das Item nicht weiter betrachtet. In den Zeilen 9 und 13 werden die Items, die zum ersten Mal zur Komprimierung verwendet werden, zur Menge I hinzugefügt, damit diese Items kein zweites Mal bei der Berechnung des Komprimierungsgewinns berücksichtigt werden. Dieser Algorithmus geht davon aus, dass die Assoziationsregeln keine Zyklen enthalten. Daher müssen die Assoziationsregeln entsprechend vorbereitet werden. Ein Algorithmus zur Entfernung der Zyklen aus einer Menge von Assoziationsregeln ist in Listing 4.3 angegeben. Zur Ermittlung und Eliminierung von Zyklen wird für jede Assoziationsregel der transitive Abschluss der Prämisse berechnet. Hierzu werden, ausgehend von der Prämisse der untersuchten Regel, alle Elemente bestimmt, die indirekt durch Anwendung der Assoziationsregeln erreicht werden können. Hierzu wird zunächst die Prämisse der zu untersuchenden Regel zur Menge I hinzugefügt. Anschließend wird diese Menge iterativ um die Elemente erweitert, die durch Anwendung von Assoziationsregeln (aus der Menge Rtmp) erreicht werden können. Anwendbar ist eine Assoziationsregel, wenn die Prämisse in der Menge I enthalten ist. Für alle anwendbaren Regeln wird die Konklusion zur Menge I hinzugefügt. Dies wird so lange wiederholt, bis sich die Menge I nicht weiter verändert, wobei jede Assoziationsregel nur einmal angewendet werden darf. Damit eine Regel nicht wiederholt angewendet wird, wird diese nach ihrer Anwendung aus der Menge Rtmp entfernt. Falls ein Element aus der Prämisse der untersuchten Regel durch Anwendung einer anderen Regel zur Menge I hinzugefügt werden soll, wurde ein Zyklus gefunden. Die Regel, die den Zyklus schließt, wird aus der Menge R der Assoziationsregeln entfernt. Nach Überprüfung aller Assoziationsregeln werden auf diese Weise alle Zyklen aus der Menge der Assoziationsregeln R entfernt sein. Die Vereinfachungen des Maßes IW 0 führen dazu, dass die entstehenden Transaktionen nicht in jedem Fall richtig rekonstruierbar sind und dass in bestimmten Fällen zu viele Elemente aus den Transaktionen entfernt (oder hinzugefügt) werden. Die Einschränkungen, die das Maß IW 0 vor- 42 4 Bewertung von Mengen von Assoziationsregeln forall r in R { I = P(r); Rtmp = R ; change = true ; while ( change ) { card = card ( I ) ; forall rt in Rtmp { if ( isSubset ( P ( rt ) ,I ) ) { if ( !( isElement ( K ( rt ) ,I ) ) ) { I . add ( K ( rt ) ) ; } else if ( isElement ( K ( rt ) ,P ( r ) ) ) { // Zyklus gefunden = > Regel entfernen R . remove ( rt ) ; } Rtmp . remove ( rt ) ; } } if ( card == card ( I ) ) { change = false ; } } } Listing 4.3: Algorithmus zur Eliminierung von Zyklen nimmt, vereinfachen die Berechnung des Maßes und haben nur sehr geringe Auswirkungen auf die Ergebnisse. Dies konnte anhand einer Überprüfung der Ergebnisse aus Kapitel 5 gezeigt werden.5 Die Ergebnisse des Maßes IW 0 weichen durchschnittlich um 0,3 von den Ergebnissen des Maßes IW ab, das Zyklen und doppelte Items berücksichtigt. Da diese Abweichung über alle Einzelergebnisse relativ konstant ist, kann auf die Berücksichtigung von Zyklen und doppelten Elementen verzichtet werden, ohne die Ergebnisse durch diese Vereinfachung bzgl. ihrer Aussagekraft zu verändern. Aus diesem Grund wurden die in den nächsten Kapiteln folgenden Experimente mit dem einfacheren Maß IW 0 berechnet. Die Reihenfolge der besten Ergebnisse bleibt bei Verwendung des Maßes IW 0 in den meisten Fällen genauso unverändert, wie die Aussage, ob eine Verbesserung durch die Kombination von Clustering und Assoziationsanalyse eingetreten ist. 4.2.6 Korrelation zwischen Support, Confidence und dem Maß IW(A, T) In diesem Abschnitt soll kurz erläutert werden, welchen Einfluss der Support und die Confidence einer Regel auf das hier vorgestellte Maß haben. Wenn sich zwei Regelmengen A1 und A2 nur in der Höhe des Supports der Assoziationsregeln unterscheiden und o.B.d.A. gilt, dass mindestens eine Regel der Regelmenge A1 einen höheren Support hat als die entsprechende Regel in A2 und die restlichen Regeln einen identischen Support haben, dann sollte sicherlich gelten, dass die Regelmenge A1 bzgl. des hier vorgestellten Maßes besser ist als A2 . Für die Confidence einer Regel sollte dies analog gelten. 5 Überprüft wurden die Ergebnisse der Experimente 2,3,4,6 und 7. 43 4 Bewertung von Mengen von Assoziationsregeln Zwei Regelmengen A1 und A2 unterscheiden sich nur in den Regeln r1 und r2 . Betrachtet werden jetzt zwei Fälle: 1. support(r1 ) > support(r2 ) ∧ confidence(r1 ) = confidence(r2 ) 2. support(r1 ) = support(r2 ) ∧ confidence(r1 ) > confidence(r2 ) Im ersten Fall kommt die Regel r1 nach Definition des Supports in mehr Transaktionen vor als die Regel r2 und kann damit auch häufiger zur Komprimierung der Transaktionen angewendet werden. Aus diesem Grund erzielt die erste Regelmenge auch eine bessere Komprimierung und ist bzgl. des Maßes IW besser als die zweite. Im zweiten Fall gibt es weniger Ausnahmen von der Regel r1 als von r2 . Das bedeutet, dass die Transaktionen mit Hilfe der ersten Regel besser komprimiert werden können als durch Anwendung der zweiten Regel. Durch die höhere Zuverlässigkeit ist die Differenz aus dem Komprimierungsgewinn und dem Komprimierungsverlust bei Komprimierung mit Hilfe der ersten Regel größer als bei Komprimierung mittels r2 : Pro gewonnener Speichereinheit durch die Komprimierung mittels r1 entstehen weniger Kosten für die Speicherung von negierten Items als bei der Komprimierung mit Hilfe der Regel r2 . Somit gilt die oben definierte Anforderung sowohl für den Support als auch für die Confidence. 4.2.7 Berechnung von IW(A, T) für mehrere Mengen von Assoziationsregeln Das Maß IW kann auch für mehrere Mengen von Assoziationsregeln berechnet werden. Dies ist u. a. erforderlich, um die Ergebnisse des herkömmlichen Data Mining und des „Kombinierten Data Mining“ miteinander vergleichen zu können: Beim herkömmlichen Data Mining entsteht eine Menge von Assoziationsregeln, für die das Maß IW wie in den vorherigen Abschnitten vorgestellt berechnet werden kann. Beim „Kombinierten Data Mining“ entstehen hingegen mehrere Mengen von Assoziationsregeln - für jeden Cluster entsteht eine Menge. Für diese Mengen ist es notwendig, einen gemeinsamen Wert für das Maß IW zu ermitteln, um das Gesamtergebnis des „Kombinierten Data Mining“ mit dem des herkömmlichen Data Mining zu vergleichen. Im einfachsten Fall könnte hierzu der Durchschnitt der IW-Werte der einzelnen Cluster berechnet werden. Hierbei würde allerdings u. a. die Größe der einzelnen Cluster vernachlässigt. Aus diesem Grund werden die Einzelgewinne für alle Cluster berechnet und ins Verhältnis zu der Anzahl der Items über alle Cluster gesetzt. Dies entspricht dem mit der Anzahl der Items gewichtetem Durchschnitt der IW-Werte der einzelnen Cluster. Gegeben seien n Mengen von Assoziationsregeln { A1 , ...An } =: An und n Mengen von Transaktionen { T1 , ..., Tn } =: T n . Des Weiteren bezeichnet Ki den Komprimierungsgewinn, der durch Komprimierung von Ti mittels Ai erzielt werden kann, und Ii die Anzahl der Items in der Menge Ti . Das Maß IW für mehrere Mengen von Assoziationsregeln wird dann wie folgt berechnet: IW ( An , T n ) = ∑in=1 Ki ∑in=1 Ii Zur Berechnung des Maßes IW für das Ergebnis eines „Kombinierten Data Mining“ mit der Kombination aus Clustering und Assoziationsanalyse wird also zunächst der Komprimierungsgewinn für die einzelnen Cluster berechnet. Die Summe der Einzelgewinne wird anschließend ins Verhältnis zu der Gesamtzahl der Items in allen Clustern gesetzt. Das Ergebnis entspricht dem mit der Anzahl der Items gewichteten Durchschnitt der IW-Werte der einzelnen Cluster: K ∑in=1 Ii ∗ Iii ∑in=1 Ii ∗ IW ( Ai , Ti ) ∑n K = = in=1 i = IW ( An , T n ) n n ∑i=1 Ii ∑i=1 Ii ∑i=1 Ii 44 4 Bewertung von Mengen von Assoziationsregeln Ein anderer Ansatz zur Berechnung des Maßes IW für mehrere Mengen von Assoziationsregeln ist es, die verschiedenen Mengen von Assoziationsregeln (und Transaktionen) in einem ersten Schritt zu einer Menge von Assoziationsregeln (und zu einer Menge von Transaktionen) zu kombinieren. Im Anschluss kann für diese Menge das Maß IW berechnet werden. Um verschiedene Mengen von Assoziationsregeln zu kombinieren, muss gekennzeichnet werden, zu welcher Menge eine Assoziationsregel gehört. Dies ist durch Erweiterung der Prämisse durch eine eindeutige ID wie z. B. die Clusternummer möglich. Die verschiedenen Mengen von Transaktionen können ebenfalls auf diese Weise zu einer Menge zusammengefasst werden: Zu jeder Transaktion wird ein künstliches Item mit der eindeutigen ID hinzugefügt. Eine Assoziationsregel kann jetzt nur noch zur Komprimierung einer Transaktion verwendet werden, wenn die IDs übereinstimmen. Dies ist gleichbedeutend damit, dass die Assoziationsregel und die Transaktion zur gleichen Menge, also z. B. zum selben Cluster gehören. Wird für diese Menge der Komprimierungsgewinn berechnet, ist dies allerdings dasselbe, als würde für jeden Cluster der Komprimierungsgewinn berechnet. Der Komprimierungsgewinn für die zusammengefasste Menge von Assoziationsregeln ist daher identisch mit der Summe der Einzelgewinne der Cluster. Da auch die Anzahl der Items in der zusammengefassten Menge identisch ist mit der Summe der Items in den einzelnen Clustern, führt dieser Ansatz zur gleichen Definition für IW ( An , T n ) wie die Berechnung des Maßes mittels des mit der Anzahl der Items gewichteten Durchschnitts der IW-Werte der einzelnen Cluster. Dieser Ansatz stellt also nur eine andere Sichtweise auf das hier verwendete Verfahren dar. Beim „Kombinierten Data Mining“ mit der Kombination von Clustering und Assoziationsanalyse ist bei der Berechnung von IW ( An , T n ) zu beachten, dass das Maß nur bei einer kleinen Anzahl von Clustern verwertbare Ergebnisse liefert. Der Grund hierfür ist, dass der Overhead, der für jeden zusätzlichen Cluster entsteht, in dieses Maß nicht mit einbezogen wird. Somit würde das Maß IW den besten Wert erzielen, wenn jeder Cluster aus genau einer Transaktion bestehen würde. Für diese Transaktion könnte eine optimale Regel gefunden werden, sodass alle bis auf ein Element aus ihr entfernt werden könnten. In diesem Fall würde die optimale Komprimierung erzielt werden, wobei dies trotzdem nicht das beste Ergebnis darstellt. Bei einer kleinen Anzahl von Clustern kann hingegen der Overhead, der zur Speicherung der einzelnen Cluster benötigt wird, vernachlässigt werden. Zur Einschränkung der maximal erzeugten Clusterzahl wird in dieser Arbeit deshalb der k-means Algorithmus zum Clustern der Daten verwendet, wobei für die Experimente in Kapitel 5 eine Clusterzahl n zwischen zwei und fünf Clustern gewählt wurde. 45 5 Beispiele zum Kombinierten Data Mining“ ” In diesem Kapitel werden Beispiele zum „Kombinierten Data Mining“ bzw. zur Kombination aus Clustering und Assoziationsanalyse präsentiert. Verglichen werden sollen einerseits das „Kombinierte Data Mining“ mit dem herkömmlichen Data Mining und andererseits mehrere Kombinationen aus Clustering und Assoziationsanalyse, die auf unterschiedlichen Datenbeständen und mit unterschiedlichen Clusterattributen durchgeführt werden. Durchgeführt werden die meisten Beispiele mit Hilfe einer Filmdatenbank, kurz MovieDB. Darin sind Informationen zu Kino-, Fernseh- und sonstigen Filmen und zu Fernsehserien gespeichert. Die folgenden Beispiele konzentrieren sich hierbei auf die gespeicherten Filme. Zu jedem Film werden u. a. folgende Informationen gespeichert: der Titel, alternative Titel, das Produktionsjahr, das Genre, das Rating, das Budget (inkl. Währung), der Drehort und die beteiligten Personen. Bei den alternativen Titeln handelt es sich meist um den Titel des Filmes in einem anderen Land. Ein Beispiel hierfür ist „Lord of the Rings: The Fellowship of the Ring, The“ (Orginaltitel), welcher in Deutschland unter dem Namen „Herr der Ringe: Die Gefährten, Der“ erschienen ist. Das Rating enthält die (durchschnittliche) Bewertung einer Produktion zusammen mit der Anzahl der abgegebenen Stimmen. 10 ist hierbei die beste Bewertung, 0 die schlechteste. Für die hier durchgeführten Untersuchungen wird das Rating auf drei unterschiedliche Werte abgebildet: „low“ für Ratings kleiner als 4, „middle“ für Ratings zwischen 4 und 7 und „high“ für Ratings größer als 7. Der Drehort ist der genaue Ort, an dem der Film gedreht wurde. Zu einem Film können auch mehrere Drehorte angegeben werden. Sofern bekannt wird auch das Land gespeichert, in dem sich der Ort befindet. Zusätzlich zu den Informationen in der ursprünglichen MovieDB beinhaltet die hier verwendete Version auch den Kontinent, in dem sich ein Land befindet. Zu jeder Produktion werden die beteiligten Personen gespeichert. Hierbei handelt es sich u. a. um die Schauspieler, den Regisseur und den Produzenten. Zusätzlich zum Namen können das Geschlecht, die Größe in Zentimetern oder der wirkliche Name (falls die Person einen Künstlernamen benutzt) gespeichert werden. Außerdem sind evt. Datum, Land und Ort der Geburt oder des Todes gespeichert. Für jede Mitwirkung einer Person an einer Produktion, wird deren Aufgabe festgehalten: „actor“ für Schauspieler, „director“ für Regisseure, „costumedesigner“ etc. Eine Person kann mehrere Aufgaben in einer Produktion haben (etwa Schauspieler und Produzent). Zusätzlich kann bekannt sein, an welcher Position die Person im Abspann der Produktion (bzgl. der Aufgabe) genannt wird. Neben der Aufgabe innerhalb der Produktion wird für Schauspieler die Rolle gespeichert, die sie gespielt haben. Die komplette Beschreibung der gespeicherten Daten und das zugrundeliegene Datenbankschema findet sich im Anhang in den Abschnitten A.1 und A.2. 46 5 Beispiele zum „Kombinierten Data Mining“ 5.1 Experimente 5.1.1 Datengrundlage der durchgeführten Experimente Die Grundlage für die hier durchgeführten Experimente bilden sechs unterschiedliche Ausschnitte aus der MovieDB. Diese sollen im Folgenden kurz vorgestellt werden. Das Schema der entsprechenden Tabellen ist im Anhang in Abschnitt A.3 zu finden. Action-Thriller Bei den Action-Thrillern handelt es sich um Kinofilme aus den Genre „Action“ und/oder „Thriller“, für die ein Budget in Euro oder US-Dollar angegeben ist. Für diese Filme sind das Genre, das Produktionsland (inkl. Kontinent), das Jahr (inkl. Dekade), das Rating und das Budget bekannt. Diese Informationen sind in der Tabelle actionthriller_movies gespeichert. Die Tabelle actionthriller_actor enthält die Namen und die Position der Schauspieler, die in den Filmen mitgespielt haben. Insgesamt gibt es 1859 Action-Thriller, welche die oben genannten Kriterien erfüllen, und 5021 verschiedene Schauspieler, die in diesen Filmen mitgewirkt haben. Blockbuster (USA) Bei den Blockbustern handelt es sich um Kinofilme aus den USA, die ein Rating von mindestens 7 haben. Dieses Kriterium erfüllen 3691 Filme. Zu diesen Filmen ist das Genre, das Produktionsland (inkl. Kontinent), das Produktionsjahr (inkl. Dekade) und das Rating bekannt. Diese Informationen finden sich in der Tabelle blockbuster_usa_movies. Auch zu diesen Filmen liegen Informationen über die Schauspieler (Name, Position im Abspann) vor. Diese Informationen sind über die Tabelle blockbuster_usa_actor zugänglich. Insgesamt handelt es sich um 3662 verschiedene Schauspieler. Deutsche Filme In der Tabelle german_movies sind alle deutschen Filme unabhängig von Typ und Genre erfasst. Hier finden sich neben Kinofilmen auch Fernsehfilme und Videofilme1 . Insgesamt wurden 1380 Filme erfasst. Zu diesen Filmen sind der Typ, das Genre, das Produktionsland (inkl. Kontinent), das Produktionsjahr (inkl. Dekade) und das Rating erfasst. In den erfassten Filmen haben 2208 Schauspieler mitgespielt. Die Informationen über die Schauspieler sind in der Tabelle german_actor gespeichert. Deutsche Filme (mit Budget) Bei den deutschen Filmen mit Budget handelt es sich prinzipiell um die gleichen Filme wie bei den deutschen Filmen, jedoch sind in der Tabelle german_budget_movies nur Filme erfasst, für die ein Budget in Euro angegeben ist. Hiervon existieren 107 Filme mit 117 unterschiedlichen Schauspielern. Die Informationen über die Schauspieler sind über die Tabelle german_budget_actor zugänglich. Bei den deutschen Filmen mit Budget ist zu beachten, dass es sich nur um sehr wenige Filme mit wenigen unterschiedlichen Schauspielern handelt und die Filme eine nicht repräsentative Teilmenge der deutschen Filme sind. Aus diesem Grund sollten die Ergebnisse einer Analyse auf dieser Datengrundlage kritisch betrachtet werden. Ganz sollte allerdings nicht auf diese Filme verzichtet werden, damit auch ein Clustering der deutschen Filme bzgl. ihres Budgets durchgeführt werden kann. 1 Videofilme sind Filme, die weder im Kino noch im Fernsehen gelaufen sind. 47 5 Beispiele zum „Kombinierten Data Mining“ Europäische Filme Bei diesen Filmen handelt es sich um europäische Kinofilme mit einem angegebenen Budget in Euro oder US-Dollar. Auch für diese Filme sind Informationen über das Genre, das Produktionsland (inkl. Kontinent), das Produktionsjahr (inkl. Dekade), das Rating und das Budget gespeichert. Diese Informationen sind in der Tabelle european_movies enthalten. Die Informationen über die beteiligten Schauspieler sind in der Tabelle european_actor gespeichert. Insgesamt gibt es 1284 europäische Kinofilme mit einem angegebenen Budget und es haben 2581 Schauspieler in diesen Filmen mitgewirkt. Komödien / Familienfilme Die Kinofilme aus den Genre „Comedy“ und „Family“ mit einem angegebenen Budget in Euro oder US-Dollar sind in der Tabelle comedyfamily_movies zusammengefasst. Zu diesen 1824 Filmen sind das Genre, das Produktionsland (inkl. Kontinent), das Produktionsjahr (inkl. Dekade), das Rating und das Budget erfasst. Die Daten der 4982 Schauspieler, die in diesen Filmen tätig waren, sind über die Tabelle comedyfamily_actor abrufbar. 5.1.2 Durchgeführte Experimente Auf der im obigen Abschnitt vorgestellten Datengrundlage wurden verschiedene Experimente zum Vergleich des herkömmlichen und des „Kombinierten Data Mining“ durchgeführt. Auf der Datengrundlage wurde zum einen eine herkömmliche Assoziationsanalyse durchgeführt, um Assoziationsregeln zwischen Schauspielern zu finden. Zum anderen wurde ein „Kombiniertes Data Mining“ mit demselben Ziel durchgeführt, bei dem die Daten vor der Assoziationsanalyse mit verschiedenen Attributen geclustert wurden. Die Anzahl der erzeugten Cluster und die verwendeten Attribute sind zusammen mit den Ergebnissen in Abschnitt 5.3 aufgeführt. Bei den durchgeführten Untersuchungen wurden jeweils nur die n erstgenannten Schauspieler in die Berechnung mit einbezogen, um den Speicherplatzbedarf der Assoziationsanalyse zu reduzieren. Der minimale Support für die durchgeführten Analysen wurde so gewählt, dass die Berechnungen mit dem gegebenen Arbeitsspeicher (1024 MB) durchgeführt werden konnten. Die minimale Confidence für die gefundenen Regeln beträgt in allen durchgeführten Experimenten 50%. Die durchgeführten Experimente sind in Tabelle 5.1 dargestellt. Die Spalten der Tabelle haben folgende Bedeutung. Die Spalte „Nr.“ enthält eine eindeutige Nummer zur Identifikation und zur späteren Referenzierung auf die durchgeführte Anfrage. Die Spalte „Quelle“ beeinhaltet die verwendete Datenquelle (siehe vorherigen Abschnitt ). Die Spalte „Top n“ bezieht sich auf die Anzahl der verwendeten Schauspieler - verwendet werden jeweils die n erstgenannten Schauspieler. Enthält diese Spalte keinen Wert (–), dann wurden alle gespeicherten Schauspieler bei der Suche nach Assoziationsregeln berücksichtigt. Die Spalte „#Filme“ enthält die Anzahl der Filme (= Transaktionen). Die Spalten „Support“ und „Conf.“ enthalten die für die Assoziationsanalyse verwendeten Support- und Confidencewerte. Der Supportwert ist hierbei einmal relativ in Prozent und einmal absolut angegeben als Anzahl von Filmen, in denen die Schauspieler mindestens mitgespielt haben müssen. 48 5 Beispiele zum „Kombinierten Data Mining“ Nr. 1 2 3 4 5 6 7 Quelle Action-Thriller Action-Thriller Blockbuster (USA) Deutsche Filme Deutsche Filme (Budget) Europäische Filme Komödien Top n 4 3 4 3 – 5 5 #Filme 1648 1605 1390 1121 107 1047 1533 Support 0,24% = 4 Filme 0,18% = 3 Filme 0,20% = 3 Filme 0,20% = 3 Filme 1,50% = 2 Filme 0,35% = 4 Filme 0,25% = 4 Filme Conf. 50% 50% 50% 50% 50% 50% 50% Tabelle 5.1: Durchgeführte Experimente 5.2 Ergebnisse des herkömmlichen Data Mining In diesem Abschnitt werden die Ergebnisse des herkömmlichen Data Mining vorgestellt. Die Ergebnisse der durchgeführten Experimente sind in Tabelle 5.2 abgebildet. Die Spalten der Tabelle haben folgende Bedeutungen. Die Spalte „Ref.“ beinhaltet eine Referenz auf die eindeutige Nummer der durchgeführten Analyse in der Tabelle 5.1 (Durchgeführte Experimente). Die Spalte „Quelle“ beeinhaltet die verwendete Datenquelle (siehe vorherigen Abschnitt ). Die Spalten „#Regeln“ und „IW“ beziehen sich auf das Ergebnis der Assoziationsanalyse. Die Spalte „#Regeln“ beinhaltet die Anzahl der gefundenen Regeln, die Spalte „IW“ das inhärente Wissen. Ref. 1 2 3 4 5 6 7 Quelle Action-Thriller Action-Thriller Blockbuster (USA) Deutsche Filme Deutsche Filme (Budget) Europäische Filme Komödien #Regeln 25 45 53 71 57 188 264 IW 0,19 (9/4773) 0,96 (36/3739) 0,79 (29/3650) 1,46 (36/2474) 12,58 (38/302) -0,47 (-14/2959) 0,06 (3/5163) Tabelle 5.2: Ergebnisse des herkömmlichen Data Mining 5.3 Ergebnisse des Kombinierten Data Mining“ ” Die Ergebnisse der durchgeführten Experimente zum „Kombinierten Data Mining“ sind in den folgenden Tabellen dargestellt. Die Spalten der Tabelle haben folgende Bedeutungen. Die Spalte „Ref.“ beinhaltet eine Referenz auf die eindeutige Nummer der durchgeführten Analyse in der Tabelle 5.1 (Durchgeführte Experimente). Indirekt erfolgt über diese Referenz auch die Zuordnung einer kombinierten Assoziationsanalyse zu einer herkömmlichen Assoziationsanalyse. Die Spalte „Quelle“ beeinhaltet die verwendete Datenquelle (siehe vorherigen Abschnitt ). In der Spalte „Clusterattribute“ ist angegeben, welche Attribute für das Clustering verwendet wurden. Die Spalte „#Cluster“ beinhaltet die Anzahl der erzeugten Cluster. Die Spalten „#Regeln“ und „IW“ beziehen sich auf das Ergebnis der Assoziationsanalyse. Die Spalte „#Regeln“ beinhaltet hierbei 49 5 Beispiele zum „Kombinierten Data Mining“ die Gesamtzahl der gefundenen Regeln in allen Clustern, die Spalte „IW“ das inhärente Wissen. In der letzten Spalte „∆IW“ ist angegeben, wie sich das inhärente Wissen durch die Kombination von Clustering und Assoziationsanalyse verändert hat. Angegeben ist die prozentuale Veränderung des Maßes „IW“ des „Kombinierten Data Mining“ im Vergleich zum herkömmlichen Data Mining. Eine positive Angabe (+) bedeutet, dass sich das Ergebnis durch die Kombination von Clustering und Assoziationsanalyse verbessert hat, während eine negative Angabe (-) anzeigt, dass sich das Ergebnis verschlechtert hat. Das Ergebnis des herkömmlichen Data Mining ist aus praktischen Gründen jeweils in der ersten Zeile der folgenden Tabellen nochmals angegeben. Da im herkömmlichen Fall nicht geclustert wurde, enthalten die Spalten „Clusterattribute“ und „#Cluster“ keine Werte. Action-Thriller Ref. 1 1 1 1 Quelle Action-Thriller Action-Thriller Action-Thriller Action-Thriller Clusterattribute #Cluster Kontinent Kontinent Rating 2 3 3 #Regeln 25 25 25 0 IW 0,19 (9/4773) 0,19 (9/4773) 0,19 (9/4773) 0,00 (0/4733) ∆IW ±0% ±0% -100% Tabelle 5.3: Ergebnisse des „Kombinierten Data Mining“ (Action-Thriller [1]) Ref. 2 2 2 2 2 2 2 Quelle Action-Thriller Action-Thriller Action-Thriller Action-Thriller Action-Thriller Action-Thriller Action-Thriller Clusterattribute #Cluster Budget Dekade Kontinent Kontinent Rating Budget, Kontinent 3 3 2 3 3 3 #Regeln 45 19 29 33 32 34 10 IW 0,96 (36/3739) 0,37 (14/3739) 0,62 (23/3739) 0,80 (30/3739) 0,72 (27/3739) 0,43 (16/3739) 0,29 (11/3739) ∆IW -61% -36% -17% -25% -56% -69% Tabelle 5.4: Ergebnisse des „Kombinierten Data Mining“ (Action-Thriller [2]) Blockbuster (USA) Ref. 3 3 3 3 3 3 Quelle Blockbuster (USA) Blockbuster (USA) Blockbuster (USA) Blockbuster (USA) Blockbuster (USA) Blockbuster (USA) Clusterattribute #Cluster Dekade Genre Rating Dekade, Genre Genre, Rating 3 3 3 3 3 #Regeln 53 23 52 53 17 52 IW 0,79 (29/3650) 0,49 (18/3650) 1,04 (38/3650) 0,85 (31/3650) 0,85 (31/3650) 0,85 (31/3650) Tabelle 5.5: Ergebnisse des „Kombinierten Data Mining“ (Blockbuster (USA)) 50 ∆IW -38% +31% +7% +7% +7% 5 Beispiele zum „Kombinierten Data Mining“ Deutsche Filme Ref. 4 4 4 4 4 4 4 4 4 4 4 4 Quelle Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Deutsche Filme Clusterattribute #Cluster Dekade Genre Rating Typ Typ Dekade, Rating Dekade, Rating Rating, Typ Rating, Typ Rating, Typ Rating, Typ 3 3 3 3 5 3 5 2 3 4 5 #Regeln 71 69 70 78 76 76 80 81 76 82 83 81 IW 1,46 (36/2474) 1,37 (34/2474) 1,90 (47/2474) 2,34 (58/2474) 1,78 (44/2474) 1,78 (44/2474) 1,86 (46/2474) 1,78 (44/2474) 1,78 (44/2474) 2,47 (61/2474) 2,63 (65/2474) 2,67 (66/2474) ∆IW -6% +31% +61% +22% +22% +28% +22% +22% +69% +81% +83% Tabelle 5.6: Ergebnisse des „Kombinierten Data Mining“ (Deutsche Filme) Deutsche Filme (mit Budget) Ref. 5 5 5 5 5 5 5 5 Quelle Deutsche Filme (Budget) Deutsche Filme (Budget) Deutsche Filme (Budget) Deutsche Filme (Budget) Deutsche Filme (Budget) Deutsche Filme (Budget) Deutsche Filme (Budget) Deutsche Filme (Budget) Clusterattribute #Cluster Budget Budget Budget Rating Typ Rating, Typ Rating, Typ 2 3 4 3 3 3 5 #Regeln 57 50 46 35 54 50 54 45 IW 12,58 (38/302) 9,93 (30/302) 10,60 (32/302) 8,61 (26/302) 14,57 (44/302) 13,25 (40/302) 14,57 (44/302) 12,91 (39/302) ∆IW -21% -16% -32% +16% +5% +16% +3% Tabelle 5.7: Ergebnisse des „Kombinierten Data Mining“ (Deutsche Filme (mit Budget)) Europäische Filme Ref. 6 6 6 6 6 6 6 6 6 6 Quelle Europäische Filme Europäische Filme Europäische Filme Europäische Filme Europäische Filme Europäische Filme Europäische Filme Europäische Filme Europäische Filme Europäische Filme Clusterattribute #Cluster Budget Dekade Jahr Land Land Rating Budget, Rating Dekade, Rating Land, Rating 3 3 3 2 3 3 3 3 3 #Regeln 188 186 4 6 188 188 186 186 186 2 IW -0,47 (-14/2959) -0,34 (-10/2959) 0,30 (9/2959) 0,57 (17/2959) -0,47 (-14/2959) -0,47 (-14/2959) 0,34 (10/2959) -0,34 (-10/2959) 0,34 (10/2959) 0,27 (8/2959) Tabelle 5.8: Ergebnisse des „Kombinierten Data Mining“ (Europäische Filme) 51 ∆IW +29% +164% +221% ±0% ±0% +171% +29% +171% 157% 5 Beispiele zum „Kombinierten Data Mining“ Komödien / Familienfilme Ref. 7 7 7 7 7 7 7 7 7 Quelle Komödien Komödien Komödien Komödien Komödien Komödien Komödien Komödien Komödien Clusterattribute Budget Budget Budget Dekade Jahr Kontinent Rating Budget, Rating #Cluster 2 3 4 3 3 3 3 3 #Regeln 264 263 265 188 265 7 189 264 265 IW 0,06 (3/5163) 0,37 (19/5163) 0,21 (11/5163) -0,25 (-13/5163) 0,14 (7/5163) 0,41 (21/5163) -0,04 (-2/5163) 0,62 (32/5163) 0,21 (11/5163) ∆IW +533% +267% -533% +133% +600% -167% +967% +267% Tabelle 5.9: Ergebnisse des „Kombinierten Data Mining“ (Komödien / Familienfilme) 5.4 Analyse der Ergebnisse In diesem Abschnitt sollen die Ergebnisse der durchgeführten Experimente untersucht werden. Im Abschnitt „Statistische Auswertung der Ergebnisse“ sollen zunächst die Fragen „Wie viele Ergebnisse konnten verbessert werden?“ und „Welche Clusterattribute liefern die besten Ergebnisse?“ beantwortet werden. In Abschnitt 5.4.2 soll dann anhand von ausgewählten Experimenten und Ergebnismengen untersucht werden, weshalb es zu einer Verbesserung bzw. zu einer Verschlechterung der Ergebnisse kommt. 5.4.1 Statistische Auswertung der Ergebnisse Zunächst kann festgestellt werden, dass es durch die Kombination von Clustering und Assoziationsanalyse grundsätzlich möglich ist, eine Verbesserung des Ergebnisses im Vergleich zum herkömmlichen Data Mining zu erzielen. Bei den hier verwendeten Daten kam es bei fünf von sieben Ausschnitten aus der MovieDB zu einer Verbesserung des Ergebnisses in mindestens einem Fall. Werden die richtigen Clusterattribute zur Aufteilung der Daten verwendet, kommt es in der Mehrheit der Fälle zu einer Verbesserung des Ergebnisses. Bei den 49 insgesamt durchgeführten Experimenten wurde in 31 Fällen eine Verbesserung des Ergebnisses erzielt, in vier Fällen hat sich das Ergebnis nicht verändert und in 14 Fällen hat sich das Ergebnis durch das „Kombinierte Data Mining“ verschlechtert. Die Anzahl der gefundenen Regeln hat sich durch die Kombination von Clustering und Assoziationsanalyse ebenfalls verändert: In 12 Fällen wurden mehr Regeln gefunden als ohne die Kombination, in sechs Fällen hat sich die Anzahl der Regeln nicht verändert und in 31 Fällen wurden weniger Regeln gefunden. Bei der hier verwendeten Datengrundlage haben sich die Attribute Genre und Rating als besonders gute Attribute zum Clustern der Daten herausgestellt, wenn Assoziationsregeln zwischen Schauspielern gesucht werden. Die Attribute Budget, Dekade und Kontinent haben hingegen in den meisten Fällen zu einer Verschlechterung der Ergebnisse geführt. Anhand der Ergebnisse der Experimente können nun auch für die einzelnen Ausschnitte aus der MovieDB die am besten geeigneten Clusterattribute identifiziert werden. Clusterattribute, die ein gutes Resultat bzgl. des Maßes IW erzielt haben, aber gleichzeitig zu einer deutlichen Reduktion der gefundenen Assoziationsregeln geführt haben, sind in Klammern angegeben. Wurde mehr als ein Attribut zum Clustern der Daten verwendet, sind die verwendeten Attribute in Mengenklammern angegeben. Diese besten Clusterattribute sind in Tabelle 5.10 dargestellt. 52 5 Beispiele zum „Kombinierten Data Mining“ Quelle Actionthriller (1) Actionthriller (2) Blockbuster Deutsche Filme Deutsche Filme (mit Budget) Europäische Filme Komödien optimale Clusterattribute ∅ ∅ Genre, Rating {Rating, Typ}, Rating, Genre Rating, {Rating, Typ} Rating, (Dekade), (Jahr) Rating, (Jahr), Budget Tabelle 5.10: optimale Clusterattribute 5.4.2 Analyse der Ergebnisse anhand von Beispielen In diesem Abschnitt soll in erster Linie das Zustandekommen der Ergebnisse untersucht werden. Es soll die Frage geklärt werden, warum sich manche Attribute gut zum Clustern der Daten bei der Kombination aus Clustering und Assoziationsanalyse eignen und andere Attribute hingegen zu einer Verschlechterung der Ergebnisse führen. Zur Untersuchung der Ergebnisse wird jeweils das Ergebnis eines herkömmlichen Data Mining mit dem Ergebnis des „Kombinierten Data Mining“ verglichen. Zur Analyse wurden diejenigen Anfragen ausgewählt, die auf eine bestimmte Weise auffällig waren. Blockbuster Die Blockbuster wurden für eine Analyse des Ergebnisses ausgewählt, weil sich durch ein Clustering mit dem Attribut „Genre“ eine Verbesserung des Maßes IW erzielen lässt, obwohl die Anzahl der gefundenen Assoziationsregeln geringer ist als im herkömmlichen Fall. Beim Clustering mit dem Attribut „Genre“ werden drei Cluster erzeugt: Der erste Cluster enthält 751 Filme mit unterschiedlichen Genre, der zweite Cluster enthält 162 Kriminalfilme und der dritte Cluster 477 Filme mit dem Genre „Drama“. Lediglich im ersten Cluster werden Assoziationsregeln gefunden. Daraus folgt, dass keine Assoziationsregel doppelt auftritt. Im Vergleich zum herkömmlichen Data Mining wird eine Regel weniger gefunden (siehe Listing 5.1) und es konnte keine neue Assoziationsregel gefunden werden. Der Verlust der Regel kommt durch eine ungünstige Aufteilung der Transaktionen beim Clustering zustande. Die Schauspieler Joe Pesci und Robert De Niro haben gemeinsam in den Filmen „Casino“, „Raging Bull“ und „Godfellas“ mitgespielt. Durch das Clustering wird der Film „Casino“ dem zweiten Cluster zugeordnet, während die anderen beiden Filme dem ersten Cluster zugeordnet werden. Da für die Assoziationsanalyse der absolute Support auf drei Filme festgelegt worden ist, wird die Assoziationsregel beim herkömmlichen Data Mining gefunden. Durch die Aufteilung der Filme in zwei Cluster wird der minimale Support in keinem der Cluster erreicht, so dass diese Regel bei der Assoziationsanalyse nicht gefunden wird. ’ Pesci , Joe ’ => ’ De Niro , Robert ’ ( Confidence =0.75) Listing 5.1: Ergebnis des „Kombinierten Data Mining“ (nur fehlende Regeln) Der Verlust dieser Regel wird dadurch kompensiert, dass sieben Assoziationsregeln durch die Kombination von Clustering und Assoziationsanalyse bzgl. der Confidence verbessert worden sind. 45 Regeln bleiben durch die Kombination von Clustering und Assoziationsanalyse im Vergleich zur 53 5 Beispiele zum „Kombinierten Data Mining“ herkömmlichen Assoziationsanalyse unverändert und es werden keine Regeln verschlechtert. Die verbesserten Regeln sind im Vergleich zu den herkömmlichen Regeln in den Listings 5.2 und 5.3 dargestellt. ’ Shatner , William ’ = > ’ Doohan , James ’ ( Confidence =0.75) ’ Shatner , William ’ = > ’ Kelley , DeForest ’ ( Confidence =0.75) ’ Shatner , William ’ = > ’ Nimoy , Leonard ’ ( Confidence =0.75) ’ Jackman , Hugh ’ = > ’ Stewart , Patrick ’ ( Confidence =0.75) ’ Jackman , Hugh ’ = > ’ McKellen , Ian ’ ( Confidence =0.75) ’ Farrow , Mia ’ = > ’ Allen , Woody ’ ( Confidence =0.57) ’ Keaton , Diane ’ = > ’ Allen , Woody ’ ( Confidence =0.56) Listing 5.2: Ergebnis des herkömmlichen Data Mining (nur veränderte Regeln) ’ Shatner , William ’ = > ’ Doohan , James ’ ( Confidence =1) ’ Shatner , William ’ = > ’ Kelley , DeForest ’ ( Confidence =1) ’ Shatner , William ’ = > ’ Nimoy , Leonard ’ ( Confidence =1) ’ Jackman , Hugh ’ = > ’ Stewart , Patrick ’ ( Confidence =1) ’ Jackman , Hugh ’ = > ’ McKellen , Ian ’ ( Confidence =1) ’ Farrow , Mia ’ = > ’ Allen , Woody ’ ( Confidence =0.8) ’ Keaton , Diane ’ = > ’ Allen , Woody ’ ( Confidence =1) Listing 5.3: Ergebnis des „Kombinierten Data Mining“ (nur veränderte Regeln) In diesem Beispiel kommt die Verbesserung des Maßes dadurch zustande, dass sich die Confidence einzelner Regeln erhöht und es somit weniger Ausnahmen von den gefundenen Assoziationsregeln gibt. Dadurch kann ein höherer Komprimierungsgewinn erzielt werden, was zu einer Erhöhung des Maßes IW führt (vgl. 4.2.6). Der Grund für die Erhöhung der Confidence einzelner Regeln ist, dass Transaktionen, die eine Ausnahme zu den gefundenen Assoziationsregeln darstellen, durch das Clustering einem anderen Cluster zugeordnet werden. Für den hier untersuchten Cluster existieren dementsprechend weniger Ausnahmen von diesen Regeln, welches letztendlich zur Erhöhung des Maßes IW führt. Für die einzelnen Assoziationsregeln kommt die Erhöhung der Confidence wie folgt zustande: Die Schauspieler William Shatner, DeForest Kelley, Leonard Nimoy und James Doohan haben gemeinsam in den Filmen2 „Star Trek II: The Wrath of Khan“, „Star Trek IV: The Voyage home“ und „Star Trek VI: The undiscovered country“ der „Star Trek“-Reihe mitgespielt. William Shatner hat zusätzlich noch in dem Film „The Intruder“ mitgespielt, bei dem es sich um ein Drama handelt. An diesem Film waren die anderen Schauspieler nicht beteiligt. Beim herkömmlichen Data Mining gelten die Regeln „’Shatner, William’ => ’Doohan, James’“, „’Shatner, William’ => ’Kelley, DeForest’“ und „’Shatner, William’ => ’Nimoy, Leonard’“ also nur in drei von vier Fällen (Confidence = 75%). Durch das Clustering beim „Kombinierten Data Mining“ werden die Filme allerdings unterschiedlichen Clustern zugeordnet: Während die Filme der „Star Trek“-Reihe dem ersten Cluster zugeordnet werden, gehört der Film „The Intruder“ zum dritten Cluster (Drama). Dies führt dazu, dass die hier untersuchten Assoziationsregeln mit den Schauspielern William Shatner, DeForest Kelley, Leonard Nimoy und James Doohan im ersten Cluster für alle Filme mit William Shatner gelten (Confidence = 100%). Die Erhöhung der Confidence bei den Regeln ’Jackman, Hugh’ => ’Stewart, Patrick’ und ’Jackman, Hugh’ => ’McKellen, Ian’ ist auf ähnliche Gründe zurück zu führen. Die drei Schauspieler haben gemeinsam in den Filmen „X-Men“, „X-Men 2“ und „X-Men: The last stand“ mitgespielt. Zusätzlich zu diesen Filmen hat Hugh Jackman noch in dem Drama „Prestige“ mitgespielt. Die 2 Bei den hier betrachteten Filmen handelt es sich nur um die Filme aus der Tabelle „Blockbuster_USA_Movies“. 54 5 Beispiele zum „Kombinierten Data Mining“ Aufteilung der Filme durch das Clustering sorgt dafür, dass im kombinierten Fall dieser Film einem anderen Cluster zugeordnet wird als die anderen drei Filme. Dies führt dazu, dass die beiden Assoziationsregeln im herkömmlichen Fall eine Confidence von 75% haben, während sie im kombinierten Fall eine Confidence von 100% erreichen. Auch für die restlichen zwei Assoziationsregeln gilt, dass die Erhöhung der Confidence dadurch zustande kommt, dass Filme, die eine Ausnahme von einer Assoziationsregel bilden, einem anderen Cluster zugeordnet werden. Mia Farrow und Woody Allen haben gemeinsam in vier Filmen mitgespielt. In den Filmen „Another Woman“ (Drama), „The purple Rose of Cairo“ (Comedy) und „Rosemary’s Baby“ (Drama) hat hingegen nur Mia Farrow mitgespielt. Durch das Clustering beim „Kombinierten Data Mining“ werden die beiden Dramen dem dritten Cluster und die restlichen Filme dem ersten Cluster zugeordnet. Somit existieren im ersten Cluster weniger Ausnahmen von der Assoziationsregel „’Farrow, Mia’ => ’Allen, Woody’“, was zu einer Verbesserung der Confidence führt. Diane Keaton hat in fünf Filmen mit Woody Allen zusammengearbeitet. In den Filmen „The Godfather I-III“ und „Sleeper“ hat Woody Allen im Gegensatz zu Diane Keaton nicht mitgespielt. Da diese vier Filme alle als „Drama“ klassifiziert sind, führt das Clustering zu einer Aufspaltung in Filme, in denen Diane Keaton alleine aufgetreten ist (Cluster 3), und in solche, in denen sie gemeinsam mit Woody Allen (Cluster 1) mitgespielt hat. Dies führt dazu, dass es im ersten Cluster keine Ausnahmen von der Regel „’Keaton, Diane’ => ’Allen, Woody’“ gibt. Deutsche Filme Im Vergleich zu den Blockbustern tritt bei den deutschen Filmen eine Verbesserung des Maßes IW zusammen mit einer größeren Anzahl von gefundenen Assoziationsregeln auf, wenn diese Filme mittels des Attributs „Rating“ geclustert werden. Bei diesem Beispiel sind in erster Linie die zusätzlich entstandenen Regeln interessant und sollen näher betrachtet werden. Bei der Aufteilung der Daten mittels des Attributs „Rating“ entstehen drei Cluster: Im ersten Cluster finden sich 305 Filme, die ein hohes Rating erhalten haben. Im zweiten Cluster finden sich 719 Filme, die ein mittleres Rating erhalten haben, und im dritten Cluster 97 Filme mit einem niedrigen Rating. In allen drei Clustern können Regeln identifiziert werden: Im ersten Cluster 14 Assoziationsregeln, im zweiten 52 und im dritten 12. Interessanterweise gelten alle gefundenen Assoziationsregeln in jeweils genau einem Cluster. Im Vergleich zum herkömmlichen Data Mining gehen insgesamt 14 Regeln verloren. Hiervon eine mit einer Confidence von 100%, drei Regeln mit einer Confidence von 67% und acht Regeln mit einer Confidence von 50%. Im Gegensatz dazu können aber 21 bisher unbekannte Regeln identifiziert werden. Hiervon weisen sechs eine Confidence von 100% auf, sieben eine Confidence von 67% und acht eine Confidence von 50%. Bei den neuen Regeln ist insbesondere der erste Cluster von großem Interesse, weil in diesem Cluster insgesamt 14 Assoziationsregeln gefunden werden, wovon acht neu sind. Die Assoziationsregeln, welche durch das „Kombinierte Data Mining“ verloren gehen sind, können durch die neu gefundenen Regeln kompensiert werden. Insgesamt tragen die neuen Regeln sogar zur Verbesserung des Maßes IW bei, da es sich bei diesen Assoziationsregeln um Regeln mit einer höheren Confidence im Vergleich zu den verloren gegangenen Regeln handelt. Die neuen Regeln sind in Listing 5.4 dargestellt. Neben der Verbesserung des Maßes IW durch die zusätzlichen Regeln tritt auch dadurch eine Verbesserung auf, dass 14 Assoziationsregeln durch die Kombination von Clustering und Assoziationsanalyse bzgl. der Confidence verbessert werden können. Eine Verschlechterung von Assoziationsregeln ist bzgl. der Confidence nicht zu beobachten. Vier Regeln weisen durch die Kombination 55 5 Beispiele zum „Kombinierten Data Mining“ einen schlechteren Support auf. In den Listings 5.5 und 5.6 sind die Regeln aufgeführt, die die deutlichste Verbesserung durch die Kombination von Clustering und Assoziationsanalyse im Vergleich zum herkömmlichen Data Mining erfahren haben. Cluster 1: ’ Behrendt , Klaus J . ’ = > ’ George , Götz ’ ( Confidence =1) ’ Mühe , Ulrich ’ = > ’ Gedeck , Martina ’ ( Confidence =1) ’ Giller , Walter ’ = > ’ Held , Martin ’ ( Confidence =0.67) ’ Held , Martin ’ = > ’ Giller , Walter ’ ( Confidence =0.67) ’ Knaup , Herbert ’ = > ’ Bleibtreu , Moritz ’ ( Confidence =0.67) ’ Mira , Brigitte ’ = > ’ Carstensen , Margit ’ ( Confidence =0.5) ’ Vogler , Rüdiger ’ = > ’ Kreuzer , Lisa ’ ( Confidence =0.5) ’ Paul , Christiane ’ = > ’ Vogel , Jürgen ’ ( Confidence =0.5) Cluster 2: ’ Klinger , Paul ’ = > ’ Brühl , Heidi ’ ( Confidence =1) ’ Klinger , Paul ’ = > ’ Meissner , Angelika ’ ( Confidence =1) ’ Held , Martin ’ = > ’ Krüger , Hardy ’ ( Confidence =0.67) ’ Schygulla , Hanna ’ = > ’ Lommel , Ulli ’ ( Confidence =0.67) ’ Adorf , Mario ’ = > ’ Landgrebe , Gudrun ’ ( Confidence =0.5) ’ Palmer , Lilli ’ = > ’ Schneider , Romy ’ ( Confidence =0.5) ’ Glas , Uschi ’ = > ’ Lingen , Theo ’ ( Confidence =0.5) ’ Stadlober , Robert ’ = > ’ Schilling , Tom ’ ( Confidence =0.5) ’ Berkel , Christian ’ = > ’ Sawatzki , Andrea ’ ( Confidence =0.5) Cluster 3: ’ Schell , Maria ’ = > ’ Fischer , O . W . ’ ( Confidence =1) ’ Hoven , Adrian ’ = > ’ Söderbaum , Kristina ’ ( Confidence =1) ’ Fischer , O . W . ’ = > ’ Schell , Maria ’ ( Confidence =0.67) ’ Glas , Uschi ’ = > ’ Kraus , Hans ’ ( Confidence =0.67) Listing 5.4: Zusätzliche Regeln durch die Kombination von Clustering und Assoziationsanalyse ’ Hoven , Adrian ’ = > ’ Birgel , Willy ’ ( Confidence =0.5) ’ Birgel , Willy ’ = > ’ Söderbaum , Kristina ’ ( Confidence =0.5) ’ Lingen , Theo ’ = > ’ Glas , Uschi ’ ( Confidence =0.5) ’ Lommel , Ulli ’ = > ’ Schygulla , Hanna ’ ( Confidence =0.5) ’ Timoteo , Sabine ’ = > ’ Vogel , Jürgen ’ ( Confidence =0.5) Listing 5.5: Ergebnis des herkömmlichen Data Mining (nur veränderte Regeln) Cluster 1: ’ Timoteo , Sabine ’ Cluster 2: ’ Lingen , Theo ’ ’ Lommel , Ulli ’ Cluster 3: ’ Birgel , Willy ’ ’ Hoven , Adrian ’ => => => => => ’ Vogel , Jürgen ’ ( Confidence =1) ’ Glas , Uschi ’ ( Confidence =1) ’ Schygulla , Hanna ’ ( Confidence =1) ’ Söderbaum , Kristina ’ ( Confidence =1) ’ Birgel , Willy ’ ( Confidence =1) Listing 5.6: Ergebnis des „Kombinierten Data Mining“ (nur veränderte Regeln) Insgesamt kommt die Verbesserung des Ergebnisses durch die Kombination von Clustering und Assoziationsanalyse in diesem Fall durch zwei Aspekte zustande. Auf der einen Seite führen die zusätzlichen Assoziationsregeln zu einer Verbesserung des Maßes und gleichen die verlorenen Asso56 5 Beispiele zum „Kombinierten Data Mining“ ziationsregel mehr als aus, auf der anderen Seite sorgen die verbesserten Assoziationsregeln für eine weitere Verbesserung des Ergebnisses. Deutsche Filme (mit Budget) Bei den deutschen Filmen mit Budget kommt es nach einem Clustering mit dem Attribut „Budget“ zu einer Verschlechterung des Ergebnisses. Die Verschlechterung ist am größten beim Clustering mit der Zielsetzung, zwei Cluster zu erzeugen. Deshalb soll auch in diesem Fall überprüft werden, wie dieses Ergebnis zustande kommt. Insgesamt wurden bei diesem Experiment 107 Filme in die Betrachtung einbezogen. Bei den deutschen Filmen mit Budget handelt es sich damit um das kleinste der hier durchgeführten Experimente. Das Clustering ergibt zwei Cluster, wobei der erste Cluster alle Filme mit einem Budget zwischen 43 und 150 Millionen enthält. Hiervon gibt es 14 Filme. Der zweite Cluster enthält insgesamt 93 Filme, die ein Budget zwischen 891 Euro und 40 Millionen Euro aufweisen. Die Suche nach Assoziationsregeln führt nur im zweiten Cluster zum Erfolg: Hier werden insgesamt 50 Assoziationsregeln gefunden. Zum Vergleich: Ohne Clustering können 57 Assoziationsregeln gefunden werden. Insgesamt gehen durch die Kombination von Clustering und Assoziationsanalyse zehn Regeln verloren, es können aber drei neue Regeln gefunden werden. Die zehn fehlenden Regeln setzen sich aus drei Regeln mit einer Confidence mit 100% und sieben Regeln mit einer Confidence von 67% zusammen. Die drei neuen Regeln haben lediglich eine Confidence von 50%. Insgesamt können durch das Clustering nur drei Regeln bzgl. der Confidence verbessert werden. Der Support der vorhandenen Regeln ist in beiden Fällen identisch. Insgesamt lässt sich festhalten, dass sich die Verschlechterung des Maßes in erster Linie auf das Fehlen der zehn Assoziationsregeln zurückführen lässt. Die Entdeckung von drei neuen Regeln, die bzgl. der Confidence auch noch schlechter sind, und die drei verbesserten Regeln führen nicht zu einer solch großen Verbesserung, als dass der Verlust der Assoziationsregeln ausgeglichen werden könnte. Komödien Bei den Komödien kommt es wie auch bei den deutschen Filmen mit Budget zu einer Verschlechterung, wenn die Daten vorher mit Hilfe des Budgets in Cluster aufgeteilt werden. Auf Grund der Vielzahl der Regeln soll an dieser Stelle auf eine vollständige Auswertung des Ergebnisses verzichtet werden und stattdessen das Ergebnis des Maßes IW anhand der Anzahl der gefundenen Regeln erklärt werden. Näher untersucht werden soll das Experiment, bei dem die Daten in vier Cluster aufgeteilt wurden. Hierbei enthält der erste Cluster 792 Filme mit einem Budget zwischen 50 und 11.500.000 Euro. Darin können 188 Assoziationsregeln gefunden werden. In den übrigen Clustern können keine Assoziationsregeln gefunden werden. Hierbei handelt es sich um folgende Cluster: Cluster 2 (Budget: 750 - 225 Millionen Euro / 77 Elemente), Cluster 3 (Budget: 35 - 74 Millionen Euro / 288 Elemente) und Cluster 4 (Budget: 12 - ca. 34 Millionen Euro / 436 Elemente). Im Vergleich zum herkömmlichen Data Mining stellt man fest, dass durch die Aufteilung der Daten mit Hilfe des Attributs „Budget“ viele Regeln verloren gehen. Insgesamt können im herkömmlichen Fall 264 Assoziationsregeln gefunden werden, während es im kombinierten Fall nur 188 Regeln sind. Das bedeutet, dass insgesamt 76 Regeln durch das „Kombinierte Data Mining“ verloren gehen. Wenn man das Ergebnis noch genauer betrachtet, stellt man fest, dass überwiegend gute Regeln durch die Kombination von Clustering und Assoziationsanalyse verloren gehen: Während 57 5 Beispiele zum „Kombinierten Data Mining“ im herkömmlichen Fall 227 Assoziationsregeln mit einer Confidence von 100% gefunden werden, sind dies im kombinierten Fall nur noch 160 Regeln. Das bedeutet, dass 88% der verlorenen Regeln eine Confidence von 100% haben. Die gesamte Verteilung der Assoziationsregeln ist in Tabelle 5.11 dargestellt. Confidence 100% 90% - 99% 80% - 89% 70% - 79% 60% - 69% 50% - 59% #herkömmlich 227 0 19 1 7 10 #kombiniert 160 0 16 1 4 7 Tabelle 5.11: Verteilung der Assoziationsregeln Durch die Kombination von Clustering und Assoziationsanalyse gehen überwiegend gute Regeln verloren oder werden zumindest deutlich verschlechtert. Der Verlust vieler Regeln mit einer hohen Confidence sorgt insgesamt für die deutliche Verschlechterung des Ergebnisses und somit des Maßes IW. Europäische Filme Die Europäischen Filme wurden für eine nähere Analyse ausgewählt, weil es durch ein Clustering mit dem Attribut „Rating“ zu einer Verbesserung des Maßes IW kommt, obwohl genauso wie bei den Blockbustern weniger Assoziationsregeln gefunden werden. Wie bei den Komödien soll auch in diesem Fall auf Grund der Vielzahl der gefundenen Regeln keine vollständige Auswertung des Ergebnisses durchgeführt werden, sondern stattdessen die Veränderung des Maßes IW wieder über die Verteilung der Assoziationsregeln erläutert werden. Das Clustering mit dem Attribut „Rating“ liefert drei Cluster: Cluster 1 enthält die Filme mit einem hohem Rating, Cluster 2 die Filme mit einem mittleren Rating und Cluster 3 die Filme mit einem niedrigen Rating. Der erste Cluster enthält 311 Filme, der zweite 673 und der dritte 63. Lediglich im ersten Cluster können Assoziationsregeln gefunden werden, so dass auch keine Regeln mehrfach vorkommen. Im Vergleich zum herkömmlichen Data Mining werden beim „Kombinierten Data Mining“ nur Assoziationsregeln mit einer Confidence ≥ 80% gefunden. Außerdem können mehr Regeln mit einer Confidence von 100% gefunden werden. Die Verteilung aller Regeln ist in Tabelle 5.12 angegeben. Confidence 100% 90% - 99% 80% - 89% 70% - 79% 60% - 69% 50% - 59% #herkömmlich 161 0 12 1 9 5 #kombiniert 174 0 12 0 0 0 Tabelle 5.12: Verteilung der Assoziationsregeln Die Verbesserung des Maßes IW erklärt sich dadurch, dass nur Regeln mit einer Confidence von unter 79% fehlen. Diese wurden entweder so verbessert, dass ihre Confidence größer als 80% ist, 58 5 Beispiele zum „Kombinierten Data Mining“ oder sie sind durch die Kombination von Clustering und Assoziationsanalyse verloren gegangen und durch neue, bessere Regeln ersetzt worden. Darüber hinaus werden insgesamt 13 Assoziationsregeln mit einer Confidence von 100% zusätzlich gefunden bzw. auf diesen Confidencewert verbessert. 5.4.3 Fazit Wie in Abschnitt 5.4.1 bereits erwähnt, kann in den meisten Fällen davon ausgegangen werden, dass sich die Ergebnisse einer Assoziationsanalyse durch die Kombination von Clustering und Assoziationsanalyse verbessern lassen, wenn die richtigen Clusterattribute verwendet werden. Die Verbesserung der Ergebnisse kommt in den meisten Fällen durch zwei Effekte zustande: Auf der einen Seite kann die Kombination aus Clustering und Assoziationsanalyse wie erhofft neue Assoziationsregeln finden, die eine herkömmliche Assoziationsanalyse nicht findet. Hierbei handelt es sich um Assoziationsregeln, die nur auf einem bestimmten Teilbereich der Daten gelten, so z. B. nur in Filmen mit einem hohen Rating. Auf der anderen Seite kommen die Verbesserungen dadurch zustande, dass verbesserte Regeln gefunden werden. Dies betrifft meist die Verbesserung der Confidence einer Regel, so dass es weniger Ausnahmen einer Regel in einem bestimmten Teilbereich der Daten gibt. Es wurde also eine bessere Assoziationsregel gefunden, die allerdings (in dieser Form) nur auf einem Teilbereich der Daten gültig ist. Die Verschlechterung der Ergebnisse durch die Kombination hängt in den meisten Fällen mit dem Verlust von Regeln zusammen. Durch eine ungünstige Aufteilung der Daten können sowohl die Confidence als auch der Support einer Regel soweit absinken, dass sie durch die Assoziationsanalyse (unter den gegebenen Parametern) nicht mehr gefunden werden. Wenn dieser Effekt so stark ist, dass er weder durch die Verbesserung von Regeln noch durch neue Regeln aufgefangen werden kann, kommt es zu einer Verschlechterung des Ergebnisses und damit zu einer Verschlechterung des Maßes IW. 5.5 Laufzeitanalyse Wie in Abschnitt 3.4.2 bereits erwähnt wurde, ist durch die Kombination von Clustering und Assoziationsanalyse eine Verbesserung der Laufzeit des Data Mining zu erwarten. In Abbildung 5.1 sind die Laufzeiten der durchgeführten Experimente (in Minuten) dargestellt. An erster Stelle ist jeweils die Laufzeit des herkömmlichen Data Mining („herkömmliches DM“) dargestellt. Wurden für ein Attribut verschiedene Experimente mit unterschiedlicher Clusteranzahl durchgeführt, ist in den Diagrammen die durchschnittliche Laufzeit angegeben. Nicht dargestellt sind die Ergebnisse der deutschen Filme mit Budget, da auf Grund der geringen Laufzeit von 3 Sekunden keine Veränderung der Laufzeit für die Berechnung der Ergebnisse festgestellt werden konnte. Die vollständigen Ergebnisse der Laufzeitanalyse sind in Anhang B zu finden. Die Ergebnisse der Experimente bestätigen die Annahme, dass durch die Kombination eine Verbesserung der Laufzeit erreicht werden kann. Diese beträgt bis zu 80%, ohne dass eine Verschlechterung der Ergebnisse eintritt, bzw. bis zu 70%, wenn nur die besten Resultate bzgl. des Maßes IW betrachtet werden. Der größte absolute Zeitgewinn lässt sich bei den Actionthrillern erzielen. Die Laufzeit reduziert sich hier von ca. 45 Minuten auf ca. 9 Minuten, ohne dass eine Verschlechterung der Ergebnisse eintritt. Werden auch Ergebnisse berücksichtigt, die bzgl. des Maßes IW eine Verschlechterung der Ergebnisse im Vergleich mit dem herkömmlichen Data Mining darstellen, kann eine Verbesserung um bis zu 90% erreicht werden. In insgesamt 31 Fällen konnte eine Reduzierung der Laufzeit durch die Kombination von Clustering und Assoziationsanalyse erzielt werden. In lediglich einem Fall hat die Kombination zu einer Verschlechterung der Laufzeit geführt. 59 5 Beispiele zum „Kombinierten Data Mining“ 44:53 8:50 8:22 herkömmliches DM herkömmliches DM Kontinent Rating Kontinent Rating Budget Budget+Kontinent Dekade 3:46 2:34 2:09 8:50 1:32 3:46 Actionthriller Actionthriller 2 11:26 herkömmliches DM 7:17 herkömmliches DM Rating Kontinent Rating Budget Budget+Rating Genre+Rating Genre Dekade+Genre 5:05 Jahr Dekade Dekade 3:33 5:00 4:56 4:54 4:38 4:30 3:29 2:03 1:43 1:15 Blockbuster 2:13 Komödien 2:15 herkömmliches DM 1:18 1:18 1:17 4:30 Typ Budget Rating Rating Rating+Typ Budget+Rating Land+Rating Genre Dekade Dekade+Rating Dekade+Rating Dekade Jahr 1:15 1:00 herkömmliches DM Land 0:58 2:18 0:58 1:35 1:27 1:12 0:54 Europäische Filme Deutsche Filme Abbildung 5.1: Laufzeit der durchgeführten Experimente 60 0:50 6 Automatisierung des Kombinierten Data ” Mining“ Diesem Kapitel behandelt die Automatisierung des „Kombinierten Data Mining“. Zunächst folgt eine kurze Einführung zur Automatisierung des Data Mining. In den darauf folgenden Abschnitten wird die Auswahl der besten Clusterattribute erläutert. Hierzu wird ein Ansatz vorgestellt, der die Korrelation1 zwischen verschiedenen Attributen bestimmt, um die besten Attribute auszuwählen. Die Korrelation der Attribute soll mit Hilfe der stochastischen Unabhängigkeit und mit Hilfe des χ2 -Verfahrens bestimmt werden, welches ebenfalls in diesem Ansatz näher erläutert wird. Im letzten Abschnitt dieses Kapitels werden mit Hilfe des vorgestellten Ansatzes die besten Clusterattribute für die in Kapitel 5 durchgeführten Experimente ermittelt und mit den tatsächlich besten Clusterattributen verglichen. 6.1 Einleitung Die Automatisierung des Data Mining soll dem Nutzer einer Data Mining Anwendung so viele Arbeitsschritte wie möglich abnehmen und trotzdem das bestmögliche Resultat erzielen. So könnte z. B. die Aufbereitung der Daten, die Festlegung der besten Parameter zur Durchführung des Data Mining oder die Auswahl des für die Assoziationsanalyse verwendeten Attributs automatisiert werden. In dem hier untersuchten Fall, der Kombination aus Clustering und Assoziationsanalyse, könnte zusätzlich die Auswahl der besten Clusterattribute automatisiert werden. In dieser Arbeit wird versucht, dem Nutzer des Systems alle für das Clustering nötigen Schritte abzunehmen. Der Nutzer muss lediglich die für die Assoziationsanalyse nötigen Schritte wie die Aufbereitung der Daten und die Konfiguration der Assoziationsanalyse selbst übernehmen. Die Auswahl von geeigneten Clusterattributen und die Durchführung des Clustering soll das System hingegen automatisch bzw. mit möglichst wenig Interaktion mit dem Nutzer erledigen. Für den Fall, dass die Auswahl des besten Clusterattributs nicht möglich ist, können alternativ die vielversprechendsten Attribute für das Clustering ausgewählt und mehrere Assoziationsanalysen auf den unterschiedlich geclusterten Daten durchgeführt werden. Aus den entstehenden Ergebnissen kann entweder mit Hilfe eines Maßes (vgl. Kapitel 4) das beste Ergebnis ausgewählt werden oder es werden dem Nutzer des Systems mehrere alternative Ergebnisse präsentiert. Der entscheidende Schritt zur Automatisierung des „Kombinierten Data Mining“ ist die Auswahl der besten Clusterattribute. Bisherige Arbeiten gehen davon aus, dass für diesen Schritt Expertenwissen über die zugrundeliegenden Daten nötig ist. In dieser Arbeit soll versucht werden, die besten Attribute mit Hilfe der Korrelation zwischen den Clusterattributen und den Attributen der Assoziationsanalyse zu bestimmen. Hierzu soll die Korrelation zunächst formal definiert werden: 1 Die Korrelation ist eine Beziehung zwischen zwei oder mehr statistischen Variablen bzw. in diesem Fall zwischen zwei oder mehr Attributen. (vgl. Definition 5) 61 6 Automatisierung des „Kombinierten Data Mining“ Definition 5 (Korrelation / Korrelationsrechnung (in Anlehnung an [Ste07])) Gegeben seien zwei Merkmale X und Y, die an n statistischen Einheiten beobachtet werden. Wenn X und Y korrelieren, also eine Korrelation zwischen X und Y besteht, bedeutet dies, dass ein (ungerichteter) Zusammenhang zwischen X und Y besteht. Dies bedeutet lediglich, dass gewisse Ausprägungskombinationen von X und Y gehäuft beobachtet werden können. Hierbei handelt es sich nicht notwendigerweise um einen funktionalen Zusammenhang, etwa in der Form, dass Y eine (verrauschte) Funktion von X ist. Im Rahmen der Korrelationsrechnung werden diese ungerichteten Zusammenhänge untersucht und in Form von Kennzahlen quantifiziert. 6.2 Bestimmung der besten Clusterattribute Dieser Abschnitt behandelt die Auswahl der richtigen Clusterattribute. Wie die Experimente im vorherigen Kapitel gezeigt haben, hängen die Qualität der Ergebnisse und die erzielbare Verbesserung sehr stark von der Auswahl der richtigen Clusterattribute ab. Werden ungeeignete Attribute für das Clustering der Transaktionen verwendet, führt dies zu einer Verschlechterung der Ergebnisse. Eine Verbesserung der Ergebnisse und damit des Maßes IW kann auf zwei unterschiedliche Arten zustande kommen: Zum einen führt eine Verbesserung der Confidence von einer oder mehreren Assoziationsregeln auch zu einer Verbesserung der Ergebnisse, sofern die übrigen Regeln sich bzgl. der Confidence nicht verändern. Zum anderen tritt eine Verbesserung des Ergebnisses ein, wenn neue zusätzliche Regeln bei der Assoziationsanalyse gefunden werden. Neue Regeln werden allerdings genau dann gefunden, wenn sich ihre Confidence durch das Clustering soweit erhöht, dass die Confidence größer als der entsprechende Grenzwert ist. Folglich reicht es aus, die Clusterattribute so zu wählen, dass möglichst viele Regeln bzgl. der Confidence verbessert werden können. Gleichzeitig sollten durch das Clustering natürlich keine Regeln verloren gehen oder im Hinblick auf Confidence oder Support verschlechtert werden. Um eine möglichst hohe Confidence der gefundenen Assoziationsregeln zu erreichen, muss das Clusterattribut so gewählt werden, dass für möglichst viele Assoziationsregeln Folgendes gilt: Die Transaktionen, für die eine Assoziationsregel gilt2 , und diejenigen Transaktionen, für die sie nicht gilt3 , werden unterschiedlichen Clustern zugeordnet. Die Transaktionen, die eine Ausnahme zu einer Assoziationsregel bilden, befinden sich also nicht im selben Cluster wie die Transaktionen, für die die Assoziationsregel gilt. Um solch eine Aufteilung der Daten zu erreichen, soll folgende Beobachtung ausgenutzt werden: In vielen Anwendungsbereichen gilt, dass sich die Attributwerte, die ein Attribut annimmt, in einem bestimmten Kontext bewegen, d. h., dass eine (lose) Abhängigkeit zwischen verschiedenen Attributen besteht. Dies bedeutet, dass nicht alle Wertekombinationen in einer Datenbank gleichhäufig auftreten: manche Kombinationen treten häufig auf, andere eher selten und viele treten gar nicht auf. Dies soll am Beispiel der Schauspieler verdeutlicht werden. Für die meisten Schauspieler gilt, dass sie überwiegend Filme eines bestimmten Genres, eines bestimmten Typs und in einem bestimmten Produktionsland drehen. Darüber hinaus spielen gute Schauspieler häufig in guten und in teuren Filmen, während weniger gute Schauspieler meist in weniger guten Filmen und in Filmen mit einem geringeren Budget mitspielen. Diese Beobachtung bedeutet aber gleichzeitig, dass bestimmte Schauspieler häufig zusammenarbeiten, zumindest wenn die Schauspieler für sich typische Filme drehen. Dreht ein Schauspieler hingegen einen Film aus einem ganz anderen Genre oder mit einem ganz anderen Budget als sonst, bedeutet dies meistens, 2 Prämisse 3 Es und Konklusion sind erfüllt. ist nur die Prämisse, aber nicht die Konklusion erfüllt. 62 6 Automatisierung des „Kombinierten Data Mining“ dass er mit ganz anderen Schauspielern zusammenarbeitet. Dieser Film stellt dann eine Ausnahme zu den restlichen Filmen dieses Schauspielers dar und sollte deshalb einem anderen Cluster zugeordnet werden als die für diesen Schauspieler typischen Filme, wenn ein möglichst gutes Resultat der Assoziationsanalyse erzielt werden soll. Das Attribut, welches für die Assoziationsanalyse verwendet wird, wird im Folgenden als Assoziationsattribut bezeichnet. Korreliert nun ein Attribut sehr stark mit dem Assoziationsattribut, in diesem Fall also mit dem Attribut „Schauspieler“, so ist davon auszugehen, dass die Schauspieler diesbezüglich nur selten von ihren Gewohnheiten abweichen. Ein Clustering mit diesem Attribut würde aus diesem Grund dazu führen, dass dann für die meisten Schauspieler gilt, dass die für sie typischen und untypischen Filme unterschiedlichen Clustern zugeordnet werden. Bei dieser Aufteilung handelt es sich um genau die gewünschte Aufteilung, um die Confidence der gefundenen Regeln soweit wie möglich zu erhöhen. Es ist zu vermuten, dass sich erstens mit Hilfe der Korrelation zwischen zwei Attributen eine gute Schätzung vornehmen lässt, um geeignete Clusterattribute zu identifizieren, und dass zweitens diejenige Attribute die besten sind, welche die stärkste Korrelation mit dem Assoziationsattribut aufweisen. Aus diesem Grund werden diejenigen Attribute für die Assoziationsanalyse ausgewählt, welche am stärksten mit dem Assoziationsattribut korrelieren, um die besten Resultate zu erzielen. Das Vorgehen zur Auswahl des besten Clusterattributs soll an einem Beispiel verdeutlicht werden. Gegeben sei eine Tabelle mit Informationen über Filme. Zu jedem Film sind das Genre, das Rating, der Kontinent der Produktion (ggf. auch mehrere Kontinente) und die beteiligten Schauspieler gespeichert. Mittels einer Assoziationsanalyse sollen Regeln über das Zusammenwirken von Schauspielern ermittelt werden. Die Daten sollen zuvor mittels eines Clustering aufgeteilt werden. Zur Bestimmung des besten Clusterattributs wird zunächst die Korrelation zwischen den möglichen Clusterattributen und demjenigen Attribut berechnet, welches für die Assoziationsanalyse verwendet werden soll. In diesem Fall wird die Korrelation zwischen den Attributkombinationen Genre/Schauspieler, Rating/Schauspieler und Kontinent/Schauspieler ermittelt. Das Clusterattribut, welches bzgl. der Korrelation das beste Ergebnis erzielt, also das Clusterattribut, welches am stärksten mit dem Assoziationsattribut „Schauspieler“ korreliert, wird für das Clustering verwendet. 6.3 Berechnung der Korrelation zwischen zwei Attributen Zur Berechnung der Korrelation zwischen zwei Attributen kommen in erster Linie zwei Verfahren in Betracht. Handelt es sich bei beiden Attributen um numerische Attribute, lässt sich die Korrelation mittels des Korrelationskoeffizienten berechnen. Ist mindestens eines der Attribute ein kategorisches Attribut, ist die Berechnung mittels des Korrelationskoeffizienten nicht möglich. In diesem Fall kann die Korrelation mit Hilfe des χ2 -Verfahrens berechnet werden. Da davon ausgegangen werden kann, dass eine Assoziationsanalyse meist auf nicht-numerischen Attributen durchgeführt wird und sich außerdem numerische Attribute mittels einer Diskretisierung der Werte zu kategorischen Attributen umwandeln lassen, soll hier nur die Berechnung der Korrelation mittels des χ2 Verfahrens betrachtet werden. Außerdem wird in dieser Arbeit ein weiterer Ansatz zur Berechnung der Korrelation zwischen zwei Attributen vorgeschlagen: die Berechnung mittels der stochastischen Unabhängigkeit. 6.3.1 Grundlagen Sowohl die Berechnung der Korrelation mittels des χ2 -Verfahrens als auch die Berechnung mittels der stochastischen Unabhängigkeit basieren auf den gleichen Grundideen. Diese werden im Folgenden kurz vorgestellt. 63 6 Automatisierung des „Kombinierten Data Mining“ Gegeben seien hierzu die zwei kategorischen Attribute A und B. Das Attribut A kann c unterschiedliche Werte annehmen: ( a1 , a2 , ..., ac ), das Attribut B r unterschiedliche Werte: (b1 , b2 , ..., br ). Die zu untersuchenden Daten können in einer Kontingenztafel dargestellt werden. Eine Kontingenztafel ist eine Tabelle, welche die absoluten Häufigkeiten verschiedener Merkmalsausprägungen beinhaltet. Für die Attribute A und B hätte eine solche Tabelle c Spalten für die verschiedenen Attributwerte von A und r Zeilen für die Attributwerte des Attributs B. Sei ( Ai , Bj ) das Ereignis, dass Attribut A den Wert ai annimmt und Attribut B den Wert b j , also ( A = ai , B = b j ). Für jede mögliche Kombination aus den Attributwerten der Attribute A und B enthält die Kontingenztafel ein Feld, welches die Anzahl der Vorkommen dieser Attributkombination in den zu untersuchenden Daten enthält. Diese Anzahl wird im Folgenden mit nij bezeichnet. In Abbildung 6.1 ist eine Kontingenztafel für zwei Attribute dargestellt. Abbildung 6.1: Kontingenztafel für zwei Attribute Zu einer gegebenen Kontingenztafel mit den Attributen A und B ergeben sich die Zeilen- bzw. Spaltensummen ni. bzw. n.j als: r ni. = ∑ nij c bzw. n.j = j =1 ∑ nij i =1 Diese werden auch als absolute Randhäufigkeiten bezeichnet. Die gemeinsamen relativen Häufigkeiten ergeben sich zu pij = n ten zu pi. = nni. und p.j = n.j . nij n und die relativen Randhäufigkei- Zu jeder Zelle ij der Kontingenztafel kann die erwartete Anzahl des Vorkommens vom Ereignis (Ai ,B j ) angegeben werden. Diese erwartete Häufigkeit nij∗ berechnet sich wie folgt: nij∗ = count( A = ai ) · count( B = b j ) ni. · n.j = , n n wobei n die Anzahl der Datensätze ist, count( A = ai ) die Anzahl der Datensätze mit dem Wert ai für das Attribut A und count( B = b j ) die Anzahl der Datensätze mit dem Wert b j für das Attribut B. In Abbildung 6.1 ist count( A = ai ) als ni. und count( B = b j ) als n.j bezeichnet. Für das Auftreten von zwei unabhängigen Ereignissen X und Y gilt, dass die Wahrscheinlichkeit für ihr gemeinsames Auftreten gleich dem Produkt der Einzelwahrscheinlichkeiten ist: P ( X ∩ Y ) = P ( X ) · P (Y ) Für zwei unabhängige Attribute A und B gilt (für alle ai und b j ) analog: P( Ai , Bj ) ≈ P( Ai ) · P( Bj ) bzw. 64 pij ≈ pi. · p.j 6 Automatisierung des „Kombinierten Data Mining“ bzw. mit n multipliziert: nij ≈ ni. · n.j n oder auch nij − ni. · n.j ≈ 0 bzw. nij − nij∗ ≈ 0 n Ist diese Differenz für sämtliche i, j klein, so kann davon ausgegangen werden, dass die Attribute A und B tatsächlich (stochastisch) voneinander unabhängig sind. Diese Tatsache wird sowohl bei der Berechnung der Korrelation mittels der stochastischen Unabhängigkeit als auch bei der Berechnung mittels des χ2 -Verfahrens ausgenutzt. Bei der Berechnung mittels der stochastischen Unabhängigkeit wird zur Überprüfung der Unabhängigkeit das durchschnittliche Verhältnis zwischen der erwarteten Häufigkeit und der tatsächlichen Häufigkeit über alle Zellen einer Kontingenztafel berechnet. Beim χ2 -Verfahren wird die Kontingenztafel mit derjenigen Kontingenztafel mit gleichen Randhäufigkeiten verglichen, die sich bei empirischer Unabhängigkeit einstellt. Auf diese beiden Ansätze wird in den folgenden Abschnitten ausführlicher eingegangen. 6.3.2 χ2 -Verfahren Das χ2 -Verfahren bzw. der χ2 -Unabhängigkeitstest ist ein Verfahren zur Berechnung der Korrelation zwischen zwei kategorischen Attributen bzw. zur Überprüfung der Unabhängigkeit von zwei kategorischen Attributen. Handelt es sich bei (mindestens) einem der beteiligten Attribute um ein numerisches Attribut, muss zunächst eine Diskretisierung zur Umwandlung des Attributs in ein kategorisches Attribut erfolgen. Für zwei Attribute lässt sich der χ2 -Wert berechnen als: χ2 = c r ∑∑ (nij − nij∗ )2 nij∗ i =1 j =1 Die grundlegende Idee beim χ2 -Verfahren ist, dass für unabhängige Attribute Folgendes gilt: nij ≈ ni. · n.j n oder auch nij − ni. · n.j ≈ 0 bzw. nij − nij∗ ≈ 0 n Wenn diese Differenz für sämtliche i, j klein ist, so kann davon ausgegangen werden, dass die Attribute A und B tatsächlich voneinander unabhängig sind. Beim χ2 -Verfahren wird die vorhandene Kontingenztafel mit einer idealen Kontingenztafel für zwei unabhängige Attribute mit der gleichen Randverteilung verglichen. Die entstehenden Differenzen (bzw. die Quadrate der Differenzen) werden über alle Zellen der Kontingenztafel aufsummiert und mit der erwarteten Häufigkeit (bzw. mit 1/nij∗ ) gewichtet. Bei der Berechnung von χ2 liefern diejenigen Werte den größten Beitrag, welche am stärksten vom erwarteten Wert abweichen. Zur Überprüfung der Unabhängigkeit von zwei Attributen A und B testet das χ2 -Verfahren die Hypothese, dass die Attribute A und B stochastisch unabhängig sind. Hierzu wird überprüft, wie sich der berechnete χ2 -Wert zu einem Referenzwert χ2Ref verhält. Ist der berechnete Wert kleiner oder gleich dem Referenzwert, wird die Hypothese angenommen. Das heißt, dass die untersuchten Attribute voneinander unabhängig sind. Ist der berechnete χ2 -Wert größer als der Referenzwert, wird die Hypothese abgelehnt. In diesem Fall sind die Attribute voneinander abhängig. Der Maximalwert wird genau dann angenommen, wenn in jeder Zeile und Spalte genau eine Zelle besetzt ist und die anderen Zellen null sind. In diesem Fall kann direkt von der Ausprägung ai des Attributs A auf die Ausprägung b j des Attributs B geschlossen werden. Der Referenzwert χ2Ref hängt von der Anzahl der Freiheitsgrade und dem Signifikanzniveau ab. Die Freiheitsgrade ergeben sich in diesem Fall als (c − 1) · (r − 1). Die Irrtumswahrscheinlichkeit 65 6 Automatisierung des „Kombinierten Data Mining“ gibt an, wie groß die Wahrscheinlichkeit ist, dass die gemessenen Ergebnisse nur auf Grund eines ungünstigen Zufalls zustande gekommen sind. Die Obergrenze für die Irrtumswahrscheinlichkeit wird als Signifikanzniveau bezeichnet. In den meisten Fällen wird für das Signifikanzniveau ein Wert von 5% angenommen. Ist die Irrtumswahrscheinlichkeit kleiner oder gleich dem Signifikanzniveau, spricht man von Signifikanz. χ2 ist nur bei ausreichend großen erwarteten Häufigkeiten annähernd mit (c − 1) · (r − 1) Freiheitsgraden χ2 -verteilt. Hierzu müssen die erwarteten Häufigkeiten mindestens 1 bzw. 5 betragen.4 Das χ2 -Verfahren führt nur in diesen Fällen zu richtigen Ergebnissen. Ist die erwartete Häufigkeit zu klein, können gegebenenfalls mehrere Attributwerte zusammengefasst werden, um die Mindestgröße zu erreichen. Ein weiteres Problem beim χ2 -Verfahren ist die Vergleichbarkeit der Ergebnisse: Die χ2 -Statistik kann nur sinnvoll eingesetzt werden, um Kontingenztafeln gleicher Dimension und gleichen Stichprobenumfangs zu vergleichen. Abhilfe schafft allerdings der normierte Kontingenzkoeffizient K ∗ , mit dem es möglich ist, unterschiedliche Maßzahlen unabhängig von der Dimension der Kontingenztafel und des Stichprobenumfangs zu vergleichen. Definition 6 (Kontingenzkoeffizient / Normierter Kontingenzkoeffizient ([Ste07])) Der Kontingenzkoeffizient nach Pearson ist gegeben durch s χ2 K= n + χ2 q min(c,r )−1 an. Der normierte Kontingenzkoeffizient nimmt und nimmt Werte zwischen 0 und Kmax = min(c,r ) Werte zwischen 0 und 1 an und ist definiert als K∗ = K Kmax Beispiele zum χ2 -Verfahren Gegeben seinen die drei Schauspieler S1 , S2 und S3 , sowie die drei Filmgenres „Action“ (kurz „A“), „Biography“ (kurz „B“) und „Comedy“ (kurz „C“). Jeder Schauspieler hat in einer bestimmen Anzahl von Filmen aus diesen Genres mitgewirkt. Die Anzahl der Filme (pro Schauspieler und Genre) ist in der Kontingenztafel in Abbildung 6.2 dargestellt. Schauspieler S1 hat z. B. in 100 Filmen mit dem Genre „Comedy“ mitgespielt. Die entsprechenden absoluten Randhäufigkeiten sind ebenfalls in Abbildung 6.2 enthalten. Zur Berechnung von χ2 müssen zunächst die erwarteten Häufigkeiten berechnet werden. Diese ergeben sich aus den absoluten Randhäufigkeiten und der Gesamtzahl der betrachteten Datensätze. Zur Erinnerung: Die erwarteten Häufigkeiten nij∗ sind definiert als: nij∗ = 4 Der count( A = ai ) · count( B = b j ) n minimale Wert für die erwarteten Häufigkeiten wird in verschiedenen Lehrbüchern unterschiedlich angegeben. 66 6 Automatisierung des „Kombinierten Data Mining“ Abbildung 6.2: Kontingenztafel mit den tatsächlichen Häufigkeiten Für dies Beispiel folgt: = 80 ∗ = n12 200·200 500 200·100 500 ∗ = n22 100·100 500 = 20 • Schauspieler=S1 , Genre=Action: ∗ = n11 • Schauspieler=S1 , Genre=Biography: = 40 • ... • Schauspieler=S2 , Genre=Biography: • ... Die gesamten erwarteten Häufigkeiten sind in Abbildung 6.3 dargestellt. Zu beachten ist, dass die Randhäufigkeiten in der Kontingenztafel für die erwarteten Häufigkeiten mit den Randhäufigkeiten in der Kontingenztafel für die tatsächlichen Werte übereinstimmen. Abbildung 6.3: Kontingenztafel mit den erwarteten Häufigkeiten Die Korrelation der zwei Attribute Schauspieler und Genre ergibt sich dann als χ2 = c r ∑∑ i =1 j =1 = (nij − nij∗ )2 nij∗ (100 − 80)2 (0 − 40)2 (100 − 80)2 + + 80 40 80 (0 − 40)2 (100 − 20)2 (0 − 40)2 + + + 40 20 40 (100 − 80)2 (0 − 40)2 (100 − 80)2 + + + 80 40 80 = 5 + 40 + 5 + 40 + 320 + 40 + 5 + 40 + 5 = 500 Um zu entscheiden, ob die beiden Attribute unabhängig sind oder nicht und wie stark die Korrelation zwischen ihnen ist, muss der Referenzwert χ2Ref bestimmt werden. Dieser ist abhängig von den 67 6 Automatisierung des „Kombinierten Data Mining“ Freiheitsgraden und vom Signifikanzniveau. Die Freiheitsgrade ergeben sich in diesem Beispiel zu (c − 1) · (r − 1) = (3 − 1) · (3 − 1) = 4. Bei einem Signifikanzniveau von 5% ergibt sich für den Referenzwert ein Wert von χ2Ref = 9, 49.5 Der Wert von χ2 ist größer als der Wert von χ2Ref ; daraus folgt, dass die Hypothese der Unabhängigkeit der beiden Attribute abgelehnt wird: Die beiden Attribut korrelieren miteinander. Da χ2 deutlich größer ist als χ2Ref , kann man sogar von einer starken Korrelation der beiden Attribute ausgehen. Zum χ2 -Verfahren soll noch ein weiteres Zahlenbeispiel angeführt werden. Gegeben seien die gleichen Attribute (Schauspieler, Genre) und Attributwerte wie im vorherigen Beispiel. Die Anzahl der tatsächlichen und der erwarteten Häufigkeiten sind in Abbildung 6.4 dargestellt. Die erwarteten Häufigkeiten sind in Klammern angegeben. Abbildung 6.4: Kontingenztafel mit den tatsächlichen und den erwarteten Häufigkeiten Wie man an der Kontingenztafel sehr gut erkennen kann, weichen die tatsächlichen Werte nur geringfügig von den erwarteten Werten ab. Es ist somit zu erwarten, dass sich für χ2 ein Wert kleiner als der Referenzwert ergibt, da die Attribute offensichtlich nicht voneinander abhängig sind. Die Korrelation ergibt sich als: χ 2 c = r ∑∑ i =1 j =1 = (nij − nij∗ )2 nij∗ (82 − 80)2 (38 − 40)2 (80 − 80)2 + + 80 40 80 (38 − 40)2 (21 − 20)2 (41 − 40)2 + + + 40 20 40 (80 − 80)2 (41 − 40)2 (79 − 80)2 + + + 80 40 80 = 0, 05 + 0, 1 + 0 + 0, 1 + 0, 05 + 0, 025 + 0 + 0, 025 + 0, 0125 = 0, 3625 Da sich die Freiheitsgrade in diesem Beispiel im Vergleich zum vorigen Beispiel nicht verändert haben, ergibt sich für χ2Ref bei einem Signifikanzniveau von 5% wieder ein Wert von 9, 49. In diesem Fall ist der Wert von χ2 deutlich kleiner als χ2Ref . Die Hypothese wird akzeptiert und es kann davon ausgegangen werden, dass die beiden Attribute voneinander unabhängig sind. 5 Die Referenzwerte werden meist aus Tabellen über die χ2 -Verteilung übernommen, die in den meisten Textbüchern über Statstik enthalten sind. 68 6 Automatisierung des „Kombinierten Data Mining“ 6.3.3 Berechnung der Korrelation mittels der stochastischen Unabhängigkeit Dieses Verfahren zur Berechnung der Korrelation basiert auf der Tatsache, dass für unabhängige Attribute A und B Folgendes gilt: P ( Ai , B j ) ≈ P ( Ai ) · P ( B j ) ⇔ P ( Ai , B j ) ≈1 P ( Ai ) · P ( B j ) ⇔ P ( Ai , B j ) −1 ≈ 0 P ( Ai ) · P ( B j ) Ist diese Differenz für alle Kombinationen ( Ai , Bj ) klein, so kann dementsprechend davon ausgegangen werden, dass die Attribute A und B tatsächlich voneinander unabhängig sind. Zur Überprüfung der Unabhängigkeit kann die durchschnittliche Differenz über alle Zellen einer Kontingenztafel berechnet werden. Die Abhängigkeit zweier Attribute A und B wird im Folgenden als Dep( A, B) bezeichnet und wird definiert als c Dep( A, B) = r | I ( A i , B j ) − 1| c·r i =1 j =1 ∑∑ mit I ( x, y) = P( x, y) P( x ) · P(y) Sind die beobachteten Werte von zwei Attributen vollständig unabhängig, dann ist Dep( A, B) = 0. Je stärker die Abhängigkeit zweier Attribute ist, desto größer ist auch der entsprechende Wert von Dep( A, B). Seien ni. und n.j die Randhäufigkeiten einer Kontingenztafel mit den Attributen A und B und n die Gesamtzahl der Elemente in der Kontingenztafel. Weiterhin wird die Anzahl der Elemente, für die gilt A = ai und B = b j , mit nij bezeichnet. Damit lässt sich Dep( A, B) schreiben als: c Dep( A, B) = r ∑∑ i =1 j =1 n·n | ni. ·nij.j − 1| c·r Mit Hilfe dieser Formel lässt sich die Abhängigkeit zweier beliebiger kategorischer Attribute bestimmen. Ergibt die Berechnung der Abhängigkeit der zwei Attribute A und B einen Wert von Dep( A, B) = x, weichen die tatsächlichen Werte im Durchschnitt um den Faktor x von den erwarteten Häufigkeiten ab. Damit kann man bei großen erwarteten Häufigkeiten bei einem Wert von x > 0.5 bereits von einer starken Korrelation ausgehen, während bei kleinen Häufigkeiten ein größerer Wert von x hierfür erforderlich ist. Bei der Berechnung der Abhängigkeit mit diesem Ansatz ist es im Gegensatz zum χ2 -Verfahren nicht entscheidend, ob die erwarteten Häufigkeiten größer sind als 1 bzw. 5; dafür ist es für die Vergleichbarkeit der Ergebnisse entscheidend, dass sich die erwarteten Häufigkeiten in der gleichen Größenordnung bewegen. Sollte dies für zwei Kontingenztafeln nicht gelten, dann sind die Ergebnisse des Maßes Dep( A, B) nicht zur Bewertung der Ergebnisse geeignet. Beispiele zur Berechnung der Korrelation mittels der stochastischen Unabhängigkeit Wie bei den Beispielen zum χ2 -Verfahren seien die drei Schauspieler S1 , S2 und S3 sowie die drei Filmgenres „Action“ (kurz „A“), „Biography“ (kurz „B“) und „Comedy“ (kurz „C“) gegeben. Jeder Schauspieler hat in einer bestimmen Anzahl von Filmen aus diesen Genres mitgewirkt. Die Anzahl der Filme (pro Schauspieler und Genre) ist in der Kontingenztafel in Abbildung 6.5 dargestellt. Zur Berechnung der Abhängigkeit von zwei Attributen wird zunächst die Abhängigkeit für die einzelnen Zellen der Kontingenztafel berechnet. Für jede Zelle der Kontingenztafel ergibt sich der Wert für die Abhängigkeit als: n ∗ nij | − 1| ni. ∗ n.j 69 6 Automatisierung des „Kombinierten Data Mining“ Abbildung 6.5: Kontingenztafel mit den tatsächlichen Häufigkeiten Für die einzelnen Zellen der Kontingenztafel folgt: n∗n • Schauspieler=S1 , Genre=Action: ∗100 | ni. ∗nij.j − 1| = | 500 200∗200 − 1| = 0, 25 • Schauspieler=S1 , Genre=Biography: 500∗0 | ni. ∗nij.j − 1| = | 200 ∗100 − 1| = 1 • Schauspieler=S1 , Genre=Comedy: 500∗100 | ni. ∗nij.j − 1| = | 200 ∗200 − 1| = 0, 25 • Schauspieler=S2 , Genre=Action: 500∗0 | ni. ∗nij.j − 1| = | 100 ∗200 − 1| = 1 • Schauspieler=S2 , Genre=Biography: ∗100 | ni. ∗nij.j − 1| = | 500 100∗100 − 1| = 4 • Schauspieler=S2 , Genre=Comedy: 500∗0 | ni. ∗nij.j − 1| = | 100 ∗200 − 1| = 1 n∗n n∗n n∗n n∗n n∗n • ... Für das Maß Dep( A, B) für die Abhängigkeit der Attribute folgt dann: c Dep( A, B) = r ∑∑ i =1 j =1 n∗n | ni. ∗nij.j − 1| c∗r = 0, 25 1 0, 25 1 4 1 0, 25 1 0, 25 8 + + + + + + + + = ≈ 0, 89 9 9 9 9 9 9 9 9 9 9 Der durchschnittliche Erwartungswert ergibt sich in diesem Beispiel zu cn∗r = 500 9 ≈ 55. Damit ergibt sich für die tätsächlichen Häufigkeiten eine durchschnittliche Abweichung von Dep( A, B) ∗ n ≈ 0, 89 ∗ 55 ≈ 50 c∗r im Vergleich zu den erwarteten Häufigkeiten. Bei diesem Beispiel kann man bei einem Wert von 0,89 für das Maß Dep( A, B) von einer starken Korrelation sprechen. Auch zu diesem Verfahren soll noch ein weiteres Beispiel angeführt werden. Gegeben seien die gleichen Attribute (Schauspieler, Genre) und Attributwerte wie im vorherigen Beispiel. Die Anzahl der tatsächlichen Häufigkeiten ist in Abbildung 6.6 dargestellt. Zunächst werden die Abhängigkeiten für die einzelnen Zellen der Kontingenztafel berechnet: n∗n • Schauspieler=S1 , Genre=Action: 500∗82 | ni. ∗nij.j − 1| = | 200 ∗200 − 1| = 0, 025 • Schauspieler=S1 , Genre=Biography: 500∗38 | ni. ∗nij.j − 1| = | 200 ∗100 − 1| = 0, 05 • Schauspieler=S1 , Genre=Comedy: 500∗80 | ni. ∗nij.j − 1| = | 200 ∗200 − 1| = 0 • Schauspieler=S2 , Genre=Action: 500∗38 | ni. ∗nij.j − 1| = | 100 ∗200 − 1| = 0, 05 • Schauspieler=S2 , Genre=Biography: 500∗21 | ni. ∗nij.j − 1| = | 100 ∗100 − 1| = 0, 05 n∗n n∗n n∗n n∗n 70 6 Automatisierung des „Kombinierten Data Mining“ Abbildung 6.6: Kontingenztafel mit den tatsächlichen Häufigkeiten n∗n • Schauspieler=S2 , Genre=Comedy: 500∗41 | ni. ∗nij.j − 1| = | 100 ∗200 − 1| = 0, 025 • Schauspieler=S3 , Genre=Action: 500∗80 | ni. ∗nij.j − 1| = | 200 ∗200 − 1| = 0 • Schauspieler=S3 , Genre=Biography: 500∗41 | ni. ∗nij.j − 1| = | 200 ∗100 − 1| = 0, 025 • Schauspieler=S3 , Genre=Comedy: 500∗79 | ni. ∗nij.j − 1| = | 200 ∗200 − 1| = 0, 0125 n∗n n∗n n∗n Für das Maß Dep( A, B) für die Abhängigkeit der Attribute folgt dann: c Dep( A, B) = n∗n r ∑∑ i =1 j =1 = = | ni. ∗nij.j − 1| c∗r 0, 025 0, 05 0 0, 05 0, 05 0, 025 0 0, 025 0, 0125 + + + + + + + + 9 9 9 9 9 9 9 9 9 0, 2375 ≈ 0, 026 9 Der durchschnittliche Erwartungswert ergibt sich in diesem Beispiel zu cn∗r = 500 9 ≈ 55. Damit ergibt sich für die tätsächlichen Häufigkeiten eine durchschnittliche Abweichung von Dep( A, B) ∗ n ≈ 0, 026 ∗ 55 ≈ 1, 43 c∗r im Vergleich zu den erwarteten Häufigkeiten. In diesem Beispiel kann man dementsprechend von einer schwachen Korrelation sprechen. 6.4 Bestimmung der Korrelation In diesem Abschnitt geht es um die Korrelation der Attribute, die für die Experimente im vorherigen Kapitel verwendet wurden. In den Experimenten zum „Kombinierten Data Mining“ wurden die Daten zunächst mittels verschiedener Clusterattribute in kleinere Einheiten aufgeteilt. Anschließend wurde in diesen Einheiten nach Assoziationsregeln mit Schauspielern gesucht. Die Korrelation wird zwischen den jeweiligen Clusterattributen und dem Attribut Schauspieler berechnet. Zu berücksichtigen ist, dass jeweils der gleiche Ausschnitt aus der Datenbank zur Berechnung der Korrelation verwendet wird, welcher auch für die Assoziationsanalyse verwendet wird. Zur Berechnung der Korrelation zwischen den Attributen „Budget“ und „Schauspieler“ wurden die Budgets der Filme zunächst in fünf Budgetklassen eingeteilt. Die genauen Klassen wurden abhängig von den Daten so gewählt, dass alle Klassen ungefähr gleich viele Filme enthalten. 71 6 Automatisierung des „Kombinierten Data Mining“ 6.4.1 Probleme bei der Berechnung der Korrelation mittels des χ2 -Verfahrens Wie in Abschnitt 6.3.2 (χ2 -Verfahren) bereits erwähnt wird, ist χ2 nur bei ausreichend großen erwarteten Häufigkeiten annähernd mit (c − 1) · (r − 1) Freiheitsgraden χ2 -verteilt und führt das Verfahren nur in diesen Fällen zu korrekten Ergebnissen. Der kritische Wert für die erwarteten Häufigkeiten wird in unterschiedlichen Lehrbüchern mit 1 bzw. 5 angegeben. In den hier durchgeführten Experimenten zur Bestimmung der Korrelation mittels des χ2 -Verfahren hat ein Großteil der Zellen jedoch eine erwartete Häufigkeit kleiner eins. Das Problem wurde soweit wie möglich minimiert, indem verschiedene Attributwerte zu Attributwertklassen zusammengefasst wurden. So wurden z. B. für das Attribut „Budget“ fünf Budgetklassen eingeführt, um die Anzahl der verschiedenen Werte zu minimieren. Für das Attribut „Land“ und für das Attribut „Jahr“ können zur Berechnung die Attribute „Kontinent“ bzw. „Dekade“ verwendet werden, um die Anzahl der Attributwerte zu reduzieren. Falls auch diese Attribute zum Clustern der Daten verwendet wurden, wurden die Attributwerte der Attribute „Land“ und „Jahr“ nicht weiter zusammengefasst. Das Zusammenfassen der Attributwerte für das Attribut „Schauspieler“ ist hingegen nicht problemlos möglich, da sich die Frage stellt, wie die Schauspieler auf sinnvolle Weise zusammengefasst werden können, ohne die Ergebnisse dadurch zu verändern bzw. zu verfälschen. Aus diesem Grund wurde auf das Zusammenfassen von Schauspielern zu Gruppen von Schauspielern verzichtet. Stattdessen wurden für die Korrelationsanalyse nur die häufigen Schauspieler betrachtet, also die Schauspieler, die in den meisten Filmen mitgewirkt haben. Diese Einschränkung sollte für die Auswahl der geeigneten Clusterattribute keine negativen Auswirkungen haben, da zu erwarten ist, dass es sich bei den in den Assoziationsregeln gefundenen Schauspielern in erster Linie um die Schauspieler handelt, die in vielen Filmen mitgespielt haben. Bei den hier durchgeführten Experimenten wurden jeweils die 25% der Schauspieler betrachtet, die die meisten Filme gedreht haben. Die beiden Maßnahmen zur Lösung des angesprochenen Problems haben zu einer deutlichen Reduzierung des Problems geführt. Der prozentuale Anteil der Zellen, die eine erwartete Häufigkeit kleiner eins haben ist in den folgenden Tabellen angegeben, um die Ergebnisse besser einschätzen zu können. 6.4.2 Ergebnisse der Korrelationsanalyse Die Ergebnisse der Korrelationsanalyse sind in den folgenden Tabellen angegeben. Die Ergebnisse sind nach der Anzahl der verwendeten Attribute und nach IW sortiert angegeben. Auf die Angabe der Quelle für die durchgeführten Experimente wurde in den Tabellen aus Platzgründen verzichtet. Die Quellen ergeben sich aus der Tabellenunterschrift bzw. der angegebenen Referenznummer. Die Spalten der Tabellen haben folgende Bedeutung: Die Spalte „Ref.“ beinhaltet eine Referenz auf die eindeutige Nummer der durchgeführten Experimente in der Tabelle 5.1 (Durchgeführte Experimente) aus dem vorherigen Kapitel. Die Spalte „Clusterattribute“ beinhaltet die Attribute, welche zum Clustern der Daten verwendet wurden und die Spalte „#Cluster“ die Anzahl der gefundenen Cluster. Die Spalte „IW“ beinhaltet den Wert des inhärenten Wissens. Die Spalte „<1“ beinhaltet den prozentualen Anteil der Zellen mit einer erwarteten Häufigkeit kleiner eins zu der Gesamtzahl der Zellen der Kontingenztafel, nachdem die Reduktion der Attributwerte durchgeführt wurde. Dieser Wert ist nur für die Beurteilung der Ergebnisse des χ2 -Verfahrens relevant. Die Berechnung des Maßes Dep( A, B) wurde auf den unveränderten Orginaldaten durchgeführt. Die Spalte „χ2 “ beinhaltet den χ2 -Wert für die Korrelation zwischen den Clusterattributen und dem Attribut „Schauspieler“. Die Spalte „χ2Ref. “ beinhaltet den 72 6 Automatisierung des „Kombinierten Data Mining“ χ2 -Referenzwert für ein Signifikanzniveau von 5%.6 Die Spalte „χ2Diff. “ beinhaltet die Abweichung der Korrelation zum Referenzwert: Ist diese positiv, korrelieren die untersuchten Attribute, ist sie hingegen negativ, sind die Attribute voneinander unabhängig. In der Spalte „K ∗ “ ist der Wert für den normierten Kontingenzkoeffizienten angegeben, in der Spalte Dep( A, B) der entsprechende Wert für das Maß Dep( A, B) zur Beurteilung der Korrelation zwischen den Attributen. Action-Thriller Ref. 1 1 1 Clusterattribute Rating Kontinent Kontinent #Cluster 3 2 3 IW 0,00 0,27 0,27 <1 25% 60% 60% χ2 5.567 7.622 7.622 χ2Ref. 1.049 3.055 3.055 χ2Diff. 4.518 4.567 4.567 K∗ 0,804 0,77 0,77 Dep(A,B) 1,22 1,3 1,3 Tabelle 6.1: Ergebnisse der Korrelationsanalyse (Action-Thriller [1]) Ref. 2 2 2 2 2 2 Clusterattribute Budget Rating Dekade Kontinent Kontinent Budget, Kontinent #Cluster 3 3 3 4 3 3 IW 0,56 0,75 0,88 1,02 1,10 0,37 <1 5% 25% 55% 60% 60% 90% χ2 10.038 5.108 15.048 6.979 6.979 39.445 χ2Ref. 1.854 948 2.305 2.754 2.754 14.768 χ2Diff. 8.184 4.160 12.743 4.225 4.225 24.677 K∗ 0,879 0,823 0,922 0,786 0,786 0,944 Dep(A,B) 1,37 1,25 1,77 1,33 1,33 1,71 Tabelle 6.2: Ergebnisse der Korrelationsanalyse (Action-Thriller [2]) Blockbuster (USA) Ref. 3 3 3 3 3 Clusterattribute Dekade Rating Genre Dekade, Genre Genre, Rating #Cluster 3 3 3 3 3 IW 0,71 1,15 1,34 0,99 1,15 <1 5% 15% 80% 100% 90% χ2 16.134 1.691 15.825 85.795 30.444 χ2Ref. 2.176 462 8.912 51.864 18.113 χ2Diff. 13.958 1.229 6.913 33.931 12.331 K∗ 0,931 0,655 0,868 0,97 0,922 Dep(A,B) 1,5 0,89 1,62 1,87 1,77 Tabelle 6.3: Ergebnisse der Korrelationsanalyse (Blockbuster) 6 Die Freiheitsgrade ergeben sich aus den Attributwerten der Clusterattribute und des Attributs „Schauspieler“. 73 6 Automatisierung des „Kombinierten Data Mining“ Deutsche Filme Ref. 4 4 4 4 4 4 4 4 4 4 4 Clusterattribute Dekade Typ Typ Genre Rating Dekade, Rating Dekade, Rating Rating, Typ Rating, Typ Rating, Typ Rating, Typ IW 2,14 2,63 2,63 2,83 3,03 2,59 2,63 2,63 3,23 3,40 3,44 #Cluster 3 3 5 3 3 5 3 2 3 4 5 <1 35% 35% 35% 85% 30% 80% 80% 70% 70% 70% 70% χ2 8.287 4.097 4.097 9.166 2.196 20.339 20.339 7.972 7.972 7.972 7.972 χ2Ref. 1.452 601 601 5.633 601 4800 4800 2.013 2.013 2.013 2.013 K∗ 0,943 0,937 0,937 0,893 0,803 0,962 0,962 0,915 0,915 0,915 0,915 χ2Diff. 6.835 3.496 3.496 3.533 1.595 15.539 15.539 5.959 5.959 5.959 5.959 Dep(A,B) 1,56 1,43 1,43 1,58 1,22 1,91 1,91 1,84 1,84 1,84 1,84 Tabelle 6.4: Ergebnisse der Korrelationsanalyse (Deutsche Filme) Deutsche Filme mit Budget Ref. 5 5 5 5 5 5 5 Clusterattribute Budget Budget Budget Typ Rating Rating, Typ Rating, Typ #Cluster 4 2 3 3 3 5 3 IW 10,93 12,58 13,25 15,56 17,55 15,56 17,55 <1 10% 10% 10% 65% 35% 65% 65% χ2 359 359 359 30 104 135 135 χ2Ref. 69 69 69 38 38 84 84 χ2Diff. 290 290 290 -8 66 51 51 K∗ 0,951 0,951 0,951 0,524 0,806 0,773 0,773 Dep(A,B) 1,44 1,44 1,44 2,69 1,72 2,65 2,65 Tabelle 6.5: Ergebnisse der Korrelationsanalyse (Deutsche Filme (mit Budget)) Europäische Filme Ref. 6 6 6 6 6 6 6 6 6 Clusterattribute Dekade Jahr Budget Land Land Rating Budget, Rating Dekade, Rating Land, Rating #Cluster 3 3 3 2 3 3 3 3 3 IW -0,34 -0,34 -0,20 0,30 0,47 0,57 -0,20 0,27 0,47 <1 15% 90% 0% 85% 85% 25% 40% 50% 95% χ2 21.896 148.372 15.517 51.571 51.571 6.866 43.901 51.596 109.116 χ2Ref. 1.694 18.232 1.364 12.417 12.417 699 4.636 5.287 4.636 χ2Diff. 20.202 130.140 14.153 39.154 39.154 6.167 39.265 46.309 104.480 K∗ 0,925 0,98 0.893 0,936 0,936 0,811 0,945 0,953 0,967 Tabelle 6.6: Ergebnisse der Korrelationsanalyse (Europäische Filme) 74 Dep(A,B) 1,49 1,95 1,34 1,96 1,96 1,21 1,77 1,8 2,18 6 Automatisierung des „Kombinierten Data Mining“ Komödien / Familienfilme Ref. 7 7 7 7 7 7 7 7 Clusterattribute Budget Kontinent Dekade Budget Jahr Budget Rating Budget, Rating #Cluster 4 3 3 3 3 2 3 3 IW -0,17 0,04 0,29 0,37 0,41 0,52 0,77 0,37 <1 20% 65% 60% 20% 100% 20% 30% 80% χ2 8.992 8.173 15.597 8.992 91.372 8.992 5.381 29.536 χ2Ref. 2486 3.092 3.092 2486 33.036 2486 1.267 8.515 χ2Diff. 6.506 5.081 12.505 6.506 58.336 6.506 4.114 21.021 K∗ 0,873 0,839 0,936 0,873 0,979 0,873 0,851 0,947 Dep(A,B) 1,31 1,39 1,5 1,31 2,02 1,31 1,21 1,78 Tabelle 6.7: Ergebnisse der Korrelationsanalyse (Komödien / Familienfilme) 6.5 Auswertung der Ergebnisse Die durchgeführten Experimente haben gezeigt, dass die am Anfang des Kapitels aufgestellte These in dieser Form nicht bestätigt werden kann. Wenn für das Clustering der Daten diejenigen Attribute verwendet werden, welche am stärksten mit dem Assoziationsattribut korrelieren, werden in den meisten Fällen ungeeignete, zumindest aber nicht die am besten geeigneten Attribute ausgewählt. Für jedes Attribut wurden drei unterschiedliche Maße zum Messen der Korrelation berechnet. In Tabelle 6.8 sind die Attribute, welche bzgl. des Maßes IW das beste Ergebnis erzielt haben, und die Attribute, die bzgl. der verschiedenen Maße die stärkste Korrelation ergeben haben, einander gegenübergestellt. Die Attribute sind nach dem Ergebnis bzgl. der verwendeten Maße sortiert, so dass das Attribut, welches in Bezug auf das entsprechende Maß den besten Wert erzielt hat, auch an erster Stelle steht. Die Spalten der Tabelle haben folgende Bedeutung: Die Spalte „Quelle“ beinhaltet den Namen der verwendeten Datengrundlage. Die Spalte „IW“ beinhaltet die Clusterattribute, die bzgl. des Maßes IW das beste Ergebnis beim „Kombinierten Data Mining“ ergeben haben. Die Spalten „χ2Diff. “, „K ∗ “ und „Dep(A,B)“ enthalten die Attribute, die für das Clustering verwendet würden, wenn jeweils die Attribute, welche bzgl. des entsprechenden Maßes die stärkste Korrelation aufweisen, gewählt würden. Diese Ergebnisse zeigen, dass die am besten geeigneten Clusterattribute nicht gefunden werden, wenn die Attribute ausgewählt werden, welche die stärkste Korrelation mit dem Assoziationsattribut aufweisen. Im besten Fall (Dep( A, B)) werden vier der 15 am besten geeigneten Attribute auf diese Weise gefunden. In den anderen beiden Fällen werden sogar nur 3 von 15 Attributen für ein Clustering vorgeschlagen. Dieser Ansatz ist also nicht zur Automatisierung des „Kombinierten Data Mining“ geeignet. Die Experimente haben allerdings gezeigt, dass Attribute, die nur eine geringe Korrelation mit dem Assoziationsattribut aufweisen, gute Kandidaten für das Clustering darstellen. Auf Grund der Datengrundlage konnte jedoch nicht geklärt werden, ob dies auch für Attribute gilt, die nicht mit dem Assoziationsattribut korrelieren (χ2 < χ2Ref. ), da nur eines der untersuchten Attribute keine Korrelation mit dem Assoziationsattribut aufgewiesen hat. Vermutlich tritt aber eine Verschlechterung der Ergebnisse ein, wenn Attribute verwendet werden, die nicht mit dem Assoziationsattribut korrelieren, da es sich bei der Aufteilung der Daten in diesem Fall um eine willkürliche Aufteilung handelt. 75 6 Automatisierung des „Kombinierten Data Mining“ K∗ χ2Diff. IW Quelle Dep(A,B) Action-Thriller (1) Kontinent Rating Rating Kontinent Action-Thriller (2) Kontinent Dekade, {Budget, Kontinent} Dekade {Budget, Kontinent} Dekade {Budget, Kontinent} Blockbuster Genre, Rating Deutsche Filme {Rating, Typ}, Rating, Genre Rating, {Rating, Typ} Rating, (Dekade), (Jahr) Rating, (Jahr), Budget {Dekade, Genre}, Dekade {Dekade, Rating}, Dekade Budget, Rating {Dekade, Genre}, Dekade {Dekade, Rating}, Dekade Budget, Rating Jahr, {Land, Rating} Jahr, {Budget, Rating} Jahr, {Land, Rating} Jahr, {Budget, Rating} {Dekade, Genre}, {Genre, Rating} {Dekade, Rating}, {Rating, Typ} Typ, {Rating, Typ} {Land, Rating}, Land Jahr, {Budget, Rating} Deutsche Filme mit Budget Europäische Filme Komödien Tabelle 6.8: Ausgewählte Clusterattribute mit der stärksten Korrelation Aus diesem Grund sollen im Folgenden für die Auswahl der besten Clusterattribute nur Attribute betrachtet werden, die mit dem Assoziationsattribut korrelieren. Bei der Verwendung des Maßes K ∗ zur Messung der Korrelation werden 11 der 15 besten Attribute zum Clustern der Daten richtig erkannt. In den meisten Fällen stimmt auch die Reihenfolge der Attribute, d. h., das Attribut, welches das beste Ergebnis beim „Kombinierten Data Mining“ bzgl. des Maßes IW erzielt hat, ist auch das Attribut, welches die geringste Korrelation aufweist. Würden zusätzlich zu den identifizierten Attributen auch die möglichen Kombinationen dieser Attribute betrachet, so würden sogar 12 der 15 besten Attribute auf diese Weise identifiziert. Die Auswahl der Attribute mit Hilfe eines anderen Maßes zur Beurteilung der Korrelation würde nur leicht schlechtere Ergebnisse liefern: Würde zur Auswahl das Maß XDiff. verwendet, würden neun der 15 Attribute gefunden (bzw. zehn bei Berücksichtigung von Kombinationen). Bei Verwendung des Maßes Dep( A, B) würden acht der 15 Attribute gefunden. In Tabelle 6.9 sind die Attribute, welche bzgl. des Maßes IW das beste Ergebnis erzielt haben, und die Attribute, die mit dem Assoziationsattribut korrelieren und bzgl. der verschiedenen Maße die schwächste Korrelation ergeben haben, einander gegenübergestellt. Die Spalten haben dieselbe Bedeutung wie in Tabelle 6.8, wobei die Spalten „χ2Diff. “, „K ∗ “ und „Dep(A,B)“ jetzt die Attribute enthalten, die für das Clustering verwendet würden, wenn jeweils die Attribute, welche bzgl. des entsprechenden Maßes die schwächste Korrelation aufweisen, gewählt würden. Im Folgenden soll näher darauf eingegangen werden, weshalb die ursprüngliche These durch die Ergebnisse widerlegt wurde und aus welchen Gründen eine geringere Korrelation zu besseren Ergebnissen beim „Kombinierten Data Mining“ führen kann. Bei den hier durchgeführten Experimenten konnte insgesamt eine sehr starke Korrelation zwischen den Attributen festgestellt werden. Dies bedeutet, dass bestimmte Attributwerte der untersuchten Attribute sehr häufig gemeinsam auftreten, während andere Attributwerte nur sehr selten gemeinsam auftreten. Werden die Daten vor der Assoziationsanalyse mit einem Attribut geclustert, welches sehr stark mit dem Assoziationsattribut korreliert, führt dies dazu, dass nur wenige Transaktionen, die eine Ausnahme zu den Assoziationsregeln darstellen, durch das Clustering einem anderen Cluster zugeordnet werden können. Dies soll an einem Beispiel verdeutlicht werden: 76 6 Automatisierung des „Kombinierten Data Mining“ Quelle χ2Diff. IW K∗ Dep(A,B) Action-Thriller (1) Kontinent Rating Kontinent Rating Action-Thriller (2) Kontinent Rating Kontinent Rating Blockbuster Genre, Rating Rating, Genre Rating, Genre Rating, Dekade, Genre Deutsche Filme {Rating, Typ}, Rating, Genre Rating, {Rating, Typ} Rating, (Dekade), (Jahr) Rating, (Jahr), Budget Rating, Typ, Genre Rating, Genre Rating, Typ Typ, Rating Typ, Rating Budget, Rating Rating, Budget, Dekade Rating, Kontinent, Budget Rating, Budget, Dekade Kontinent, Rating, Budget Rating, Budget, Dekade Rating, Budget Deutsche Filme (Budget) Europäische Filme Komödien Tabelle 6.9: Ausgewählte Clusterattribute mit der schwächsten Korrelation Gegeben seien die drei Schauspieler S1 , S2 und S3 , die Filme in den 60er und 70er Jahren gedreht haben. In diesem ersten Fall gelte weiterhin, dass die Schauspieler S1 und S2 in den 60er Jahren 50 Filme gemeinsam produziert haben. Die restlichen Anzahlen ergeben sich aus der Kontingenztafel in Abbildung 6.7. Abbildung 6.7: Kontingenztafel mit starker Korrelation Die Korrelation K ∗ zwischen den Attributen „Schauspieler“ und „Dekade“ ist in diesem Beispiel K ∗ = 1. Betrachtet werden die beiden Assoziationsregeln S1 ⇒ S2 (Confidence = 50%) und S1 ⇒ S3 (Confidence = 0%). Ein Clustering nach dem Attribut „Dekade“ bewirkt in diesem Beispiel keine Veränderung der Confidence der Regeln. Somit tritt in diesem Beispiel auch keine Verbesserung durch das „Kombinierte Data Mining“ bzgl. des Maßes IW ein. Im zweiten Fall seien wieder die selben drei Schauspieler gegeben, die Filme in den 60ern und 70ern gedreht haben. Weiterhin gelte in diesem Beispiel, dass die Schauspieler S1 und S2 50 Filme und die Schauspieler S1 und S3 25 Filme miteinander produziert haben. Die restlichen Anzahlen ergeben sich wieder aus der Kontingenztafel in Abbildung 6.8. Die Korrelation K ∗ zwischen den Attributen „Schauspieler“ und „Dekade“ ist in diesem Beispiel K ∗ = 0, 91, also geringer als im ersten Fall. Betrachtet werden wieder die beiden Assoziationsregeln S1 ⇒ S2 (Confidence = 50%) und S1 ⇒ S3 (Confidence = 25%), wobei die zweite Assoziationsregel in diesem Fall eine Confidence von 25% besitzt. Ein Clustering mit dem Attribut „Dekade“ bewirkt in diesem Fall eine Steigerung der Confidence der ersten Regel um 17% auf 67% und der zweiten Regel um 75% auf 100%. Die Steigerung der Confidence dieser beiden Regeln würde gleichzeitig eine Erhöhung des Maßes IW bewirken. 77 6 Automatisierung des „Kombinierten Data Mining“ Abbildung 6.8: Kontingenztafel mit schwächerer Korrelation Der Grund für diese Ergebnisse liegt wie bereits angesprochen darin, dass im ersten Fall die Korrelation so stark ist, dass durch das Clustering keine weitere Verbesserung der Confidence der Assoziationsregeln möglich ist, da keine Ausnahmen durch das Clustering einem anderen Cluster zugeordnet werden können. Im zweiten Fall, in dem die Korrelation zwischen den Attributen geringer ist, existieren hingegen Transaktionen, die eine Ausnahme zu den untersuchten Assoziationsregeln darstellen. Ein Aufteilung der Daten mit Hilfe dieses Attributes kann also eine Verbesserung der Confidence der Regeln bewirken und damit eine Verbesserung des Maßes IW. Ist die Korrelation zwischen zwei Attributen hingegen zu gering, dann handelt es sich beim Clustering um eine willkürliche Aufteilung der Daten. Auch in diesem Fall ist vermutlich keine Verbesserung des Maßes IW zu erwarten. Zur Automatisierung des „Kombinierten Data Mining“ werden im Folgenden jeweils die Attribute mit der minimalen Korrelation ausgewählt, die mit dem Assoziationsattribut korrelieren. Sollte keines der untersuchten Attribute mit dem Assoziationsattribut korrelieren (χ2 < χ2Ref. ), werden die Attribute verwendet, welche die stärkste Korrelation aufweisen (max (χ2 )). 78 7 Vorstellung der Anwendung ”Easy Mining” Das Kapitel „Vorstellung der Anwendung EasyMining“ gliedert sich in vier Abschnitte. Im ersten Teil werden Grundzüge der Anwendung „Easy Mining“ und die verschiedenen Schritte zur Durchführung des automatisierten „Kombinierten Data Mining“ vorgestellt. Im zweiten Abschnitt wird die zur Verfügung stehende Benutzerschnittstelle präsentiert und der Aufruf der Anwendung beschrieben. Der dritte Abschnitt behandelt die Architektur der Anwendung und die Funktion der einzelnen Klassen und Methoden. Im letzten Abschnitt werden die Anforderungen an die Daten formuliert. Diese müssen im Rahmen des Preprocessing erfüllt werden, damit die Anwendung „Easy Mining“ ein Data Mining durchführen kann. 7.1 Einleitung „Easy Mining“ ist eine Anwendung zur Durchführung eines (semi-)automatischen „Kombinierten Data Mining“. Die Anwendung wählt hierzu u. a. die am besten geeigneten Clusterattribute aus einer vom Benutzer spezifizierten Liste von Attributen aus und führt anschließend das Clustering der Daten und eine Assoziationsanalyse für jeden der entstandenen Cluster automatisch aus. 7.1.1 Schritte des automatischen Kombinierten Data Mining“ ” Der Prozess des automatischen „Kombinierten Data Mining“ kann in sechs Schritte aufgeteilt werden: 1. Bereitstellung der benötigten Daten durch den Benutzer 2. Berechnung der Korrelation 3. Auswahl der Clusterattribute 4. Clustering 5. Assoziationsanalyse 6. Präsentation der Ergebnisse Bereitstellung der benötigten Daten durch den Benutzer Der Benutzer stellt die für das automatische „Kombinierte Data Mining“ benötigten Daten zur Verfügung: Hierzu gehören die für das „Kombinierte Data Mining“ zu verwendenden Tabellen, die Attribute, die bei der Ermittlung der besten Clusterattribute berücksichtigt werden sollen, und das Attribut, welches für die Assoziationsanalyse zu verwenden ist. Darüber hinaus muss der Benutzer die gewünschte Clusteranzahl und die Anzahl der Attribute, für welche ein Clustering und eine Assoziationsanalyse durchgeführt werden soll, spezifizieren. Für die Assoziationsanalyse ist außerdem die Angabe der Werte für die minimale Confidence und den minimalen Support erforderlich. 79 7 Vorstellung der Anwendung ”Easy Mining” Zu den verwendeten Tabellen gehört zunächst die Tabelle, welche die Informationen zum Clustern der Daten enthält. Diese besteht aus einer eindeutigen ID zur Identifizierung der Datensätze und aus den zu untersuchenden potentiellen Clusterattributen. Des Weiteren muss der Benutzer die Tabelle mit den Transaktionen für die Assoziationsanalyse angegeben. Diese besteht ebenfalls aus einer eindeutigen ID und einem Attribut, welches die Items der Transaktionen enthält. Die Zuordnung der Datensätze in den beiden Tabellen erfolgt über eine einheitliche ID. Bei den beiden Tabellen kann es sich auch um zwei unterschiedliche Sichten auf dieselbe Tabelle handeln. Es wird davon ausgegangen, dass die Daten in den Tabellen richtig selektiert sind und dass das Preprocessing bereits vom Benutzer durchgeführt wurde. Eine Transformation der Transaktionen in die benötigte Form kann von der Anwendung „Easy Mining“ automatisch durchgeführt werden. Die Angabe der zu untersuchenden potentiellen Clusterattribute ermöglicht es dem Benutzer, auf diese Attribute einzuwirken. Auf diese Weise kann der gesamte Prozess beschleunigt werden, indem Vorwissen des Benutzers in den Prozess einfließt. Es können aber auch Attribute untersucht werden, die eigentlich nicht zu den besten Clusterattributen gehören. Berechnung der Korrelation / Auswahl der Clusterattribute Im zweiten Schritt des Prozesses zur Durchführung des automatischen „Kombinierten Data Mining“ wird die Korrelation zwischen den potentiellen Clusterattributen und dem Assoziationsattribut berechnet. Zur Bewertung der Korrelation wird der normierte Kontingenzkoeffizient K ∗ verwendet. Anhand der Ergebnisse der Korrelationsanalyse werden die Attribute sortiert und die besten n Attribute ausgewählt. Die Anzahl n wird hierbei vom Benutzer des Systems spezifiziert. Ausgewählt werden jeweils die Attribute, welche mit dem Assoziationsattribut korrelieren und eine möglichst geringe Korrelation aufweisen. Existieren keine Attribute, die mit dem Assoziationsattribut korrelieren, werden die Attribute mit der maximalen Korrelation ausgewählt. Bisher werden in der hier vorgestellten Anwendung nur einzelne Attribute bei der Auswahl der besten Clusterattribute berücksichtigt. Sollen auch Kombinationen von Attributen betrachtet werden, müssen die Attribute bei der Vorbereitung der Daten vom Benutzer zu einem Attribut zusammengefasst werden. Clustering / Assoziationsanalyse / Präsentation der Ergebnisse Für die n besten Clusterattribute wird ein Clustering der Daten und für jeden der erzeugten Cluster eine Assoziationsanalyse durchgeführt. Im Anschluss werden die Ergebnisse präsentiert. Hierbei handelt es sich insbesondere um die gefundenen Assoziationsregeln und den Wert des Maßes IW. 7.1.2 Weitere Funktionen der Anwendung Easy Mining“ ” Mit Hilfe der Anwendung „Easy Mining“ können neben dem automatischen „Kombinierten Data Mining“ auch ein herkömmliches Data Mining und ein einfaches „Kombiniertes Data Mining“ durchgeführt werden. Bei letzterem werden die zu verwendenden Clusterattribute nicht automatisch von der Anwendung „Easy Mining“ ermittelt, sondern vom Benutzer spezifiziert. 80 7 Vorstellung der Anwendung ”Easy Mining” 7.2 Benutzerschnittstellen In der aktuellen Version der Anwendung „Easy Mining“ erfolgt die Bedienung über Konfigurationsdateien. Eine spätere Erweiterung auf eine graphische Oberfläche wurde beim Entwurf der Anwendung jedoch schon berücksichtigt. Die Ergebnisse des Data Mining werden direkt in der Kommandozeile ausgegeben. Die Ausgabe der Ergebnisse in eine Datei ist mittels der Ausgabeumleitung („>“) möglich. Zur Verwendung der Anwendung „Easy Mining“ werden ein Datenbank-Treiber (für Oracle), eine Datei „weka.jar“ mit der Weka-Anwendung und eine Datei „DatabaseUtils.props“ mit den Datenbankeinstellungen benötigt. Bei der Anwendung „Weka“ handelt es sich um eine „Open Source“Anwendung der Universität Waikato, Neuseeland. Diese stellt verschiedene Data Mining-Algorithmen zur Verfügung, die von der Anwendung „Easy Mining“ u. a. zum Clustern der Daten und zur Berechnung der Assoziationsregeln verwendet werden. 7.2.1 Konfigurationsdatei Bei der Entwicklung der Anwendung „Easy Mining“ wurden zunächst Konfigurationsdateien zur Steuerung der Anwendung realisiert. Der Grund hierfür liegt in den relativ langen Laufzeiten der Data Mining-Algorithmen. Konfigurationsdateien ermöglichen es dem Benutzer, verschiedene Dateien mit unterschiedlichen Experimenten vorzubereiten und diese automatisiert (z. B. über Nacht) ablaufen zu lassen. Dies stellt einen entscheidenen Vorteil gegenüber einer graphischen Oberfläche zur Eingabe der Konfigurationsparameter dar. Zur Benutzung der Anwendung „Easy Mining“ mit einer Konfigurationsdatei muss zunächst eine „.cfg“-Datei mit den notwendigen Konfigurationsparametern erstellt werden. Der Aufruf der Anwendung erfolgt wie in Listing 7.1 dargestellt. java core . EasyMining configfile ./ configfile . cfg Listing 7.1: Aufruf der Anwendung „Easy Mining“ mit einer Konfigurationsdatei Eine beispielhafte Konfigurationsdatei ist in Listing 7.2 dargestellt. Kommentare können innerhalb einer Konfigurationsdatei angegeben werden, indem der Kommentarzeile ein # vorangestellt wird. Nicht benötigte Parameter können einfach weggelassen werden. Die Bedeutung der einzelnen Parameter wird im Folgenden kurz erläutert. Zusätzlich ist eine kommentierte Konfigurationsdatei in Abschnitt C.1 des Anhanges zu finden. Im Abschnitt „Allgemeine Einstellungen“ werden zunächst die grundlegenden Einstellungen vorgenommen. Hierzu gehört sowohl der Typ der zu verwendenen Datenquelle als auch die Art des durchzuführenden Data Mining. Der Typ der zu verwendenen Datenquelle wird mit dem Parameter sourcetype festgelegt. Gültige Werte für diesen Parameter sind file, falls die Daten für das Data Mining aus einer Datei eingelesen werden sollen, und oracleDB, falls die Daten aus einer (Oracle-)Datenbank abgefragt werden sollen. Soll ein automatisches „Kombiniertes Data Mining“ durchgeführt werden, müssen die Daten in einer Datenbank gespeichert sein, damit die Berechnung der Korrelation zur Bestimmung des besten Clusterattributs durchgeführt werden kann. Der Parameter dataMiningMethod wurde für zukünftige Erweiterungen der Anwendung „Easy Mining“ eingeführt. Mit diesem Parameter wird festgelegt, welche Data Mining-Methode angewendet werden soll. Zum jetzigen Zeitpunkt ist der einzige gültige Wert asso, zur Durchführung 81 7 Vorstellung der Anwendung ”Easy Mining” # Allgemeine Einstellungen sourcetype = file dataMiningMethod = asso # Da t en ba n kz ug a ng s da te n username = username password = password # Clustering makeClustering = true clusteranzahl = 3 clustersource = ./ clustersource clusterattribute = a1 , a2 , a3 , a4 , a5 a u to F i n d Be s t A t tr i b u te s = true NBestAttributes = 1 # # Assozia tionsan alyse assosource = ./ assosource assoPrepared = false support = 0.5 confidence = 0.8 s a ve I n t e rm e d i a te R e s ul t = true s a v e I n t e r m e d i a t e R e s u l t A s = ./ intermediateResult Listing 7.2: Konfigurationsdatei einer Assoziationsanalyse. In späteren Versionen könnte die Anwendung z. B. um die Data MiningMethode „Klassifikation“ erweitert werden, um weitere Experimente zur Kombination aus Clustering und Klassifikation durchzuführen. Die Parameter im Abschnitt „Datenbankzugangsdaten“ müssen nur angegeben werden, falls die Daten für das Data Mining aus einer Datenbank abgefragt werden. In diesem Fall müssen die Datenbankzugangsdaten in der Konfigurationsdatei angegeben werden. Hierzu gibt es die Parameter username und password, die den Benutzernamen und das Datenbankpasswort des Benutzers festlegen. Im Abschnitt „Clustering“ werden die für das Clustering notwendigen Einstellungen vorgenommen. Hierzu wird zunächst mittels des Parameters makeClustering (true|false) festgelegt, ob überhaupt ein Clustering durchgeführt werden soll oder ob es sich bei dem durchzuführenden Data Mining um ein herkömmliches Data Mining handeln soll. Ist dieser Parameter in der Konfigurationsdatei nicht enthalten, wird er auf „false“ gesetzt. Die Parameter clusteranzahl, clustersource, clusterattribute, autoFindBestAttributes und NBestAttributes müssen nur festgelegt werden, wenn die Daten vor dem eigentlichen Data Mining geclustert werden sollen, also nur, wenn ein (automatisches) „Kombiniertes Data Mining“ durchgeführt werden soll. Mit dem Parameter clusteranzahl wird die Anzahl der zu erzeugenden Cluster definiert. Der Parameter clustersource definiert die Datenquelle, die für das Data Mining genutzt werden soll. Hierbei kann es sich entweder um einen Pfad zu einer „arff“-Datei1 oder um eine Datenbankanfrage handeln. Der Parameter clusterattribute legt die Attribute fest, welche für das Clustering der Daten verwendet werden. Sollen mehrere Attribute zum Clustern der Daten verwendet werden, können diese als kommagetrennte Liste angegeben werden. Der Parameter 1 Das „arff“-Dateiformat (Attribute-Relation File Format) ist das Dateiformat des Weka-Projektes zur Speicherung von Relationen. 82 7 Vorstellung der Anwendung ”Easy Mining” autoFindBestAttributes (true|false) entscheidet, ob es sich bei den angegebenen Attributen schon um die endgültigen Attribute zum Clustern der Daten handelt oder ob es sich um die Attribute handelt, aus denen die besten n Attribute zum Clustern der Daten ausgewählt werden sollen. Falls die Attribute automatisch ausgewählt werden sollen, kann die Anzahl der zu wählenden Attribute n mit dem Parameter NBestAttributes festgelegt werden. Im Abschnitt „Assoziationsanalyse“ werden die Einstellungen für die Assoziationsanalyse vorgenommen. Hierzu muss zunächst eine Datenquelle für die Assoziationsanalyse definiert werden. Dies geschieht mit dem Parameter AssosourceName. Angegeben werden kann, genauso wie bei der Datenquelle für das Clustering, der Pfad zu einer „arff“-Datei oder ein SQL-Statement. Der Parameter assoPrepared (true|false) gibt an, ob die Daten bereits vorbereitet sind, d. h., ob sie bereits als Transaktionsmatrix vorliegen. Ist dieser Parameter in der Konfigurationsdatei nicht enthalten, wird er auf false gesetzt. In den meisten Fällen werden die Eingabedaten nicht als Transaktionsmatrix vorliegen und somit nicht vorbereitet sein. Eine Ausnahme stellen Zwischenergebnisse dar, die mit der Anwendung „Easy Mining“ gespeichert wurden. Denn diese werden als Transaktionsmatrix gespeichert und müssen nicht nochmals in eine Transaktionsmatrix umgewandelt werden. Mit Hilfe der Parameter confidence und support werden die Confidence- bzw. die Supportwerte für die Assoziationsanalyse definiert. Die Parameter saveIntermediateResult (true|false) und saveIntermediateResultsAs geben an, ob und wo Zwischenergebnisse gespeichert werden sollen. Bei den Zwischenergebnissen handelt es sich um die in eine Transaktionsmatrix umgewandelten Eingabedaten. Ist dieser Parameter in der Konfigurationsdatei nicht enthalten, wird er auf false gesetzt. Der Parameter saveIntermediateResultsAs enthält einen gültigen Pfad (inkl. Dateinamen), an dem die Zwischenergebnisse als „arff“-Datei gespeichert werden. In Listing 7.3 ist eine beispielhafte Konfigurationsdatei dargestellt, wie sie für die Berechnung der Ergebnisse in Kapitel 5 verwendet wurde. # Allgemeine Einstellungen sourcetype = oracleDB dataMiningMethod = asso # Da t en ba n kz ug a ng s da te n username = mewe password = ***** # Clustering makeClustering = true clusteranzahl = 3 clustersource = select distinct id , min ( decade ) as decade , min ( rating ) as rating from german_movies group by id clusterattribute = rating # # Assozia tionsan alyse assosource = select distinct id , name from german_actor where credit_pos <= 3 order by id assoPrepared = false support = 0.002 confidence = 0.5 Listing 7.3: Konfigurationsdatei 83 7 Vorstellung der Anwendung ”Easy Mining” TransaktionsID 1 1 1 1 ... m ... m Transaktionselement item11 item12 ... item1n ... itemm1 ... itemmo Tabelle 7.1: Format von Transaktionen 7.2.2 Anforderungen an die Daten Zur Durchführung des „Kombinierten Data Mining“ gibt es verschiedene Anforderungen an die zugrunde liegenden Daten: Das Attribut, welches die eindeutige ID zur Zuordnung von Clusterdaten und Transaktionen enthält, muss in beiden Tabellen mit „ID“ bezeichnet sein. Die Transaktionen müssen entweder als Transaktionsmatrix oder als (zweispaltige) Tabelle vorliegen. Im zweiten Fall beinhaltet die erste Spalte die TransaktionsID zur Identifizierung der Transaktionen und die zweite Spalte die einzelnen Items der Transaktionen (vgl. Tabelle 7.1). 7.2.3 Ausgabe der Anwendung Easy Mining“ ” Die Ausgabe der Anwendung „Easy Mining“ gliedert sich in die vier Abschnitte „Attributauswahl“, „Clustering“, „Assoziationsanalyse“ und „Bewertung des Ergebnisses“. Im Abschnitt „Attributauswahl“ wird eine Liste der zu untersuchenden Attribute und eine Liste der für das Clustering ausgewählten Attribute ausgegeben. Im Abschnitt „Clustering“ wird eine Beschreibung der Eingabetupel, das Clusterattribut und die Anzahl der erzeugten Cluster ausgegeben. Im Anschluss folgt eine Beschreibung der erzeugten Cluster. Hierbei wird für jedes numerische Clusterattribut der Wertebereich und für jedes kategorische Clusterattribut eine Liste der im Cluster enthaltenen Werte ausgegeben. Im Abschnitt „Assoziationsanalyse“ werden die gefundenen Assoziationsregeln ausgegeben. Beim „Kombinierten Data Mining“ erfolgt die Ausgabe separat für jeden Cluster. Im letzten Abschnitt der Ausgabe, dem Abschnitt „Bewertung des Ergebnisses“ werden die Werte für die Maße IW (realer Komprimierungsgewinn) und IW 0 (Komprimierungsgewinn) ausgegeben. In allen Abschnitten erfolgen zusätzlich verschiedene Statusausgaben. Eine beispielhafte Ausgabe ist in Anhang D zu finden. 7.3 Implementierung In diesem Abschnitt wird die Implementierung der Anwendung „Easy Mining“ vorgestellt. Die dazugehörigen Klassendiagramme und das Aktivitätsdiagramm sind in den Abbildungen 7.1, 7.2 und 7.3 dargestellt. Im Klassendiagramm in Abbildung 7.1 sind die Packages, Klassen und Methoden der Anwendung „Easy Mining“ dargestellt. Auf die Darstellung der Attribute wurde aus Gründen der Übersichtlichkeit an dieser Stelle verzichtet. Ebenfalls nicht dargestellt ist die Klasse „Utilities“, die Hilfsfunktionen zur Verfügung stellt, welche von allen Klassen des Packages „EasyMining.core“ verwendet werden. In Abbildung 7.2 wurde zusätzlich auf die Darstellung der Methoden der Anwendung „Easy Mining“ verzichtet. Das Aktivitätsdiagramm in Abbildung 7.3 zeigt die möglichen Abläufe der Anwendung „Easy Mining“. 84 <<interface>> Input EasyMiningProperties(configfilePath : String) : void EasyMiningProperties getSourcetype() : String getUsername() : String getPassword() : String makeClustering() : boolean getDataMiningMethod() : String getClustersource() : String getClusteranzahl() : int getClusterattributes() : String autoFindBestAttributes() : boolean getNBestAttributes() : int getAssosourceName() : String assoPrepared() : boolean getSupport() : double getConfidence() : double saveIntermediateResult() : boolean saveIntermediateResultsAs() : String EasyMining.Input Mining(input : Input) : void startMining() : void Mining main(args : String[]) : void EasyMining EasyMining.core 85 createInstances(sourcetype : String,sourcename : String,username : String,password : String) : Instances safeInstances(inst : Instances,path : String) : void describeInstances(instArray : Instances[]) : void splitInstances(splitinfo : Instances,splitdata : Instances) : Instances[] createTMatrix(unprepared : Instances) : Instances prepareInstancesForClustering(inst : Instances) : Instances sortString(str : String) : String Dataset Association(data : Instances) : void createRules(support : double,confidence : double) : void getRules() : Vector printRules() : void printStatsAndRules() : void estimateRuleSet() : int[] convertRules(str : String) : String containsAllElements(str1 : String,str2 : String) : boolean Association Cluster(data : Instances,clusterattribute : String) : void createCluster(clusteranzahl : int) : void getCluster() : Instances getClusters() : Instances[] printCluster() : void printClusterStats(verbose : boolean) : void Cluster ClusterAttributes(sourcetype : String,sourcename : String,username : String,password : String) : void findBestClusterattributes(clusterattributes : String,bestN : int) : String[] ClusterAttributes ChiSquare(sourcetype : String,sourcename : String,username : String,password : String) : void calculateCorrelation(attribute1 : String,attribute2 : String) : double[] poz(z : double) : double ex(x : double) : double pochisq(x : double,df : int) : double critchi(p : double,df : int) : double ChiSquare Apriori weka.associations ClusterEvaluation SimpleKMeans weka.clusterers 7 Vorstellung der Anwendung ”Easy Mining” Abbildung 7.1: Klassendiagramm der Anwendung „Easy Mining“ 7 Vorstellung der Anwendung ”Easy Mining” EasyMining.core EasyMining ChiSquare EasyMining.Input <<interface>> Input Mining ClusterAttributes weka.clusterers SimpleKMeans EasyMiningProperties Cluster ClusterEvaluation Association weka.associations Dataset Apriori Abbildung 7.2: Klassendiagramm der Anwendung „Easy Mining“ (ohne Methoden) Zum Clustern der Daten und zur Durchführung der Assoziationsanalyse werden Algorithmen der „Open Source“-Anwendung Weka (Version 3.5.6) der Universität Waikato, Neuseeland, verwendet. Damit diese Algorithmen verwendet werden können, wird außerdem für die (interne) Darstellung der Daten auf die Datenstrukturen des Weka-Projekts zurückgegriffen. Im Klassendiagramm sind nur die wichtigsten verwendeten Klassen dargestellt: So wurde z. B. auf die Darstellung der Klassen „Instances“ und „Attribut“ verzichtet, die nur zur Behandlung der internen Darstellung verwendet werden. Auf die Klassen des Weka-Projektes wird im Folgenden nicht näher eingegangen, sondern auf die entsprechende Dokumentation verwiesen (siehe [Weka07a] und [Weka07b]). Beim Entwurf der Anwendung „Easy Mining“ wurde darauf geachtet, dass zukünftige Erweiterungen einfach in die bestehende Anwendung integriert werden können. Sollen z. B. weitere Benutzerschnittstellen zur Verfügung gestellt werden, so muss lediglich das Interface „Input“ implementiert werden und der Aufruf der Benutzerschnittstelle über die Klasse „EasyMining“ erfolgen. Bei der Auswahl der zu konfigurierenden Parameter wurde ebenfalls auf zukünftige Erweiterungen Rücksicht genommen. Darüber hinaus ist eine Erweiterung auf andere Datenquellen genauso möglich wie die Integration weiterer Data Mining-Verfahren. Um weitere Verfahren zu integrieren, muss lediglich eine entsprechende Klasse zur Anwendung „Easy Mining“ hinzugefügt werden und die Klasse „Mining“, die den Ablauf des Data Mining steuert, entsprechend angepasst werden. Im Folgenden wird auf die wichtigsten Klassen und Methoden näher eingegangen. EasyMining Die Klasse „EasyMining“ ist die Startklasse der Anwendung „Easy Mining“. Sie wertet die übergebenen Startparameter aus (vgl. Abschnitt 7.2.1), stellt eine Verbindung zur Benutzerschnittstelle her und startet das Data Mining. Input Das Interface „Input“ stellt die Schnittstelle zwischen der Klasse „Mining“ und der Benutzerschnittstelle dar. Die Klasse „Mining“ greift lediglich auf die vom Interface definierten (get-)Methoden zu, 86 7 Vorstellung der Anwendung ”Easy Mining” EasyMining KonfigurationsDatei makeClustering=false Mining starten makeClustering=true autoFindBestAttr.=true autoFindBestAttr.=false Erzeuge Dataset für Korr.analyse .... Erzeuge Dataset für Korr.analyse Berechne Korrelation .... Berechne Korrelation Erzeuge Dataset für Transaktionen / Transaktionsmatrix Assoziationsanalyse Auswahl der besten Attribute Clusterdaten .... .... Erzeuge Dataset für Transaktionen / Transaktionsmatrix Transaktionen Assoziationsanalyse Bewertung der Mengen von Assoziationsregeln Erzeuge Dataset für Clustering Clustern der Daten Abbildung 7.3: Aktivitätsdiagramm der Anwendung „Easy Mining“ um die nötigen Informationen vom Benutzer abzufragen. Die Informationen werden in Form einer Konfigurationsdatei zur Verfügung gestellt, aber auch eine graphische Oberfläche zur Eingabe der Parameter ist denkbar. Die Methode getSourcetype() liefert die Art der zu verwendenden Datenquelle zurück. Gültige Rückgabewerte sind „file“, falls die Daten für das Data Mining aus einer Datei eingelesen werden sollen, und „oracleDB“, falls die Daten aus einer (Oracle-)Datenbank abgefragt werden sollen. Soll ein automatisches „Kombiniertes Data Mining“ durchgeführt werden, müssen die Daten in einer Datenbank gespeichert sein, damit die Berechnung der Korrelation zur Bestimmung des besten Clusterattributs durchgeführt werden kann. Die Methoden getUsername() und getPassword() liefern die notwendigen Benutzerdaten (Benutzername / Passwort) zum Zugriff auf die Datenbank. Die Methode makeClustering liefert einen Wahrheitswert, der angibt, ob die Daten geclustert werden sollen, bevor die Assoziationsanalyse durchgeführt wird. Das Ergebnis dieser Methode bestimmt somit, ob ein herkömmliches Data Mining oder ein „Kombiniertes Data Mining“ durchgeführt wird. Falls ein Clustering durchgeführt wird, liefert die Methode getClustersource() einen Verweis auf die zu clusternden Daten. Hierbei kann es sich entweder um einen Pfad zu einer „arff“-Datei oder um eine Datenbankanfrage handeln. Die Methode getClusteranzahl() liefert die gewünschte Anzahl von Clustern zurück, die beim Clustering gebildet werden. Die Methode getClusterattributes() liefert die Attribute zurück, welche zum Clustern der Daten verwendet werden sollen. Der Rückgabewert der Methode autoFindBestAttributes() entscheidet darüber, ob es sich bei den Clusterattributen schon um die endgültigen Attribute handelt oder ob es sich um die Attribute handelt, aus denen die besten n Attribute zum Clustern der Daten ausgewählt werden sollen. Der Parameter n kann mit Hilfe der Methode getNBestAttributes() abgefragt werden. Die Methode getDataMiningMethod() ist für zukünftige Erweiterungen eingeführt worden. Der Rückgabewert gibt an, welche Data Mining-Methode auf die Daten angewendet werden soll. Bisher ist der einzige gültige Rückgabewert „asso“ für eine Assoziationsanalyse. In folgenden Versionen 87 7 Vorstellung der Anwendung ”Easy Mining” könnten auch andere Data Mining-Methoden implementiert werden, so dass z. B. auch eine Kombination aus Clustering und Klassifikation durchgeführt werden kann. Die Methode getAssosourceName() liefert einen Verweis auf die Daten, welche für die Assoziationsanalyse verwendet werden sollen. Bei dem Rückgabewert kann es sich entweder um einen Pfad zu einer Datei oder um eine Datenbankanfrage handeln. Der Rückgabewert der Methode assoPrepared() zeigt an, ob die Datenquelle bereits für die Assoziationsanalyse vorbereitet ist. Dies wird in den meisten Fällen nicht der Fall sein, es sei denn, es wurden Zwischenergebnisse mit Hilfe der Anwendung „Easy Mining“ gespeichert, die jetzt als Datenquelle verwendet werden. Die Methoden getSupport() und getConfidence liefern die Werte für den minimalen Support bzw. die minimale Confidence zurück. Die Rückgabewerte der Methoden saveIntermediateResult() und saveIntermediateResultsAs() geben an, ob und wo Zwischenergebnisse gespeichert werden sollen. EasyMiningProperties Die Klasse „EasyMiningProperties“ implementiert das Interface „Input“. Die Klasse liest die für das Data Mining benötigten Informationen aus einer Konfigurationsdatei ein und macht sie mittels der get-Methoden für die anderen Komponenten der Anwendung „Easy Mining“ zugänglich. Bei der Initialisierung der Klasse muss der Pfad zur Konfigurationsdatei angegeben werden. Dieser wird vom Benutzer beim Aufruf der Anwendung „Easy Mining“ festgelegt. Der genaue Aufbau der Konfigurationsdatei wird in Abschnitt 7.2.1 ausführlich beschrieben. Mining Die Klasse „Mining“ ist die Hauptklasse der Anwendung „Easy Mining“. Sie ist für die Auswertung der Konfigurationsparameter und für die Steuerung des gesamten Data Mining-Prozesses verantwortlich. Die Initialisierung erfolgt durch die Klasse „EasyMining“, die auch den zu verwendenden Input an die Klasse „Mining“ übergibt. Die Methode startMining() startet das eigentliche Data Mining. Der Ablauf des Data Mining wird mit Hilfe der Benutzerschnittstelle vom Benutzer festgelegt. Beim automatischen „Kombinierten Data Mining“ wird von der Methode startMining() die Klasse „Clusterattributes“ aufgerufen, um die besten Clusterattribute zu bestimmen. Im Anschluss wird das Clustering von der Klasse „Cluster“ durchgeführt und es werden die für die Assoziationsanalyse zu verwendenden Daten mit Hilfe der Klasse „Dataset“ anhand des Clusteringergebnisses aufgeteilt. In den letzten Schritten wird die eigentliche Assoziationsanalyse für die einzelnen Cluster durchgeführt, das Maß IW berechnet und die Ergebnisse ausgegeben. Die Ergebnisse bestehen hierbei aus den in den Clustern gefundenen Assoziationsregeln und dem Ergebnis des Maßes IW. Abhängig von den Konfigurationsparametern fallen bestimmte Schritte beim Data Mining weg. Beim „Kombinierten Data Mining“ wird auf die automatische Ermittlung der besten Clusterattribute verzichtet, während beim herkömmlichen Data Mining auf die Ermittlung der besten Clusterattribute und auf das Clustering (inkl. der Aufteilung der Daten) verzichtet wird. Clusterattributes Die Klasse „Clusterattributes“ ist für die Bestimmung der besten Clusterattribute zuständig. Dies geschieht mit Hilfe der Methode findBestClusterattributes(clusterattributes : String, bestN : int). Zur Bestimmung der besten Attribute wird die Korrelation mittels des normierten Kontingenzkoeffizienten zwischen den übergebenen Attributen berechnet. Zurückgeliefert werden die n Attribute, bei denen die Korrelation (bei bestehender Korrelation) am geringsten ist. Sollten hierbei keine n Attribute gefunden werden, werden die Attribute mit der nächstkleineren Korrelation zurückgeliefert. 88 7 Vorstellung der Anwendung ”Easy Mining” ChiSquare Die Klasse „ChiSquare“ stellt Methoden zur Berechnung der Korrelation mittels des χ2 -Verfahrens zur Verfügung. Die Korrelation zwischen zwei Attributen lässt sich mittels der Methode calculateCorrelation( attribute1 : String, attribute2 : String) berechnen. Die Methode liefert einen Array mit drei Doublewerten zurück: An erster Position ist hierbei der berechnete χ2 -Wert gespeichert, an zweiter Position der Referenzwert χ2Ref. und an dritter Position der normierte Kontingenzkoeffizient K ∗ . Die Berechnung des χ2 -Wertes und des normierten Kontingenzkoeffizienten K ∗ für die beiden Attribute erfolgt innerhalb dieser Methode. Die Berechnung des Referenzwertes χ2Ref. erfolgt mit Hilfe der Methode critchi( p : double, d f : int), die Berechnung der Wahrscheinlichkeit des χ2 -Wertes mit Hilfe der Methode pochisq( x : double, d f : int). Die Implementierung dieser Methoden sowie der Hilfsmethoden poz(z : double) und ex( x : double) basiert auf den entsprechenden C-Quellen von Geri Perlman aus dem Jahr 19872 . Cluster Die Klasse „Cluster“ ist für das Clustering der Daten verantwortlich. Bei der Initialisierung müssen die zu clusternden Daten (als Datentyp „weka.Instances“) und die zu verwendenen Clusterattribute angegeben werden. Der Aufruf der Methode createCluster(clusteranzahl : int) bereitet die Daten für das Clustering vor und teilt sie in einzelne Cluster auf. Insgesamt werden maximal clusteranzahl Cluster erzeugt. Zum Clustern der Daten wird der „Simple-k-Means“-Algorithmus verwendet. Dieser wird von der Klasse „weka.clusterers.SimpleKMeans“ zur Verfügung gestellt. Die Methode getCluster() liefert das Ergebnis des Clustering als Datentyp „weka.Instances“ zurück. Die Informationen, welchem Cluster die einzelnen Datensätze zugeordnet wurden, sind hierbei als zusätzliches Attribut in den Daten enthalten. Die Methode getClusters() liefert hingegen ein Array von „weka.Instances“ zurück, wobei jede „weka.Instances“ die Datensätze eines Clusters enthält. Die Methoden printCluster() und printClusterStats(verbose : boolean) dienen der Ausgabe des Ergebnisses. Während die Methode printCluster() die Datensätze und die entsprechenden Clusternummern ausgibt, gibt die Methode printClusterStats(verbose : boolean) Informationen über das durchgeführte Clustering aus. Hierzu gehören Informationen wie die verwendeten Clusterattribute oder die Anzahl der erzeugten Cluster. Diese Informationen werden mit Hilfe der Klasse „weka.clusterers.ClusterEvaluation“ ermittelt. Association Die Klasse „Association“ führt eine Assoziationsanalyse für eine Menge von Transaktionen durch. Diese müssen bei der Initialisierung der Klasse als „weka.Instances“ übergeben werden. Die eigentliche Assoziationsanalyse wird von der Methode createRules(support : int, con f idence : int) unter Zuhilfenahme der Klasse „weka.associations.Apriori“ durchgeführt. Die Methode getRules liefert einen Vektor mit den gefundenen Assoziationsregeln zurück. Jede Regel besteht wiederum aus einem Vektor. Das erste Element des Vektors ist die Prämisse, das zweite die Konklusion und das dritte Element beinhaltet den Confidencewert der entsprechenden Assoziationsregel. Die Methode printRules() ist für die Ausgabe der Assoziationsregeln verantwortlich. Die Methode estimateRuleSet() stellt u. a. alle Informationen zur Verfügung, die zur Berechnung des Maßes IW benötigt werden. Zu den bereitgestellten Informationen gehören die Anzahl der gefundenen Assoziationsregeln, die Anzahl der Transaktionen, die Anzahl der in den Transaktionen enthaltenen Items und der erzielbare Komprimierungsgewinn. Die Berechnung des Maßes IW erfolgt allerdings erst in der Klasse „Mining“, weil sich die Berechnung beim herkömmlichen Data Mining und beim „Kombinierten Data Mining“ unterscheidet. 2 http://www.netlib.org/a/perlman 89 7 Vorstellung der Anwendung ”Easy Mining” Dataset Die Klasse „Dataset“ wird verwendet, um „weka.Instances“ zu erzeugen, zu speichern, zu verändern und zu beschreiben. Mit Hilfe der Methode createInstances(sourcetype : String, sourcename : String, username : String, password : String) können „weka.Instances“ auf einfache Art und Weise erstellt werden. Die Instances können entweder aus einer (arff-)Datei oder aus einer Datenbank erzeugt werden. Angegeben werden müssen hierzu der Sourcetype, der Sourcename und die Datenbankzugangsdaten (Username, Password), falls die Instances aus einer Datenbank erzeugt werden soll. Eine nähere Beschreibung der Parameter ist im Abschnitt über das Interface „Input“ zu finden. Die Methode saveInstances(inst : Instances, path : String) speichert die angegebene Instances an dem angegebenen Ort (path). Um eine Beschreibung für mehrere Instances zu bekommen, kann die Methode describeInstances (instArray : Instances[]) verwendet werden. Für jedes Attribut wird der Name des Attributs und eine Beschreibung der Attributwerte ausgegeben. Bei numerischen Attributen handelt es sich bei den Beschreibungen um eine Angabe des Wertebereichs, bei nominalen Attributen um eine Auflistung der Attributwerte. Diese Funktion wird dafür verwendet, eine Beschreibung der einzelnen Cluster zu erzeugen. Die Methode splitInstances(splitin f o : Instances, splitdata : Instances) teilt eine Instances (splitdata) anhand der Informationen, die in einer anderen Instances (splitin f o) enthalten sind, in mehrere Instances auf. Die Instances splitin f o enthält hierbei mindestens zwei Attribute: eine eindeutige ID und eine Nummer, die die Zugehörigkeit zu einer Instances angibt. Die Instances splitdata enthält die Informationen, die aufgeteilt werden sollen. Im Kontext des „Kombinierten Data Mining“ mit einer Kombination aus Clustering und Assoziationsanalyse beinhaltet die Instances splitin f o das Ergebnis des Clustering: Sie besteht (mindestens) aus der ID des Datensatzes und der Nummer des Clusters, welchem der Datensatz zugeordnet wurde. Sind weitere Attribute enthalten, werden diese ignoriert. Die Instances splitdata enthält die Transaktionen, die anhand des Clusteringergebnisses aufgeteilt werden sollen. Zurückgegeben werden mehrere Instances, nämlich für jeden Cluster eine, die die Datensätze des jeweiligen Clusters enthalten. Die Methode createTMatrix(unprepared : Instances) erzeugt aus einer Menge von Transaktionen eine Transaktionsmatrix. Die Transaktionen müssen hierfür in einem bestimmten Format vorliegen (vgl. Tabelle 7.1). Die Methode prepareInstancesForClustering(inst : Instances) bereitet eine Instances für das Clustering vor. Die Vorbereitung betrifft nur die nominalen Attribute. Bei der Vorbereitung der Daten wird die Reihenfolge von Teilen von Attributwerten verändert. Ist zu einem Film z. B. der Attributwert „Deutschland; USA“ für das Herkunftsland gespeichert, ist dies gleichbedeutend mit dem Attributwert „USA; Deutschland“. Wird allerdings beim Clustering von nominalen Attributen wie in der Weka Implementierung des „Simple-k-Means“-Algorithmus nur überprüft, ob die Attributwerte identisch sind, dann werden die Herkunftsländer „Deutschland; USA“ und „USA; Deutschland“ als unterschiedliche Länder angesehen. Damit dies nicht geschieht, werden die Attributwerte von nominalen Attributen sortiert („USA; Deutschland“ wird zu „Deutschland; USA“). Als Trennzeichen wird das Semikolon verwendet. Zur Sortierung der Attributwerte wird die Methode sortString(str : String) verwendet. Utilities Die Klasse „Utilities“ enthält verschiedene Hilfsfunktionen, die von den Klassen des „EasyMining. core“-Packages verwendet werden. Zu den wichtigsten Methoden gehören die Methoden removeAttributes(instances : Instances, attributes : String, inverse : boolean) und getAttributenames 90 7 Vorstellung der Anwendung ”Easy Mining” (inst : Instances). Die erste Methode löscht Attribute aus einer Instances. Hierzu muss eine Instances, eine Liste von Attributen und ein Wahrheitswert (inverse) angegeben werden. Der Parameter inverse entscheidet darüber, ob die übergebenen Attribute aus der Instances gelöscht werden (inverse = f alse) oder ob alle anderen Attibute gelöscht werden (inverse = true). Die zweite Methode liefert die Attributnamen einer Instances als String zurück. Eine Übersicht über alle Methoden findet sich in Abbildung 7.4. Utilities getPosOfAttribute(inst : Instances,attr : String) : int getRange(inst : Instances,str : String[]) : String removeAttributes(inst : Instances,attributes : String,inverse : boolean) : Instances getEmptyAttributes(inst : Instances) : Vector<Integer> getNumberOfValuesPerAttribute(inst : Instances) : int[] getAttributenames(inst : Instances) : String printVector(v : Vector) : void printArray(array : Object[]) : void Abbildung 7.4: Die Klasse „Utilities“ 91 8 Tests und Ergebnisse In diesem Kapitel werden weitere Experimente zum automatischen „Kombinierten Data Mining“ vorgestellt. Bei diesen Experimenten werden nicht wie im 5. Kapitel Assoziationsregeln zwischen Schauspielern untersucht, sondern es sollen Assoziationsregeln zwischen den weiteren Informationen zu den Filmen untersucht werden. Insbesondere sollen auch attributübergreifende Assoziationsregeln gefunden und untersucht werden. Hierzu werden die Attributwerte verschiedener Attribute, wie z. B. der Attribute „Genre“ und „Land“ zu einer Transaktion kombiniert, um Abhängigkeiten zwischen diesen Attributen in Form von Assoziationsregeln zu finden. Hierbei können z. B. Assoziationsregeln mit unterschiedlichen Attributwerten eines Attributs, wie z. B. „Genre= ’Action’ ⇒ Genre=’Thriller’“ oder „Land=’Mexiko’ ⇒ Land=’Spanien’“, aber auch Assoziationsregeln zwischen Attributwerten unterschiedlicher Attribute, wie z. B. „Land=’USA’ ⇒ Genre= ’Action’“ gefunden werden. Dies soll an einem Beispiel verdeutlicht werden. Gegeben seien folgende Daten: FilmID 1 1 2 3 Genre Action Thriller Komödie Drama FilmID 1 2 2 3 Land USA USA GB Kanada Für die attributübergreifende Assoziationsanalyse können diese Daten in Transaktionen umgeformt werden: T1 : {Genre=’Action’, Genre=’Thriller’, Land=’USA’} T2 : {Genre=’Komödie’, Land=’USA’, Land=’GB’} T3 : {Genre=’Drama’, Land=’Kanada’} Mit diesen Transaktionen kann im Anschluss eine Assoziationsanalyse durchgeführt werden. Es werden u. a. folgende Assoziationsregeln gefunden: R1 : Genre=’Action’ ⇒ Genre=’Thriller’ R2 : Land=’GB’ ⇒ Land=’USA’ R3 : Land=’GB’ ⇒ Genre=’Komödie’ Bei den durchgeführten Experimenten wurden alle Filme aus der MovieDB berücksichtigt. Zusätzlich zu bisher verwendeten Informationen wurde ein zusätzliches Attribut („Alter“) mit dem Durchschnittsalter der Schauspieler (zum Zeitpunkt der Veröffentlichung) eingeführt. Mit Hilfe dieses Attributs lassen sich u. a. Abhängigkeiten zwischen der Bewertung eines Filmes und dem durchschnittlichen Alter der beteiligten Schauspieler untersuchen. 92 8 Tests und Ergebnisse Bei der Assoziationsanalyse wurden für das Assoziationsattribut folgende Kombinationen von Attributen verwendet: • Genre, Land • Genre, Rating • Rating, Alter • Rating, Dekade Diese Kombinationen wurden auf Grund ihrer praktischen Relevanz ausgewählt. Die Kombination aus Genre und Land kann z. B. Aufschluss darüber geben, ob es einen Zusammenhang zwischen den an einem Film beteiligten Ländern und dem Filmgenre gibt. Werden also Filme mit bestimmten Genre häufig in denselben Ländern gedreht? Oder produzieren bestimmte Länder häufig Filme eines bestimmten Genres? Die Kombination aus Genre und Rating geht der Frage nach, ob bestimmte Genres dem Personenkreis besonders gut gefallen, der die Filme bewertet hat. Die Kombination aus Rating und Alter beantwortet die gleiche Frage, nur mit dem Durchschnittsalter der Schauspieler. Sind also Filme, in denen die Schauspieler in einem bestimmtem Alter sind, sehr beliebt oder werden diese vielleicht als besonders schlecht empfunden? Die Kombination aus Rating und Dekade kann die Frage beantworten, ob Filme aus einer bestimmten Dekade von dem Personenkreis, der die Bewertung abgibt, als besonders gut oder schlecht empfunden werden. Bei den Experimenten wurden für das Clustering der Daten jeweils die drei Attribute verwendet, welche bzgl. des normierten Kontingenzkoeffizienten K∗ die geringste Korrelation aufgewiesen haben, wobei nur Attribute berücksichtigt wurden, die mit dem Assoziationsattribut korrelieren. Die Ergebnisse des automatischen „Kombinierten Data Mining“ sind in den folgenden Tabellen dargestellt. Die Spalten haben folgende Bedeutung: Die Spalte „Assoziationsattribut“ beinhaltet die Attribute, welche für die Assoziationsanalyse kombiniert wurden. Die Spalte „Clusterattribute“ enthält das Attribut, welches für das Clustering verwendet wurden. Die Spalte „#Cluster“ enthält die Anzahl der erzeugten Cluster, die Spalte „#Regeln“ enthält die Anzahl der gefundenen Assoziationsregeln. Die Spalte „K∗ “ enthält den normierten Kontingenzkoeffizienten K∗ für die Korrelation zwischen dem Assoziationsattributen und dem Clusterattribut. Die Spalte „IW“ beinhaltet das Ergebnis des Maßes IW. Die Ergebnisse in den folgenden Tabellen sind anhand des normierten Kontingenzkoeffizienten absteigend sortiert. In der ersten Zeile ist jeweils das Ergebnis des herkömmlichen Data Mining angegeben. Genre, Land Assoziationsattribute Genre, Land Genre, Land Genre, Land Genre, Land Clusterattribute Kontinent Rating Typ #Cluster 3 3 3 #Regeln 162 256 197 208 K∗ 1,00 0,803 0,801 IW 3,47 (4513/130.045) 4,35 (5656/130.045) 4,43 (5761/130.045) 3,43 (4459/130.045) Tabelle 8.1: Ergebnisse des automatischen „Kombinierten Data Mining“ (Genre, Land) 93 8 Tests und Ergebnisse Genre, Rating Assoziationsattribute Genre, Rating Genre, Rating Genre, Rating Genre, Rating Clusterattribute Typ Kontinent Dekade #Cluster 3 3 3 #Regeln 233 368 297 284 K∗ 0,658 0,650 0,645 IW 8,53 (9.467/111.015) 10,08 (11.192/111.015) 9,52 (10.566/111.015) 10,85 (12.041/111.015) Tabelle 8.2: Ergebnisse des automatischen „Kombinierten Data Mining“ (Genre, Rating) Rating, Alter Assoziationsattribute Rating, Alter Rating, Alter Rating, Alter Rating, Alter Clusterattribute Genre Kontinent Dekade #Cluster 3 3 3 #Regeln 5 5 14 15 K∗ 0,306 0,305 0,228 IW 15,04 (11.735/78.034) 15,04 (11.735/78.034) 15,06 (11.752/78.034) 15,14 (11.811/78.034) Tabelle 8.3: Ergebnisse des automatischen „Kombinierten Data Mining“ (Rating, Alter) Rating, Dekade Assoziationsattribute Rating, Dekade Rating, Dekade Rating, Dekade Rating, Dekade Clusterattribute Genre Kontinent Type #Cluster 3 3 3 #Regeln 6 6 17 19 K∗ 0,257 0,207 0,142 IW 14,49 (11.311/78.034) 14,50 (11.312/78.034) 14,46 (11.287/78.034) 14,64 (11.426/78.034) Tabelle 8.4: Ergebnisse des automatischen „Kombinierten Data Mining“ (Rating, Dekade) Bei den hier durchgeführten Experimenten konnte nochmals gezeigt werden, dass auch auf anderen Daten mit Hilfe der Korrelationsanalyse gute Clusterattribute für das „Kombinierte Data Mining“ identifiziert werden können, wenn die Attribute mit der geringsten Korrelation ausgewählt werden. In drei der vier Experimente ist das Attribut mit der geringsten Korrelation auch das Attribut, welches das beste Ergebnis beim „Kombinierten Data Mining“ erzielt. In einem Fall („Genre, Land“) handelt es sich bei dem Attribut mit der zweitniedrigsten Korrelation um das beste Attribut, wobei ∗ in diesem Fall die Korrelation nur unwesentlich höher ist (KRating =0,803), als die niedrigste Korrela∗ =0,801). In einem Fall („Rating, Alter“) konnte die Reihenfolge der Ergebnisse mittels der tion (KTyp Korrelationsanalyse genau vorhergesehen werden. Überraschend ist, dass das Clustering mit dem Attribut „Kontinent“ beim Experiment „Genre, Land“ trotz der hohen Korrelation das zweitbeste Ergebnis und damit ein besseres Ergebnis als das Attribut mit der geringsten Korrelation erzielt hat. 94 9 Fazit und Ausblick In dieser Arbeit wurden Kombinationen von Data Mining-Verfahren untersucht, wobei ein deutlicher Schwerpunkt auf die Kombination aus Clustering und Assoziationsanalyse gelegt wurde. Die Einführung eines Maßes zur Bewertung von Mengen von Assoziationsregeln hat dazu geführt, dass die Ergebnisse verschiedener Assoziationsanalysen erstmals auf einfache Weise miteinander vergleichbar sind. Die durchgeführten Experimente haben gezeigt, dass durch die Kombination von Clustering und Assoziationsanalyse eine Verbesserung der Ergebnisse erzielt werden kann. Die Qualität der Ergebnisse wurde anhand des hier eingeführten Maßes bestimmt. Neben der Verbesserung der Ergebnisse konnte gezeigt werden, dass sich die Laufzeit für das Data Mining durch die Kombination von Clustering und Assoziationsanalyse deutlich reduzieren lässt. Weiterhin wurde ein Ansatz zur automatischen Auswahl der Clusterattribute beim „Kombinierten Data Mining“ vorgestellt. Dieser Ansatz zeigt, dass entgegen der bisherigen Annahme, die Auswahl der Clusterattribute habe durch Experten zu erfolgen, eine Automatisierung der Auswahl möglich ist. Bei dem hier vorgestellten Ansatz erfolgt die Auswahl der besten Clusterattribute mit Hilfe einer Korrelationsanalyse zwischen verschiedenen potentiellen Clusterattributen und dem Assoziationsattribut. Aufbauend auf diesem Ansatz zur Automatisierung des „Kombinierten Data Mining“ wurde die Anwendung „Easy Mining“ implementiert. Diese Anwendung ermöglicht es, ein herkömmliches Data Mining, ein „Kombiniertes Data Mining“, sowie ein automatisches „Kombiniertes Data Mining“ durchzuführen und die Ergebnisse mit Hilfe des Maßes IW bewerten zu lassen. Mit Hilfe der Anwendung „Easy Mining“ wurden abschließend weitere Experimente zum automatischen „Kombinierten Data Mining“ durchgeführt, in denen gezeigt werden konnte, dass die Automatisierung auch auf einer anderen Datengrundlage zu guten Ergebnissen führt. Diese Arbeit kann als Grundlage für weitere Untersuchungen zur Analyse und Automatisierung des „Kombinierten Data Mining“ verwendet werden. Ausweitung der Experimente auf andere Daten Bei den hier durchgeführten Experimenten handelt es sich ausschließlich um Experimente mit den Daten aus einer Film-Datenbank. Zwar wurden unterschiedliche Datengrundlagen (Ausschnitte aus der Datenbank) und Assoziationsattribute für die Experimente verwendet, dennoch stammen alle Daten aus einem bestimmten Anwendungsgebiet. Zur Verifikation der Ergebnisse wären weitere Experimente auf anderen Datenbeständen wünschenswert. Auf Grund der Einschränkungen bei der Berechnung der Korrelation mittels des χ2 -Verfahren wären insbesondere Datenbestände interessant, in denen die einzelnen Items häufig auftreten. In der Arbeit [Spe07] wurde ein Ansatz zur Materialisierung von räumlichen Informationen entwickelt. Mit diesem Ansatz ist es möglich, ein Data Mining in räumlichen Datenbanken durchzuführen, bei dem ausschließlich Methoden und Algorithmen für das Data Mining in relationalen Datenbanken benutzt werden. Mit Hilfe dieses Ansatzes und der Anwendung „Easy Mining“ könnte ein (automatisches) „Kombiniertes Data Mining“ auf räumlichen Daten durchgeführt werden. Für 95 9 Fazit und Ausblick das Clustering bieten sich hierbei in erster Linie die räumlichen Koordinaten der einzelnen räumlichen Objekte an. Im Kontext der räumlichen Daten ist in erster Linie interessant, ob auch hier eine Verbesserung der Ergebnisse durch die Kombination von Data Mining-Verfahren erzielt werden kann. Erweiterung der Anwendung Easy Mining“ ” Die im Rahmen dieser Masterarbeit entwickelte Anwendung „Easy Mining“ ist in der Lage, ein „Kombiniertes Data Mining“ mit den Data Mining-Verfahren Clustering und Assoziationsanalyse durchzuführen. In zukünftigen Versionen wäre eine Erweiterung um andere Data Mining-Verfahren denkbar. So könnte neben der Kombination aus Clustering und Assoziationsanalyse z. B. auch die Kombination aus Clustering und Klassifikation näher untersucht werden. Neben der grundsätzlichen Frage, ob überhaupt eine Verbesserung durch die Kombination dieser beiden Verfahren erreicht werden kann, ist es interessant, ob auch bei diesen Verfahren eine Automatisierung des Prozesses möglich ist und welche Clusterattribute zu den besten Klassifikationsergebnissen führen. Neben der Erweiterung der Anwendung „Easy Mining“ um weitere Data Mining-Verfahren könnte in zukünftigen Versionen auch der Grad der Automatisierung erhöht werden und die Automatisierung noch weiter verbessert werden. Zur Erhöhung des Automatisierungsgrades könnte z. B. die Anzahl der verwendeten Clusterattribute nicht mehr apriori vom Benutzer des Systems festgelegt werden, sondern automatisch von der Anwendung ermittelt werden. Hierzu bietet sich unter Umständen die Angabe eines Thresholds an, um den das Ergebnis der Korrelationsanalyse maximal vom besten Ergebnis abweichen darf, damit ein „Kombiniertes Data Mining“ auch mit diesem Attribut durchgeführt wird. Weitere Automatisierungen könnten z. B. die Auswahl des Assoziationsattributs betreffen. Eine Verbesserung der Automatisierung könnte darauf abzielen, dass nicht nur die besten Attribute ausgewählt werden, sondern dass diese sogar in der richtigen Reihenfolge ausgegeben werden. Weiterhin könnte die Qualität der Vorhersagen noch weiter verbessert werden. Kombination der Ergebnisse In dieser Arbeit wurden die Ergebnisse des herkömmlichen Data Mining mit den Ergebnissen des „Kombinierten Data Mining“ verglichen, um zu zeigen, dass die Kombination von Clustering und Assoziationsanalyse zu einer Verbesserung der Ergebnisse führen kann. Was hierbei nicht berücksichtigt wurde, ist die Tatsache, dass sich die Ergebnisse des herkömmlichen und des „Kombinierten Data Mining“ auch kombinieren lassen. So könnten theoretisch allgemeingültige Regeln zur Komprimierung aller Daten angegeben werden und weitere (speziellere) Regeln für die einzelnen Cluster. Auf diese Weise ließe sich u. a. der Verlust von Assoziationsregeln beim „Kombinierten Data Mining“ verhindern. Die Kombination der Ergebnisse führt vermutlich zu einer weiteren Verbesserung des Gesamtergebnisses und sollte deshalb zukünftig näher untersucht werden. 96 A Dokumentation der verwendeten Datenbanken A.1 Relationales Schema der Filmdatenbank Movie Database“ ” PRODUCTION (production, titlenull , runtimenull , yearnull ) MOVIE (production → PRODUCTION, type) EPISODE (production → PRODUCTION, series → SERIES, seasonnull , episodenull , air_datenull ) SERIES (series, title, yearnull ) GENRE (production → PRODUCTION, genre) LOCATION (production → PRODUCTION, countrynull , location) CONTINENT (continent , country → LOCATION, continent_name) AKA (production → PRODUCTION, country, aka) BUDGET (production → PRODUCTION, budget, currency) RATING (production → PRODUCTION, rating, votes) PERSON (person, name, realnamenull , sexnull , heightnull , birth_datenull , birth_countrynull , birth_locationnull , death_datenull , death_countrynull , death_locationnull ) PARENTS (person → PERSON, mothernull → PERSON, fathernull → PERSON) WORKS (person → PERSON, production → PRODUCTION, job, credit_posnull ) PLAYS (person → PERSON, production → PRODUCTION, role) A.2 Erläuterungen zum Schema der Filmdatenbank Movie Database“ ” Die Tabelle PRODUCTION enthält Informationen zu Film und Fernsehproduktionen. Jede Produktion hat eine eindeutige Nummer (production). Zusätzlich sind jeweils (sofern bekannt) der Titel (title), das Produktionsjahr (year) und die Laufzeit in Minuten (runtime) angegeben. Filme (MOVIE) sind spezielle Produktionen eines bestimmten Typs (type); mögliche Typen sind: „cinema“ für Kino und „tv“ für Fernsehfilme sowie „video“ für Filme, die weder im Kino noch im Fernsehen gezeigt wurden. Episoden (EPISODE) sind Produktionen, die zu Serien (series) gehören. Hierzu gibt es Angaben über Staffel und Folgennummer (season und episode) sowie zum Datum der Erstausstrahlung (air_date). Jede Serie (SERIES) ist jeweils durch eine eindeutige Nummer identifiziert (series). Zusätzlich ist der Titel der Serie (title) und das Jahr (year), in dem die Serie begann, angegeben. 97 A Dokumentation der verwendeten Datenbanken Zu Produktionen gibt es diverse weitere Daten: In GENRE sind die Genres einer Produktion vermerkt, z.B. „Action“, „Drama“ oder „SciFi“. RATING enthält die (durchschnittliche) Bewertung (rating) einer Produktion zusammen mit der Anzahl abgegebener Stimmen (votes). 10 ist die beste Bewertung, 0 die schlechteste. In BUDGET steht, wieviel Geld (budget, inkl. Angabe der Währung in currency) ein Film gekostet hat. In der Tabelle LOCATION steht, wo die Produktion gedreht wurde: Die Spalte location enthält den genauen Ort und die Spalte country (sofern bekannt) das Land, in dem sich der Ort befindet. Zu einem Film können auch mehrere Drehorte angegeben werden. In der Tabelle CONTINENT wird jedem Land aus der Tabelle LOCATION ein Kontinent zugeordnet. Auf diese Weise können bei Abfragen z. B. nur europäische Filme betrachtet werden. Die Tabelle AKA (von „also known as“) enthält alternative Titel von Produktionen: Eine Produktion kann in einem anderen Land (country) einen anderen (oder mehrere andere) Titel (aka) haben, etwa „Herr der Ringe: Die Gefährten, Der“ als deutscher Titel des Films „Lord of the Rings: The Fellowship of the Ring, The“. country kann hier auch „International“ sein. Eine PERSON wird durch eine eindeutig Nummer (person) identifiziert. Zusätzlich zum Namen (name) der Person kann ihr Geschlecht (sex - „m“ für männlich, „f“ für weiblich), ihre Größe in Zentimetern (height) oder der wirkliche Name (realname) - falls die Person einen Künstlernamen benutzt - bekannt sein. Außerdem sind evtl. Datum, Land und Ort der Geburt (birth_...) oder des Todes (death_... ) angegeben. Die Zuordnung der Eltern (mother, father) zu einer Person (falls bekannt) erfolgt in der Tabelle PARENTS. Die Tabelle WORKS stellt eine Beziehung zwischen Produktionen und Personen her. Für jede Mitwirkung einer Person an einer Produktion wird deren Aufgabe (job) festgehalten: „actor“ für Schauspieler, „director“ für Regisseure, „costumedesigner“ etc. Eine Person kann mehrere Aufgaben in einer Produktion haben (etwa Schauspieler und Produzent). Zusätzlich kann bekannt sein, an welcher Position die Person im Abspann der Produktion (bzgl. der Aufgabe) genannt wird (credit_pos). Verkörpert eine Person in einer Produktion eine Rolle, z.B. als Schauspieler oder als Stimme für eine Trickfigur, enthält die Tabelle PLAYS (sofern bekannt) den Namen solcher Rollen (role). A.3 Relationales Schema der für die Experimente verwendeten Tabellen ACTIONTHRILLER_MOVIES (id, genre, country, continent, year, decade, rating, budget) ACTIONTHRILLER_ACTOR (id, name, credit_pos, movies) BLOCKBUSTER_USA_MOVIES (id, genre, country, continent, year, decade, rating) BLOCKBUSTER_USA_ACTOR (id, name, credit_pos, movies) COMEDYFAMILY_MOVIES (id, genre, country, continent, year, decade, rating, budget) COMEDYFAMILY_ACTOR (id, name, credit_pos, movies) 98 A Dokumentation der verwendeten Datenbanken EUROPEAN_MOVIES (id, genre, country, continent, year, decade, rating, budget) EUROPEAN_ACTOR (id, name, credit_pos, movies) GERMAN_MOVIES (id, type, genre, country, continent, year, decade, rating) GERMAN_ACTOR (id, name, credit_pos, movies) GERMAN_BUDGET_MOVIES (id, type, genre, country, continent, year, decade, rating, budget) GERMAN_BUDGET_ACTOR (id, name, credit_pos, movies) A.4 Erläuterungen zum Schema der verwendeten Tabellen In der Tabelle ACTIONTHRILLER_MOVIES sind Kinofilme aus den Genre „Action“ und/oder „Thriller“ gespeichert, für die ein Budget in Euro oder US-Dollar angegeben ist. Die Tabelle ACTIONTHRILLER_ACTOR enthält die Namen der Schauspieler, die Position im Abspann und die Anzahl der gedrehten Filme aus den Genres „Action“ und/oder „Thriller“. In der Tabelle BLOCKBUSTER_USA_MOVIES sind Kinofilme aus den USA gespeichert, die ein Rating von mindestens 7 haben. Die Tabelle BLOCKBUSTER_USA_ACTOR enthält die Namen der Schauspieler, die Position im Abspann und die Anzahl der gedrehten „Blockbuster“. Die Tabelle COMEDYFAMILY_MOVIES enthält Kinofilme aus den Genre „Comedy“ und „Family“ mit einem angegebenen Budget in Euro oder US-Dollar. Die Tabelle COMEDYFAMILY_ACTOR enthält die Namen der Schauspieler, die Position im Abspann und die Anzahl der gedrehten Komödien und Familienfilme. In der Tabelle EUROPEAN_MOVIES sind Informationen zu europäischen Kinofilmen mit einem angegebenen Budget in Euro oder US-Dollar gespeichert. Die Tabelle EUROPEAN_ACTOR enthält die Namen der Schauspieler, die Position im Abspann und die Anzahl der gedrehten europäischen Filme. In der Tabelle GERMAN_MOVIES sind alle deutschen Filme unabhängig von Typ und Genre erfasst. Hier finden sich neben Kinofilmen auch Fernsehfilme und Videofilme1 . Die Tabelle GERMAN_ACTOR enthält die Namen der Schauspieler, die Position im Abspann und die Anzahl der gedrehten deutschen Filme. Die Tabelle GERMAN_BUDGET_MOVIES enthält die deutschen Filme, zu denen ein Budget in Euro oder US-Dollar angegeben ist. Die Tabelle GERMAN_BUDGET_ACTOR enthält die Namen der Schauspieler, die Position im Abspann und die Anzahl der gedrehten deutschen Filme, zu denen ein Budget in EURO oder US-Dollar angegeben ist. 1 Videofilme sind Filme, die weder im Kino noch im Fernsehen gelaufen sind. 99 B Ergebnisse der Laufzeitanalyse Im Folgenden sind die Laufzeiten der Experimente aus dem 5. Kapitel dargestellt. Wurde ein herkömmliches Data Mining durchgeführt, ist die Laufzeit der Experimente angegeben. Wurde ein „Kombiniertes Data Mining“ durchgeführt, sind die verwendeten Clusterattribute, die Anzahl der erzeugten Cluster (in Klammern) und die Laufzeit der Experimente angegeben. Die Laufzeit ist jeweils in Minuten und Sekunden angegeben. Actionthriller herkömmliches DM Kontinent (2) Kontinent (3) Rating (3) Actionthriller 2 herkömmliches DM Budget (3) Dekade (3) Kontinent (2) Kontinent (3) Rating (3) Budget+Kontinent (3) Blockbuster herkömmliches DM Dekade (3) Genre (3) Rating (3) Dekade+Genre (3) Genre+Rating (3) Deutsche Filme herkömmliches DM Dekade (3) Genre (3) Rating (3) Typ (3) Typ (5) Dekade+Rating (3) Dekade+Rating (5) Rating+Typ (2) Rating+Typ (3) Rating+Typ (4) Rating+Typ (5) Deutsche Filme (Budget) herkömmliches DM 0:03 Budget (2) 0:03 Budget (3) 0:03 Budget (4) 0:03 Rating (3) 0:03 Typ (3) 0:03 Rating+Typ (3) 0:03 Rating+Typ (5) 0:04 44:53 8:46 8:51 3:46 8:50 2:34 1:32 8:30 8:09 3:46 2:09 Europäische Filme herkömmliches DM Budget (3) Dekade (3) Jahr (3) Land (2) Land (3) Rating (3) Budget+Rating (3) Dekade+Rating (3) Land+Rating (3) 7:17 1:15 2:03 5:05 1:43 3:33 2:13 1:18 0:58 0:58 2:15 2:15 1:18 1:17 1:00 1:15 Komödien / Familienfilme herkömmliches DM 11:26 Budget (2) 6:17 Budget (3) 4:41 Budget (4) 3:04 Dekade (3) 3:29 Kontinent (3) 5:00 Jahr (3) 4:30 Rating (3) 4:56 Budget+Rating (3) 4:38 4:30 0:54 1:12 1:35 2:18 2:19 0:51 0:49 2:19 0:59 0:56 0:59 100 C Easy Mining“-Konfigurationsdateien ” C.1 Kommentierte Konfigurationsdatei # EasyMining Konfigu rations datei ( mit Erlaeuterungen ) # Art der Datenquelle fuer das kombinierte Data Mining : ( file | oracleDB ) sourcetype = file # Da t en ba n kz ug a ng s da te n # ( falls " sourcetype = oracleDB ") # username : Benutzername fuer die Datenbank # password : Datenbankpasswort username = username password = password # Clustering # makeClustering : Soll ein Clustering durchgefuehrt werden ? ( true | false ) # clustersource : Wo befinden sich die Daten , die geclustert werden sollen ? # ( Pfad zur Arff - Datei | SQL - Statement ) # clusterattribute : Welche Attribute sollen zum Clustern der Daten # verwendet werden ? ( attribut1 ,... , attributN ) # clusteranzahl : Wieviele Cluster sollen erzeugt werden ? makeClustering = true clustersource = ./ clustersource clusterattribute = attribut1 clusteranzahl = 3 # Kombiniertes Data Mining # dataMiningMethod : Welches Verfahren soll ( nach dem Clustern ) verwendet # werden ? ( asso ) dataMiningMethod = asso # Ass oziatio nsanaly se # assosource : Wo befinden sich die Daten fuer die Assozi ationsa nalyse ? # ( Pfad zur Arff - Datei | SQL - Statement ) # assoPrepared : Liegen die Eingabedaten bereits als Transaktionsmatrix vor ? # ( true | false ) # support : Wert fuer den Support , z . B . "0.1" (=10%) # confidence : Wert fuer die Confidence , z . B . "0.9" (=90%) # s a ve I n t er m e d i at e R e s ul t : Soll die berechnete Transaktionsmatrix als # Arff - Datei gespeichert werden ? ( true | false ) # s a v e I n t e r m e d i a t e R e s u l t A s : Wo soll die Transaktionsmatrix gespeichert # werden ? ( Pfad zur Arff - Datei ) assosource = ./ assosource assoPrepared = true support = 0.5 confidence = 0.8 s a ve I n t e rm e d i a te R e s ul t = true s a v e I n t e r m e d i a t e R e s u l t A s = ./ intermediateResult 101 C „Easy Mining“-Konfigurationsdateien C.2 Herkömmliches Data Mining Die Konfigurationsdateien setzen sich aus den globalen Einstellungen für das herkömmliche Data Mining und den speziellen Einstellungen für das entsprechende Experiment zusammen. Die Einstellungen sind im Folgenden dargestellt. Globale Einstellungen für das herkömmliche Data Mining sourcetype = oracleDB username = mewe password = ***** makeClustering = false dataMiningMethod = asso assoPrepared = false confidence = 0.5 Action-Thriller assosource = select distinct id , name from act io nth ri lle r_a ct or where credit_pos <= 4 order by id support = 0.0024 Action-Thriller 2 assosource = select distinct id , name from act io nth ri lle r_a ct or where credit_pos <= 3 order by id support = 0.0018 Blockbuster (USA) assosource = select distinct id , name from b lo ck b us te r _u s a_ ac t or where credit_pos <= 4 order by id support = 0.002 Deutsche Filme assosource = select distinct id , name from german_actor where credit_pos <= 3 order by id support = 0.002 Deutsche Filme (mit Budget) assosource = select distinct id , name from g erman_b udget_ac tor order by id support = 0.018 102 C „Easy Mining“-Konfigurationsdateien Europäische Filme assosource = select distinct id , name from european_actor where credit_pos <= 5 order by id support = 0.0035 Komödien / Familienfilme assosource = select distinct id , name from comedyfamily_actor where credit_pos <= 5 order by id support = 0.0025 C.3 Kombiniertes Data Mining“ ” Die Konfigurationsdateien setzen sich aus den globalen Einstellungen für das „Kombiniertee Data Mining“, den speziellen Einstellungen für das Clustering und den speziellen Einstellungen für die Assoziationsanalyse zusammen. Die globalen Einstellungen und die Einstellungen für das Clustering sind im Folgenden aufgeführt. Die Einstellungen für die Assoziationsanalyse sind identisch mit den Einstellungen beim herkömmlichen Data Mining und können dem Abschnitt C.2 entnommen werden. Globale Einstellungen für das Kombiniertee Data Mining“ ” sourcetype = oracleDB username = mewe password = ***** makeClustering = true dataMiningMethod = asso assoPrepared = false confidence = 0.5 C.3.1 Action-Thriller Action-Thriller (Kontinent) clustersource = select distinct id , aggr_concat ( continent ) as continent from a c ti on t hr il l er _ mo vi e s group by id clusterattribute = continent clusteranzahl = 2 clustersource = select distinct id , aggr_concat ( continent ) as continent from a c ti on t hr il l er _ mo vi e s group by id clusterattribute = continent clusteranzahl = 3 103 C „Easy Mining“-Konfigurationsdateien Action-Thriller (Rating) clustersource = select distinct id , rating from a c ti on t hr il l er _ mo vi e s clusterattribute = rating clusteranzahl = 3 C.3.2 Action-Thriller 2 Action-Thriller 2 (Budget) clustersource = select distinct id , budget from a c ti on t hr il l er _ mo vi e s clusterattribute = budget clusteranzahl = 3 Action-Thriller 2 (Dekade) clustersource = select distinct id , decade from a c ti on t hr il l er _ mo vi e s clusterattribute = decade clusteranzahl = 3 Action-Thriller 2 (Kontinent) clustersource = select distinct id , aggr_concat ( continent ) as continent from a c ti on t hr il l er _ mo vi e s group by id clusterattribute = continent clusteranzahl = 2 clustersource = select distinct id , aggr_concat ( continent ) as continent from a c ti on t hr il l er _ mo vi e s group by id clusterattribute = continent clusteranzahl = 3 Action-Thriller 2 (Rating) clustersource = select distinct id , rating from a c ti on t hr il l er _ mo vi e s clusterattribute = rating clusteranzahl = 3 Action-Thriller 2 (Budget, Kontinent) clustersource = select distinct id , budget , aggr_concat ( continent ) as continent from a c ti on t hr il l er _ mo vi e s group by id , budget clusterattribute = budget , continent clusteranzahl = 3 104 C „Easy Mining“-Konfigurationsdateien C.3.3 Blockbuster (USA) Blockbuster (Dekade) clustersource = select distinct id , decade from bl o c k bu s t e r _u s a _ m ov i e s clusterattribute = decade clusteranzahl = 3 Blockbuster (Genre) clustersource = select distinct id , min ( genre ) as genre from bl o c k bu s t e r _u s a _ m ov i e s group by id clusterattribute = genre clusteranzahl = 3 Blockbuster (Rating) clustersource = select distinct id , rating from bl o c k bu s t e r _u s a _ m ov i e s clusterattribute = rating clusteranzahl = 3 Blockbuster (Dekade, Genre) clustersource = select distinct id , decade , min ( genre ) as genre from bl o c k bu s t e r _u s a _ m ov i e s group by id , decade clusterattribute = decade , genre clusteranzahl = 3 Blockbuster (Genre, Rating) clustersource = select distinct id , min ( genre ) as genre , rating from bl o c k bu s t e r _u s a _ m ov i e s group by id , rating clusterattribute = genre , rating clusteranzahl = 3 C.3.4 Deutsche Filme Deutsche Filme (Dekade) clustersource = select distinct id , decade from german_movies clusterattribute = decade clusteranzahl = 3 105 C „Easy Mining“-Konfigurationsdateien Deutsche Filme (Genre) clustersource = select distinct id , min ( genre ) as genre from german_movies group by id clusterattribute = genre clusteranzahl = 3 Deutsche Filme (Rating) clustersource = select distinct id , rating from german_movies clusterattribute = rating clusteranzahl = 3 Deutsche Filme (Typ) clustersource = select distinct id , type from german_movies clusterattribute = type clusteranzahl = 3 clustersource = select distinct id , type from german_movies clusterattribute = type clusteranzahl = 5 Deutsche Filme (Dekade, Rating) clustersource = select distinct id , decade , rating from german_movies clusterattribute = decade , rating clusteranzahl = 3 clustersource = select distinct id , decade , rating from german_movies clusterattribute = decade , rating clusteranzahl = 5 Deutsche Filme (Rating, Typ) clustersource = select distinct clusterattribute = rating , type clusteranzahl = 2 clustersource = select distinct clusterattribute = rating , type clusteranzahl = 3 clustersource = select distinct clusterattribute = rating , type clusteranzahl = 4 clustersource = select distinct clusterattribute = rating , type clusteranzahl = 5 id , rating , type from german_movies id , rating , type from german_movies id , rating , type from german_movies id , rating , type from german_movies 106 C „Easy Mining“-Konfigurationsdateien C.3.5 Deutsche Filme (mit Budget) Deutsche Filme (mit Budget) (Budget) clustersource = select distinct id , budget from ger ma n_b udg et _mo vi es clusterattribute = budget clusteranzahl = 2 clustersource = select distinct id , budget from ger ma n_b udg et _mo vi es clusterattribute = budget clusteranzahl = 3 clustersource = select distinct id , budget from ger ma n_b udg et _mo vi es clusterattribute = budget clusteranzahl = 4 Deutsche Filme (mit Budget) (Rating) clustersource = select distinct id , rating from ger ma n_b udg et _mo vi es clusterattribute = rating clusteranzahl = 3 Deutsche Filme (mit Budget) (Typ) clustersource = select distinct id , type from ge rma n_ bud get _m ovi es clusterattribute = type clusteranzahl = 3 Deutsche Filme (mit Budget) (Rating, Typ) clustersource = select distinct id , rating , type from ger ma n_b ud get _mo vi es clusterattribute = rating , type clusteranzahl = 3 clustersource = select distinct id , rating , type from ger ma n_b ud get _mo vi es clusterattribute = rating , type clusteranzahl = 5 C.3.6 Europäische Filme Europäische Filme (Budget) clustersource = select distinct id , budget from european_movies clusterattribute = budget clusteranzahl = 3 107 C „Easy Mining“-Konfigurationsdateien Europäische Filme (Dekade) clustersource = select distinct id , decade from european_movies clusterattribute = decade clusteranzahl = 3 Europäische Filme (Jahr) clustersource = select distinct id , year from european_movies clusterattribute = year clusteranzahl = 3 Europäische Filme (Jahr) clustersource = select distinct id , aggr_concat ( country ) as country from european_movies group by id clusterattribute = country clusteranzahl = 2 clustersource = select distinct id , aggr_concat ( country ) as country from european_movies group by id clusterattribute = country clusteranzahl = 3 Europäische Filme (Rating) clustersource = select distinct id , rating from european_movies clusterattribute = rating clusteranzahl = 3 Europäische Filme (Budget, Rating) clustersource = select distinct id , budget , rating from european_movies clusterattribute = budget , rating clusteranzahl = 3 Europäische Filme (Dekade, Rating) clustersource = select distinct id , decade , rating from european_movies clusterattribute = decade , rating clusteranzahl = 3 Europäische Filme (Land, Rating) clustersource = select distinct id , aggr_concat ( country ) as country , rating from european_movies group by id , rating clusterattribute = country , rating clusteranzahl = 3 108 C „Easy Mining“-Konfigurationsdateien C.3.7 Komödien / Familienfilme Komödien / Familienfilme (Budget) clustersource = select distinct id , budget from co medyfam ily_mov ies clusterattribute = budget clusteranzahl = 2 clustersource = select distinct id , budget from co medyfam ily_mov ies clusterattribute = budget clusteranzahl = 3 clustersource = select distinct id , budget from co medyfam ily_mov ies clusterattribute = budget clusteranzahl = 4 Komödien / Familienfilme (Dekade) clustersource = select distinct id , decade from co medyfam ily_mov ies clusterattribute = decade clusteranzahl = 3 Komödien / Familienfilme (Jahr) clustersource = select distinct id , year from comedyf amily_mo vies clusterattribute = year clusteranzahl = 3 Komödien / Familienfilme (Kontinent) clustersource = select distinct id , aggr_concat ( continent ) as continent from comed yfamily_ movies group by id clusterattribute = continent clusteranzahl = 3 Komödien / Familienfilme (Rating) clustersource = select distinct id , rating from co medyfam ily_mov ies clusterattribute = rating clusteranzahl = 3 Komödien / Familienfilme (Budget, Rating) clustersource = select distinct id , budget , rating from com edyfami ly_movi es clusterattribute = budget , rating clusteranzahl = 3 109 D Ausgabe der Anwendung Easy Mining“ ” Im Folgenden ist eine beispielhafte Ausgabe der Anwendung „Easy Mining“ angegeben. Im Gegensatz zur wirklichen Ausgabe sind im Abschnitt „Assoziationsanalyse“ aus Gründen der Übersichtlichkeit jeweils nur die ersten vier Assoziationsregeln angegeben. Attributauswahl ---------------------- Attributauswahl ---------------------- Eingabeattribute : RATING *** Attributauswahl : Bestimmung der besten Attribute : o . k . *** Beste Attribute : RATING Clustering ----------------- Clustering ----------------*** Clustering : Vorbereiten der Daten : o . k . *** *** Clustering : o . k . *** Eingabetupel : ID , RATING geclustert wird nach : RATING Anzahl der erzeugten Cluster : 3 Beschreibung des Clusters 0 : RATING : [ middle ] Beschreibung des Clusters 1 : RATING : [ high ] Beschreibung des Clusters 2 : RATING : [ low ] 110 D Ausgabe der Anwendung „Easy Mining“ Assoziationsanalyse -------------------------- Asso ziations analyse -------------------------*** Assozi ationsan alyse : Erstellung der Transaktionsmatrix : o . k . *** *** Assozi ationsan alyse : Splitten der Instanzen : o . k . *** *** Assozi ationsan alyse : Erzeugung des Modells für Cluster 0 (1143 Elemente ) : o . k . *** *** Assozi ationsan alyse : Erzeugung der Regeln für Cluster 0 ( Support =0.34% Confidence =50.0%) : o . k . *** *** Assozi ationsan alyse : Erzeugung der Bewertung für Cluster 0: o . k . *** Cluster 0: (1143 Elemente ) ’ Chandrasekhar , ’ Chandrasekhar , ’ Soter , Paul ’=1 ’ Chandrasekhar , ... Jay ’=1 Jay ’=1 4 => Jay ’=1 4 = > ’ Heffernan , Kevin ’=1 4 ( Confidence =1) 4 = > ’ Lemme , Steve ’=1 4 ( Confidence =1) ’ Chandrasekhar , Jay ’=1 4 ( Confidence =1) 4 = > ’ Soter , Paul ’=1 4 ( Confidence =1) *** Assozi ationsan alyse : Erzeugung des Modells für Cluster 1 (294 Elemente ) : o . k . *** *** Assozi ationsan alyse : Erzeugung der Regeln für Cluster 1 ( Support =1.3% Confidence =50.0%) : o . k . *** *** Assozi ationsan alyse : Erzeugung der Bewertung für Cluster 1: o . k . *** Cluster 1: (294 Elemente ) ’ Palin , Michael ’=1 5 = > ’ Cleese , John ’=1 5 ( Confidence =1) ’ Cleese , John ’=1 5 = > ’ Palin , Michael ’=1 5 ( Confidence =1) ’ Keaton , Diane ’=1 4 = > ’ Allen , Woody ’=1 4 ( Confidence =1) ’ Chapman , Graham ’=1 4 = > ’ Cleese , John ’=1 4 ( Confidence =1) ... *** Assozi ationsan alyse : Erzeugung des Modells für Cluster 2 (96 Elemente ) : o . k . *** *** Assozi ationsan alyse : Erzeugung der Regeln für Cluster 2 ( Support =3.99% Confidence =50.0%) : o . k . *** *** Assozi ationsan alyse : Erzeugung der Bewertung für Cluster 2: o . k . *** Cluster 2: (96 Elemente ) # # 111 D Ausgabe der Anwendung „Easy Mining“ Bewertung des Ergebnisses Bewertung der gefundenen Regeln : Anzahl der gefundenen Regeln : 264 Metrik 1 ( Ko mp rim ie run gs gew inn ) : 0.62% (32/5163) Metrik 1 ( realer Ko mpr im ier un gsg ew inn ) : 0.45% (23/5163) 112 Literaturverzeichnis [ES00] Ester, Martin / Sander, Jörg: Knowledge Discovery in Databases - Techniken und Anwendungen, Springer, 2000 [FPSM92] Frawley, W. J. / Piatetsky-Shapiro, G. / Matheus, C. J.: Knowledge discovery in databases - an overview, Ai Magazine 13 (3), pp. 57-70, 1992 [FPSS96] Fayyad, U. M. / Piatetsky-Shapiro, G. / Smyth, P.: From Data Mining to Knowledge Discovery in Databases, AI Magazine 17 (3), pp. 37-54, 1996 [GH06] Geng, Liqiang / Hamilton, Howard J.: Interestingness measures for data mining: A survey, ACM Comput. Surv. 38 (3), 2006 [GHS06] Goller, Mathias / Humer, Markus / Schrefl, Michael: Beneficial Sequential Combination of Data Mining Algorithms, ICEIS (2), pp. 135-143, 2006 [Gr04] Grünwald, Peter: A tutorial introduction to the minimum description length principle, CoRR (June 2004), 2004 [Hen04] Henze, N.: Skript zur Vorlesung ”Web Data Management”, Universität Hannover, 2004 [HH01] Hettich, S. / Hippner, H.: Assoziationsanalyse, in: Hippner, H. / Küsters, U. / Meyer, M. / Wilde, K.D. (Hrsg.): Handbuch Data Mining im Marketing - Knowledge Discovery in Marketing Databases, Vieweg Verlag, 2001, S. 427-463 [HK06] Han, Jiawei / Kamber, Micheline: Data Mining - Concepts and Techniques, Elsevier, 2006, pp. 67-70 (Korrelationsanalyse zwischen zwei Attributen), pp. 86-97 (Erzeugung von Konzept-Hierarchien), pp. 285-289 (Klassifikation und Vorhersagen), pp. 360-366 (Qualitätsmessung von Klassifikationen), pp. 600-607 (Spatial Data Mining) [Hum04] Humer, Markus: Kombiniertes Data Mining - Klassifikation unter Verwendung von durch Clustering gewonnenen Hilfsinformationen, Diplomarbeit, Johannes-KeplerUniversität Linz, 2004 [Kuo04] Kuonen, Diego: A statistical perspective of data mining, CRM Zine (Vol. 48), 2004 [LSW97] Lent, Brian / Swami, Arun N. / Widom, Jennifer: Clustering Association Rules, 13. ICDE 1997, pp. 220-231, 1997 [LY00] Lai, Hsiangchu / Yang, Tzyy-Ching: A Group-based Inference Approach to Customized Marketing on the Web - Integrating Clustering and Association Rules Techniques, Proceedings of the 33rd Hawaii International Conference on System Sciences, 2000 [SC03] Shekhar, Shashi / Chawla, Sanjay: Spatial Databases - A Tour, Pearson Education, 2003, pp. 182-222 (Spatial Data Mining) [Spe07] Spehling, Markus: Analyse und Erweiterung von Methoden des Data Mining in räumlichen Datenbanken, Masterarbeit, Leibniz Universität Hannover, 2007 [Ste07] Steland, Ansgar: Basiswissen Statistik - Kompaktkurs für Anwender aus Wirtschaft, Informatik und Technik, Springer, 2007 113 Literaturverzeichnis [Stö04] Stöttinger, Klaus: Kombiniertes Data Mining - Effiziente Generierung von Hilfsinformationen während des Clustering, Diplomarbeit, Johannes-Kepler-Universität Linz, 2004 [Weka07a] Weka Documentation, http://weka.sourceforge.net/wekadoc/index.php [Weka07b] Weka API, http://weka.sourceforge.net/doc/ [WF05] Witten, Ian H. / Frank, Eibe: Data Mining - Practical machine learning tools and techniques (2. Auflage), Morgan Kaufmann, 2005 [Wiki07] Wikipedia - Die freie Enzyklopädie, http://de.wikipedia.org, Chi-Quadrat-Test Knowledge Discovery in Databases Kontingenztafel Ockhams Rasiermesser Statistische Signifikanz 114