Arbeit - Universität Ulm

Werbung
Data Mining in Datenbanksystemen
Hjalmar Hagen
Data Mining Seminar der Universität Ulm, Abteilung SAI,
in Zusammenarbeit mit DaimlerChrysler
19. Februar 2004
Inhaltsverzeichnis
1 Einleitung
2
2 CRoss Industry Standard Process for Data Mining
2
3 SQL Multimedia and Application Packages
3.1 SQL/MM . . . . . . . . . . . . . . . . . . .
3.2 SQL/MM Teil 6 - Data Mining . . . . . . .
3.2.1 Data Mining Techniken . . . . . . .
3.2.2 Data Mining Phasen . . . . . . . . .
3.2.3 Ein Beispiel - Klassifikation . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
4
4
4
6
4 Data Mining in Datenbank - Management - Systemen
4.1 Oracle Data Mining (ODM) . . . . . . . . . . . . . . . .
4.1.1 Modellbildung und simultane Anwendung . . . .
4.2 IBM DB2 Intelligent Miner (IM) . . . . . . . . . . . . .
4.2.1 IM Modeling . . . . . . . . . . . . . . . . . . . .
4.2.2 IM for Scoring . . . . . . . . . . . . . . . . . . .
4.3 Microsoft SQL Server . . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
7
8
9
10
10
10
11
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5 Fazit
11
Abbildungsverzeichnis
1
2
3
4
5
Die Phasen des Crisp - DM Prozess Modells
Trainingsphase . . . . . . . . . . . . . . . .
Testphase . . . . . . . . . . . . . . . . . . .
Anwendungsphase . . . . . . . . . . . . . .
Der Intelligent Miner Scoring Prozess . . . .
1
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
5
5
6
11
1
Einleitung
Data Mining wird nach Herb Edelstein dazu benutzt, (versteckte) Muster und
Beziehungen in deinen Daten zu entdecken, um mit Hilfe dieser Informationen
bessere Business-Entscheidungen zu treffen [5]. Dabei nehmen diese zu durchsuchenden Datenbestände in der heutigen Zeit jedoch so rasant zu, daß dies auch
zahlreiche Probleme mit sich bringt. So mussten Daten bisher, um Data Mining
Techniken darauf anwenden zu können, aufwendig aus der Datenbank extrahiert
werden, um später die erhaltenen Ergebnisse wieder dorthin zurückzuspeichern.
Dieser mitunter sehr kostspielige und zeitaufwendige Prozess [6] sollte deshalb
vereinfacht werden, und so begannen einzelne Firmen, Data Mining Funktionalität in die Datenbanken zu verlagern. In dieser Arbeit sollen einige dieser
Produkte vorgestellt und verglichen werden, nachdem zuvor das Crisp-Modell
[1] sowie der Standard SQL/MM [2] erläutert werden.
2
CRoss Industry Standard Process for Data
Mining (Crisp-Modell)
Das Crisp - Modell wurde 1997 als europäisches Projekt von einem Industrie
Konsortium (NCR Dänemark, SPSS, DaimlerChrysler, OHRA Bank) entwickelt, um den Data Mining Prozess zu standardisieren.
Ein großer Vorteil, der sich daraus ergab war, daß man Data Mining als einen
Prozess verstand und diesen dementsprechend als solchen beschrieb. Außerdem
konnte dadurch ein besserer Anschluss der DM - Ergebnisse an Business Problematiken und eine höhere Zuverlässigkeit durch bessere Vorhersehbarkeit erreicht
werden. Die Phasen des Crisp - Modells [1] im Einzelnen:
1. Business Understanding
Diese Anfangsphase konzentriert sich auf die Formulierung des eigentlichen Projektziels aus der Perspektive des Anwenders und konvertiert dieses Wissen in eine Data Mining Problemdefinition und einen vorläufigen
Plan, dieses Ziel zu erreichen.
2. Data Understanding
Hier wird mit der Datenauswahl begonnen. Insbesondere ist es Ziel dieser
Phase, die Daten besser kennenzulernen und Probleme der Datenqualität
oder interessante Teilmengen der Daten zu entdecken.
3. Data Preparation
Diese Phase deckt alle Aktivitäten zur Konstruktion der endgültigen Analysedaten ab. Typische Aufgaben sind z.B. Selektion, Bereinigung und Formatierung von Daten.
4. Modelling
Auf dieser Stufe werden verschiedene Modellverfahren ausgewählt und angewandt, sowie deren Parameter festgelegt. Typischerweise gibt es verschiedene Techniken für den selben Data Mining Problemtyp. Manche haben dabei spezifische Voraussetzungen an die Form der Daten, weshalb
man an dieser Stelle oftmals zur Data Preparation Phase zurückkehren
muss.
2
5. Evaluation
Zu Beginn dieser Phase des Prozesses hat man ein aus Sicht der Datenanalyse qualitativ hochwertiges Modell erstellt, das nun noch genauer
evaluiert werden muss. Insbesondere ist zu überprüfen, ob ein wichtiger
Business - Punkt evtl. nicht genügend berücksichtigt wurde.
6. Deployment
Hier kommt es zur endgültigen Auswertung des Modells.
Grafisch sieht der hier beschriebene Prozess dann wie folgt aus:
Abbildung 1: Die Phasen des Crisp - DM Prozess Modells
In Kapitel 4 werden wir sehen, daß die dort vorgestellten Produkte bisher nur
Data Mining Funktionalitäten in den Datenbanken integriert haben, mit denen
die Phasen Data Preparation, Modeling und Deployment abgedeckt werden.
3
3.1
SQL Multimedia and Application Packages
SQL/MM
SQL/MM ist ein eigenständiger, von der International Standard Organisation
und der International Electrotechnical Commission festgelegter SQL-Standard
[2], der z. Z. aus den folgenden Teilen besteht:
3
Teil 1: Framework
Teil 2: Full-Text
Teil 3: Spatial
Teil 5: Still Image
Teil 6: Data Mining
Mit Teil 6 wird eine standardisierte SQL-Schnittstelle zur Verfügung gestellt,
die Data-Mining als Teil von SQL-Abfragen bzw. Anwendungen erlaubt.
3.2
3.2.1
SQL/MM Teil 6 - Data Mining
Data Mining Techniken
Bei der Definition der Schnittstelle wurden die folgenden vier Data Mining Techniken berücksichtigt:
• Assoziationsregeln
Ausgehend von zwei disjunkten Attributmengen X,Y sollen Wahrscheinlichkeitsaussagen der folgenden Form gemacht werden:
Wenn ein Datensatz alle Attribute aus X enthält, so enthält er mit Wahrscheinlichkeit p auch alle Merkmale aus Y.
• Cluster-Methoden/Segmentierung
Ausgehend von einer Menge von Datensätzen mit mehreren Attributen sollen Datensätze mit gemeinsamen Charakteristiken gefunden werden. Die
Datensätze mit gemeinsamen Charakteristiken nennt man dann Cluster.
• Klassifikation
Ausgehend von einer Menge von Datensätzen mit bestimmten Attributen
und einem speziellen Merkmal (class label) soll ein Klassifikationsmodell
erstellt werden, mit dessen Hilfe und unter Verwendung einer Menge von
Eingabewerten der Wert des class labels vorhergesagt werden kann.
• Regression
Regression ist der Klassifizierung sehr ähnlich und unterscheidet sich nur
in dem Typ des vorhergesagten Wertes. Vielmehr wird statt eines class
labels ein kontinuierlicher Wert vorhergesagt.
3.2.2
Data Mining Phasen
Hier werden nun die in diesem Standard erwähnten Data Mining Phasen und
deren Bedeutung für den Data Mining Prozess beschrieben, wobei sich diese auf
das Data Mining im eigentlichen Sinne beschränken. D.h. die hier beschriebenen Phasen entsprechen im Wesentlichen den in Kapitel 2 vorgestellten Phasen
Modeling und Deployment des CRISP - Modells.
• Trainingsphase
In der Trainingsphase soll ein geeignetes Modell anhand einer Trainingsdatenmenge generiert werden. Um ein solches Modell zu erstellen, sind
4
neben den Trainingsdaten außerdem noch Settings oder Einstellungen notwendig. Diese sind abhängig von der jeweiligen Data Mining Technik und
dienen dazu, logische Spezifikationen und Parameter (z.B. das class label
bei einer Klassifikation) festzulegen. Abhängig von Daten und Spezifikationen entsteht also ein Modell, mit dem im Folgenden weitergearbeitet
wird, wobei zum Erstellen eines geeigneten Modells oft ein mehrmaliger
Eingabeprozess notwendig ist.
Abbildung 2: Trainingsphase
• Testphase
Das in der Trainigsphase erstellte Modell soll nun bzgl. der Qualität der
Vorhersage getestet werden. Dies wird mit einer Testdatenmenge durchgeführt, die möglichst von der Trainingsdatenmenge verschieden sein sollte
und von der die vorherzusagenden Parameter bereits bekannt sein müssen.
Abbildung 3: Testphase
• Anwendungsphase
Sobald man ein qualitativ geeignetes Modell gefunden hat, kann man dieses
Modell nun dazu verwenden, Aussagen über andere Daten zu machen, von
denen der vorherzusagende Parameter noch unbekannt ist. Dazu wird eine
Datenzeile bzw. eine Datenmenge gegen das erstellte Modell ausgewertet
und ein oder ggf. mehrere Werte berechnet.
5
Abbildung 4: Anwendungsphase
3.2.3
Ein Beispiel - Klassifikation
Bei diesem Beispiel soll von dem folgenden Anwendungsszenario ausgegangen
werden:
• Kundentabelle CT einer Versicherung mit Spalten C1,...,C9 und Spalte R
(Risikoklasse des Kunden)
• Aufgabe: Klassifikationsmodell erstellen, mit dem die Risikoklasse eines
neuen Kunden vorhergesagt werden kann
• Das Modell soll mehrfach berechnet werden können
• Testmöglichkeit mit Testtabelle TT (gleiche Struktur wie CT)
Der erste Schritt ist nun, die Werte zu definieren, die für einen Trainingsdurchlauf benötigt werden, d.h. einen DM ClasBldTask Wert zu generieren. Da
das Modell evtl. mehrfach berechnet werden soll, muss der DM ClasBldTask
Wert gespeichert werden. Dazu ist in diesem Standard eine Tabelle für MiningAufgaben mit Spalten ID vom Typ Integer und TASK vom Typ DM ClasBldTask
vorgesehen. Die folgende Liste enthält die entsprechenden Schritte, um ein
DM ClasBldTask zu definieren:
1. Generieren eines DM MiningData Wertes mit der Methode
DM defMiningData
2. . . . (Hier könnten weitere Spezifikationen vorgenommen werden)
3. Generieren eines DM ClasSettings Wertes mit dem default constructor
4. Festlegung der Spalte R als class label mit der Methode
DM setClasTarget
5. Generieren eines DM ClasBldTask Wertes mit der Methode
DM defClasBldTask
6. Speichern des neu generierten DM ClasBldTask Wertes in der Tabell MT
6
WITH MyData AS(
DM MiningData::DM defMiningData(‘CT‘)
)
INSERT INTO MT(ID, TASK)
VALUES (
1, DM ClasBldTask::DM defClasBldTask(
MyData, NULL, (new DM ClasSettings()
...
).DM setClasTarget(‘R‘)
)
)
Nun, da der DM ClasBldTask Wert generiert und in der Tabelle MT gespeichert
ist, kann mit dem Klassifikationstraining begonnen und das Klassifikationsmodell berechnet werden. Da das Modell bei späteren Anwendungen und Testläufen
benutzt werden soll, wird es in der Tabell MM gespeichert, die aus den Spalten
ID vom Typ Integer und MODEL vom Typ DM ClasModel besteht:
INSERT INTO MM (ID, MODEL)
VALUES (
1, MyTask.DM buildClasModel()
)
Ein einfacher Test kann unter Verwendung der Testdaten durchgeführt werden:
SELECT MODEL.DM testClasModel(
DM Mining::DM defMiningData(‘TT‘)
)
FROM MM
WHERE ID = 1
4
Data Mining in Datenbank - Management Systemen
Data Mining Techniken werden i.A. auf sehr große Datenmengen angewandt,
die normalerweise in relationalen Datenbanken abgespeichert sind. Dazu mussten die entsprechenden Daten bisher zunächst aus der Datenbank herausgeholt
werden, um die Data Mining Algorithmen darauf anwenden zu können und
anschließend mussten die erhaltenen Ergebnisse ggf. in die Datenbank zurückgeschrieben werden. Dies war mitunter sehr umständlich und aufwendig, so daß
zahlreiche Firmen mittlerweile begonnen haben, Data Mining Funktionalität in
die Datenbanksysteme zu integrieren. Gleichzeitig ergeben sich dadurch noch
weitere Vorteile, wie z.B.:
7
• Erhalt der Datenintegrität und weniger Redundanzen in den Daten
• Es sind keine zusätzlichen Verarbeitungs- und Speicherplatzressourcen
notwendig
• Geringere Entwicklungskosten durch Verwendung von Standard SQL-Tools
• Geringere Einsatzkosten durch einfachere, weniger komplexe Prozesse
• Schnellerer Weg zu Information und Wissen
Im Folgenden sollen nun drei Produkte vorgestellt und verglichen werden, bei
denen Data Mining Funtionalität bereits in einem Datenbanksystem integriert
ist.
4.1
Oracle Data Mining (ODM)
Dies ist eine Option der Oracle Database 9i Enterprise Edition bzw. der ganz
neuen Version Oracle Database 10g Enterprise Edition, die für alle Plattformen
zur Verfügung steht, die von diesen Datenbanksystemen unterstützt werden.
ODM integriert dabei die folgenden Algorithmen:
• Attribute importance
• Klassifikation und Regression
• Clustering
• Assoziationsregeln
• Feature extraction
• Text mining
• Sequence matching and alignment - BLAST
Funktionen zur Modellbildung und zum Modell Scoring sind sowohl über eine
Java- als auch eine PL/SQL API und einen Data Mining Client verfügbar [3].
ODM‘s Java API
ODM‘s Java API unterstützt Data Mining Funktionen, um die Automation
von Data Preparation, Model building und Model scoring zu ermöglichen. Zur
Modellbildung unterstützt die ODM Java API das Konzept der mining funtion
(siehe integrierte Algorithmen) und optional der mining algorithm settings. Dabei sind für alle Algorithmen veränderbare Default-Werte vorgesehen. Außerdem
werden weitere Data Mining Standards wie PMML und SQL/MM unterstützt.
8
ODM DBMS DM PL/SQL API
ODM‘s PL/SQL API kann genutzt werden, um BI-Anwendungen zu bilden. Dabei verwendet ODM‘s PL/SQL API eine Sprache und Entwicklungsmethodik,
die der Mehrzahl von Oracle Server-Entwicklern und Datenbank Administratoren bekannt ist. Die PL/SQL API ist unterteilt in die beiden Teile
• DBMS DM
• DBMS DM TRANSFORM
4.1.1
Modellbildung und simultane Anwendung
Über einen ODM Client können Datenanalysten Modelle generieren, evaluieren
und scoren, indem sie eine grafische Benutzeroberfläche wie z.B. Data Mining
for Java (DM4J) nutzen. Der ODM Client führt den Datenanalysten durch den
Data Mining Prozess und unterstützt simultanes Bilden von Modellen und Anwenden, da automatisch der zugehörige Java und/oder SQL Code erzeugt wird.
Erforschen und Transformieren der Daten
Der ODM Client benutzt einfach zu handhabende Tools zur Visualisierung und
Transformation der Daten. Dazu sind umfangreiche Werkzeuge zur Erfassung,
Diskretisierung, Normalisierung, Filterung und zum Generieren neuer transformierter Daten vorhanden [4]. Des weiteren ist der Zugang zu den Daten über
einfache SQL-Abfragen möglich.
Automation und Integration von Anwendungen
Des weiteren bietet Oracle die Möglichkeit zur Integration zahlreicher weiterer
Tools, wie z.B. den Oracle Warehouse Builder, den JDeveloper, den Discoverer,
die CRM 11i Application etc., mit denen der Data Mining Prozess unterstützt
und vereinfacht werden kann.
So ist es z.B. mit Hilfe der Oracle CRM 11i Application möglich, für eine Reihe von vordefinierten Business-Problemen automatisch Modelle generieren und
scoren zu lassen [5]. Dadurch soll die Anwendung von Data Mining Techniken
auch ohne genaue Kenntnisse über die zugrunde liegenden, z.T. sehr komplexen
Algorithmen unterstützt werden. Allerdings ist dabei zu beachten, daß dazu ein
bereits bekanntes Schema des Problems vorhanden sein muss, d.h. es müssen
bereits im Voraus Modellannahmen getroffen werden. Typische Fragestellungen
in diesem Kontext wären z.B.:
• Welcher Kunde spricht auf E-mail Angebote/Fernsehverkauf an?
• Welcher Kunde bleibt meinem Unternehmen/Produkt treu?
Insgesamt deckt Oracle mit seinen Tools somit z.Z. die in Kapitel zwei beschriebenen Phasen Data Preparation, Modeling und Deployment ab.
9
4.2
IBM DB2 Intelligent Miner (IM)
Dies ist eine Erweiterung der IBM DB2 Universal Database.
Dabei stehen dem Anwender hier die folgenden Techniken zur Verfügung:
• Klassifikation
• Clustering
• Sequentielle Muster
• Assoziationsregeln
• Ähnliche Sequenzen
• Neuronale-/Radial Basis Function Vorhersage
Der IBM Intelligent Miner unterstützt Industriestandards wie SQL/MM und
PMML [6] und deckt mit seinen integrierten Data Mining Tools alle Schritte
von der Data Preparation über das Modeling bis zum Deployment ab. So stehen
dem Anwender zur Data Preparation Tools zur Datenauswahl und -verknüpfung
aus mehreren Tabellen bzw. Sichten, zur Diskretisierung und zum Filtern zur
Verfügung. Neben den Erweiterungen IM Modeling (incl. der grafischen Benutzeroberfläche IM for Data) zur Modellbildung und IM for Scoring zum Scoren,
die etwas später noch genauer behandelt werden, stehen mit dem IM for Visualisation und anderen Anwendungslösungen weitere Werkzeuge zur Verfügung,
die auf dem Intelligent Miner aufbauen und vorgefertigte Spezialisierungen enthalten [6].
4.2.1
IM Modeling
Der Intelligent Miner Modeling ist eine optimierte SQL-Erweiterung zur Unterstützung der Entwicklung von Data Mining Modellen in einem Format kompatibel mit PMML [6].
Ein auf diese Art und Weise generiertes Modell muss dann in eine externe Datei
exportiert werden, um anschließend z.B. mit dem IM for Scoring weiterverarbeitet werden zu können (siehe dazu auch Abbildung 5).
4.2.2
IM for Scoring
Der Intelligent Miner for Scoring erweitert die Funktionen der Datenbank und
ermöglicht es Benutzern, Data Mining Analysen in Echtzeit auszuführen. Dazu
wird das mit dem IM Modeling oder einem anderen Tool erstellte und exportierte
Modell zunächst importiert und als XML-Objekt in einer DB2 Tabelle abgespeichert. Der Zugriff auf das so gespeicherte Modell erfolgt über eine Standard SQL
API und kann somit auf die in DB2 Tabellen gespeicherten Daten angewandt
werden. Die Speicherung der Scoring-Ergebnisse erfolgt wiederum in einer DB2
Tabelle. Aus diesen Ergebnissen müssen dann die gewünschten Informationen
herausgezogen werden [7]. Grafisch dargestellt sieht der Modellbildungs- und
Scoringprozess wie folgt aus:
10
Abbildung 5: Der Intelligent Miner Scoring Prozess
4.3
Microsoft SQL Server
Microsoft hat mit dem MS SQL Server 2000 ein Produkt auf den Markt gebracht,
in dem Data Mining Funktionalitäten integriert wurden. Allerdings sind diese
Tools gegenüber den anderen vorgestellten Produkten bisher sehr begrenzt. So
werden z.B. nur die folgenden beiden Algorithmen unterstützt:
• Entscheidungsbäume
• Clustering
Auch der MS SQL Server 2000 unterstützt Standards wie PMML und OLE DB
for Data Mining [8].
Das Bilden der Modelle und die Anwendung auf die Daten erfolgt - analog dem
Datenzugriff über SQL Abfragen - durch Befehle wie z.B. CREATE, INSERT,
SELECT, . . . . Vorhersagen werden anschließend über einen neuen Data Mining
Operator, den sog. prediction join, bewerkstelligt, der dem join-Operator in
SQL Syntax ähnelt. Dazu wird mit Hilfe eines Data Transfer Services(DTS) ein
Vorhersage-Packet gebildet, welches das trainierte Modell enthält und auf eine
untrainierte Datenmenge zeigt, über die Vorhersagen gemacht werden sollen [8].
Wie bereits erwähnt ist die Data Mining Funtionalität im MS SQL Server
2000 sehr begrenzt, so daß nur Teile der Phasen Modeling und Deployment
unterstützt werden.
5
Fazit
Da das in place mining, also die Verlagerung des Data Mining Prozesses in die
Datenbank, zahlreiche Vorteile bietet, gehen mittlerweile immer mehr Firmen
dazu über, Data Mining Funktionalität in die Datenbank zu verlagern. Führend
sind dabei zur Zeit vor allem IBM und Oracle mit ihren vorgestellten Produkten.
11
Durch die Festlegung von Standards wie SQL/MM, PMML etc. wird die Integration von Data Mining Funktionen in Datenbankmanagementsysteme zusätzlich
gefördert und vereinfacht, so daß in Zukunft wohl noch weitere Firmen diesen
Weg einschlagen werden. Außerdem werden immer mehr Tools entwickelt, um
den an sich relativ komplizierten Prozess des Data Mining und die damit verbundenen Vorteile auch für Anwender ohne entsprechende Data Mining Kenntnisse
nutzbar zu machen. Allerdings ist auch dazu wohl ein Mindestmaß an Kenntnissen im Bereich von Datenbanken notwendig.
Insgesamt hat die hier aufgezeigte Entwicklung den Prozess des Data Mining
deutlich vereinfacht, aber es werden noch lange nicht alle Phasen des Data Mining Prozesses, so wie er nach dem Crisp-Modell verstanden wird, abgedeckt.
12
Literatur
[1] CRoss Industry Standard Prozess for Data Mining,
http://www.crisp-dm.org
[2] ISO/IEC WD 13249-6, Information technology - Database languages SQL Multimedia and Application Packages - Part 6: Data Mining 2nd
ed, 2003
[3] Oracle Data Mining Data Sheet, Januar 2004
http://otn.oracle.com/products/bi/odm/odmining.html
[4] Oracle Data Mining Overview Presetation, Dezember 2004
http://otn.oracle.com/products/bi/odm/odmining.html
[5] Oracle Data Mining Technical White Paper,Dezember 2001,
http://otn.oracle.com/products/bi/odm/odmining.html
[6] IBM DB2 Intelligent Miner,
http://www-306.ibm.com/software/data/iminer
[7] Mark Oliver Thilo: Evaluierung des Schnittstellen-Standards Predictive Model Markup Language (PMML) für Data Mining, Fachhochschule
Pforzheim, Dezember 2002
[8] Barry de Ville: Data Mining in SQL Server 2000, SQL Server Magazin,
Januar 2001
13
Herunterladen