Data Warehousing und Data Mining Einführung in Data Mining Ulf Leser Wissensmanagement in der Bioinformatik
Wo sind wir? Einleitung & Motivation Architektur Modellierung von Daten im DWH Umsetzung des multidimensionalen Datenmodells Extraction, Transformation & Load (ETL) Indexstrukturen für DWH Logische Optimierung Materialisierte Sichten Data Mining Ulf Leser: Data Warehousing und Data Mining 2
Inhalt dieser Vorlesung Was ist Data Mining? Typische Problemstellungen & Anwendungen Datenaufbereitung Deskriptive Datenanalyse Oracle Data Mining Ulf Leser: Data Warehousing und Data Mining 3
Beispiel Wann werden Baseballspiele durchgeführt? Beobachtungen des Vortags Ziel: Vorhersage der Spieldurchführung aufgrund früherer Beobachtungen Ulf Leser: Data Warehousing und Data Mining 4
Vorhersage Sunny Hot Normal False?? Einfacher Versuch: Regeln ableiten Ulf Leser: Data Warehousing und Data Mining 5
Entscheidungsbäume Outlook Temperature sunny overcast Temperature rainy Temperature hot mild Windy Humidity high No true false No Ulf Leser: Data Warehousing und Data Mining 6
Mehr Beobachtungen Sunny Hot High False Yes Sunny Hot High False No Sunny Hot High True No.. Ulf Leser: Data Warehousing und Data Mining 7
Aber wie? Outlook Temperature sunny overcast Temperature rainy Temperature Windy Humidity high true false hot mild No 2/3: No, 1/3: Yes Welche Faktoren sind am aussagekräftigsten? In welcher Reihenfolge bauen wir den Baum am besten? Müssen wir immer bis zu den Blättern gehen? Ulf Leser: Data Warehousing und Data Mining 8
Entscheidungsregeln Andere Darstellung des Baumes Regeln = Modell der Wirklichkeit Festlegung der Attribute und möglichen Ausprägungen Vereinfachung: Bestimmte Attribute, Bestimmte Ausprägungen Qualität von Regeln Support: Auf wie viele der Trainingsdaten passt die Regel? Confidence: Für wie viele der passenden Trainingsdaten sagt die Regel das richtige Ergebnis voraus? Ulf Leser: Data Warehousing und Data Mining 9
Traditionelle Analysemethode Manuell ausgeführte statistische Analyse Eher wenige Datensätze, eher wenig Attribute Formulieren von Hypothesen und deren Überprüfung Hypothesis-driven Wie hoch ist die statistische Evidenz, dass das Wetter am Vortag mit der Austragung eines Baseballspiels korreliert? Hypothesen werden vor der Datenanalyse formuliert Im DWH: Man überlegt sich mögliche Zusammenhänge und überprüft sie durch Formulieren der entsprechenden Anfrage Ulf Leser: Data Warehousing und Data Mining 10
Data Mining We are drowning in data and starving for knowledge Was machen Kunden eigentlich auf meiner Webseite? Riesige Datenberge Business: Weblogs, Telefonate, Einkäufe, Börsendaten, Forschung: Astronomie, Teilchenphysik, Bioinformatik, Jeder: Nachrichten, Blogs, Webseiten, Fotos, Millionen oder Milliarden von Datensätzen Hochdimensionale Daten mit Hunderten von Attributen Schon Formulierung von Hypothesen ist schwierig Data-Driven : Automatische Generierung und Prüfung von Hypothesen Vorsicht: Irgendwas findet man immer Ulf Leser: Data Warehousing und Data Mining 11
Beispiele Welche Kunden erreiche ich mit welcher Werbung am Besten? Welche Assoziationen bestehen zwischen den in einem Supermarkt gekauften Waren? Bei welchen Telefonkunden besteht der Verdacht eines Betrugs? DWH Zu welcher Klasse gehört dieser Stern? Ulf Leser: Data Warehousing und Data Mining 12
Knowledge Discovery in Databases [FPSS96] KDD is the non-trivial process of identifying valid, novel, useful and ultimately understandable patterns in data" Valid: Muster sind im statistischen Sinne valide (signifikant) Novel: Bisher unbekannt Useful: keine Mengen von undurchschaubarer Assoziationen Unterstandable: Man versteht die Muster (und damit die Daten) Sehr viel Interpretationsspielraum Data Mining als kreative Tätigkeit Ulf Leser: Data Warehousing und Data Mining 13
KDD als Prozess Quelle: [FPPS96] Datenauswahl Datenvorverarbeitung Datenreduktion Explorative Datenanalyse Data Mining Interpretation und Anwendung Ulf Leser: Data Warehousing und Data Mining 14
Inhalt dieser Vorlesung Was ist Data Mining? Typische Problemstellungen Klassifikation Clustering Assoziationsregeln Datenaufbereitung Deskriptive Datenanalyse Oracle Data Mining Ulf Leser: Data Warehousing und Data Mining 15
Eingabe Unser Modell Eine Menge O={o 1, o 2,,o n } von Objekten Jedes Objekt o i wird beschrieben durch die gleiche Menge von Attributen A={a 1, a 2,,a m } Heißen auch Dimensionen oder Feature Die Attributwerte o ij können kategorial, diskret, oder kontinuierlich sein Attributwerte können geordnet, halbgeordnet, ungeordnet sein Definition Eine Klassifikationsfunktion f:o C bildet Objekte aus O auf eine Menge von Klassen C={C 1, C 2,, C l } ab Ulf Leser: Data Warehousing und Data Mining 16
Drei klassische DM Aufgaben Klassifikation Gegeben eine Menge von Objekten und eine Menge von Klassen Welcher Klasse gehören die unklassifizierten Objekte an? Beispiel: Fraud-Detection bei Kreditkarten Clustering Gegeben eine Menge von Objekten Gibt es Gruppen (Cluster) ähnlicher Objekte? Beispiel: Segmentierung von Kunden Assoziationsregeln Geg. Menge von jeweils gemeinsam durchgeführten Aktionen Welche Aktionen kommen besonders häufig zusammen vor? Beispiel: Welche Produkte werden häufig gemeinsam gekauft? Ulf Leser: Data Warehousing und Data Mining 17
Klassifikation Attribute debt, income Jeder Kunde als Punkt im zweidimensionalen Raum Klassen: loan was fine (o) loan was lost (x) Für historische Objekte ist Klassenzugehörigkeit bekannt Finde Funktion, die neue Objekte (Werte für debt, income) einer der zwei Klasse zuordnet Für neue Kunden also ihre Klasse vorhersagt Ulf Leser: Data Warehousing und Data Mining 18
Lineare Trennung Quelle: [FPPS96] Berechnung der Trennfunktion, die den Fehler minimiert Komplexere Funktionen als lineare sind möglich Geht nur bei numerischen Attributen Ulf Leser: Data Warehousing und Data Mining 19
Overfitting Overfitting Modell ist perfekt für Trainingsdaten Aber sehr wahrscheinlich schlecht für andere Daten Ulf Leser: Data Warehousing und Data Mining 20
Hierarchische Aufteilung Verwendung lokaler Trennfunktionen Siehe Entscheidungsregeln Ulf Leser: Data Warehousing und Data Mining 21
Clustering Finde Gruppen zusammengehöriger Objekte Benötigt Abstandsmaß d Es soll gelten: zusammengehörend = nahe bzgl. d Ulf Leser: Data Warehousing und Data Mining 22
Clustern Daten? Ulf Leser: Data Warehousing und Data Mining 23
Nicht immer einfach Problem deutlich schlechter definiert als Klassifikation Wie groß sollen die Cluster ein? Welche Form dürfen die Cluster haben? Wie viele Cluster erwartet man? Müssen alle Punkte geclustert werden? Dürfen sich Cluster überlappen? Quelle: [ES00] Ulf Leser: Data Warehousing und Data Mining 24
Association Rule Mining Welche Items wurden häufiger als t Mal zusammen verkauft? Quelle: [Dun02] Problem: Es gibt so viele mögliche Itemsets! Wie viele? Ulf Leser: Data Warehousing und Data Mining 25
Grundprinzip: Large Itemset property Jede Subgruppe eines häufigen Itemsets muss häufig sein oder Häufige große Itemsets müssen aus häufigen kleinen Itemsets bestehen Ulf Leser: Data Warehousing und Data Mining 26
Weitere Themen Text-Mining: Clustering und Klassifikation von Texten Verschlagwortung; Plagiaterkennung; gezieltes Verschicken von Nachrichten; Clustering von Suchmaschinenergebnissen; Web-Mining Welche Webseiten werden häufig in einer bestimmten Reihenfolge besucht? Welche Struktur haben Web-Sites? Wie kommen Kunden mit meiner Webseite klar? Spatial Mining Daten mit geographischem Bezug Graph-Mining Struktur sozialer Netzwerke, Web als Graph, biologische Netzwerke, Ulf Leser: Data Warehousing und Data Mining 27
Klassifikation [Dun02] Ulf Leser: Data Warehousing und Data Mining 28
Beispiele aus der Praxis [AN00] Bonitätsprüfung im Versandhandel Gelernt aus ~5000 Beispielen mit ~100 Features Abbuchungen, Zahlungsverhalten, 1-2% Verbesserung in der Vorhersage bringt >Millionen Euro Verbundkäufe in Warenkorbdaten Kundensegmentierung aus Nutzungsverhalten Telekoms: Welche Tarife anbieten? Welche Tarife schaffen? Tarifeinstufung von Kunden bei Versicherungen Ulf Leser: Data Warehousing und Data Mining 29
Inhalt dieser Vorlesung Was ist Data Mining? Typische Problemstellungen Datenaufbereitung Deskriptive Datenanalyse Oracle Data Mining Ulf Leser: Data Warehousing und Data Mining 30
Datenaufbereitung Viele DM Verfahren reagieren empfindlich auf Ausreißer, fehlende Werte, Datenfehler etc. Preprocessing: Herstellung einer homogenen, vollständigen und bereinigten Datenbasis Alles aus ETL: Transformation, Plausibilität, Umrechnung, Ersetzung von fehlenden Werten durch Schätzen, Extrapolation Diskretisierung von Werten (Binning) Z.B. Einteilung des Einkommens von Kunden in 5 Bereiche Glättet Ausreißer, reduziert die Zahl verschiedener Werte Ranking von Werten Statt absoluten Einkommen wird der Rang benutzt Glättet Ausreißern Lässt aber auch ev. wichtige Unterschiede verschwinden Ulf Leser: Data Warehousing und Data Mining 31
Binning 3500 3000 2500 2000 1500 Normal distribution Uniform distribution 1000 500 40 47 54 61 68 75 82 89 96 0 103 110 117 Extremfall: Ersetzen durch einen Wert Schlechte Idee Ulf Leser: Data Warehousing und Data Mining 32
Equi-Width Histograms 3500 3000 2500 2000 1500 Normal distribution Equi-width 1000 500 0 40 47 54 61 68 75 82 89 96 103 110 117 Zahl der Bins festlegen und Raum äquidistant aufteilen Bins enthalten unterschiedlich viele Werte und decken den ganzen Raum gleichmäßig ab Berechnung durch Sortierung und einen Scan Ulf Leser: Data Warehousing und Data Mining 33
Equi-Depth 3500 3000 2500 2000 1500 Normal distribution Equi-Depth 1000 500 0 40 47 54 61 68 75 82 89 96 103 110 117 Zahl der Bins festlegen, dann Raum so aufteilen, dass alle Bins gleich viele Tupel enthalten Führt zu gleichgroßen Bins mit unterschiedlicher Breite Ulf Leser: Data Warehousing und Data Mining 34
Inhalt dieser Vorlesung Was ist Data Mining? Typische Problemstellungen Datenaufbereitung Explorative Datenanalyse Oracle Data Mining Ulf Leser: Data Warehousing und Data Mining 35
Explorative (deskriptive) Datenanalyse Ziel: Gefühl für die Daten bekommen Welche Werte sind wie häufig? Unterliegen die Werte einer bestimmten Verteilung? Sind zwei (oder mehr) Attributwerte stark korreliert? Bei 2.000.000.000 Tupeln nicht einfach Vorbereitung zur Auswahl des Data Mining Verfahrens Hier: Nur ganz einfache statistische Kennwerte Und deren Berechnung im DWH Ulf Leser: Data Warehousing und Data Mining 36
Univariate Beschreibung Beschreibung der Verteilung der Werte eines Attributs Suche nach einer möglichst kompakten Beschreibung Alle Werte: Verteilungsfunktion Ein Wert: Mittelwert, Median, Mode (häufigste Wert) Quelle: [HK05] Ulf Leser: Data Warehousing und Data Mining 37
Normalverteilte Daten Sehr viele Daten sind normalverteilt Zwei Werte: Standardabweichung und Varianz [μ σ, μ+σ]: Ca. 68% der Datenpunkte [μ 2σ, μ+2σ]: Ca. 95% der Datenpunkte [μ 3σ, μ+3σ]: >99% der Datenpunkte Ulf Leser: Data Warehousing und Data Mining 38
Visualisierung von Verteilungen Boxplots Min und max Erstes und drittes Quartil Mittelwert und (meist) Median Histogramme Ulf Leser: Data Warehousing und Data Mining 39
SQL Standard SQL: avg, stddev, median, quartile Wie findet man den mode eines Attributs t.a? SELECT a, cnt FROM (SELECT a, count(a) cnt FROM t GROUP BY a ORDER BY count(a)) WHERE ROWNUM=1; Ulf Leser: Data Warehousing und Data Mining 40
Multivariate Beschreibung Gleichzeitige Betrachtung der Verteilungen zweier (oder mehr) Attribute Einfachsten Fall: Statistische Unabhängigkeit P(a b)=p(a) und umgekehrt Besser beide Attribute univariat beschreiben Erkennbar im Scatter-Plot Ulf Leser: Data Warehousing und Data Mining 41
Kontingenztabellen Sehr oft sind Attribute aber nicht unabhängig Trotzdem nimmt man das oft an um Dinge einfach zu halten Kontingenztabelle für kategoriale Attribute Mittelfristig Arbeitslos Langfristig Arbeitslos Summen Ohne Ausbildung 19 18 37 Mit abgeschlossener Ausbildung 43 20 63 Summe 62 38 100 Was erwartet man für unabhängige Attribute? Ulf Leser: Data Warehousing und Data Mining 42
Korrelationskoeffizient Misst die lineare Korrelation zweier Attribute X und Y r XY = n n i= 1 ( x ( xi x) ( yi y) i x) i= 1 i= 1 2 n ( y i y) 2 r XY > 0 r XY 0............................ r XY < 0 r XY 0................... Ulf Leser: Data Warehousing und Data Mining 43
SQL Berechnung Kontingenztabelle für Attribute t.a und t.b? SELECT a,b,count(*) FROM t GROUP BY cube(a,b); Berechnung des Korrelationskoeffizienten für t.a und t.b? SELECT up/sqrt(down) FROM (SELECT sum((a-ma)*(b-mb)) up FROM t, (SELECT avg(a) ma, avg(b) mb FROM t) tm), (SELECT sum(sqr(a-ma))*sum(sqr(b-mb)) down FROM t, (SELECT avg(a) ma, avg(b) mb FROM t) tm); r XY = n ( x x) ( y i i i= 1 n n 2 ( xi x) i= 1 i= 1 ( y i y) y) 2 Ulf Leser: Data Warehousing und Data Mining 44
Inhalt dieser Vorlesung Was ist Data Mining? Typische Problemstellungen Datenaufbereitung Deskriptive Datenanalyse Oracle Data Mining Ulf Leser: Data Warehousing und Data Mining 45
Oracle Data Mining (ODM) Bibliothek mit typischen Data Mining Algorithmen Daten müssen in einer Tabelle vorliegen Zugriff über zwei APIs DBMS_DATA_MINING / DBMS_DATA_MINING_TRANSFORM Java API ODM Models Die meisten Verfahren berechnen Modelle Entscheidungsbäume, Verteilungen, Modelle werden in der DB gespeichert und können ausgetauscht, angewandt, exportiert und importiert werden Ulf Leser: Data Warehousing und Data Mining 46
Einige ODM Algorithmen Klassifikation: Decision Tree, Naive Bayes, Bayes Networks, SVM Regression Clustering: K-Means, hierarchisches Clustering Association Rule Mining Text Mining: Clustering, Klassifikation Ulf Leser: Data Warehousing und Data Mining 47
Literatur Han, J. and Kamber, M. (2006). "Data Mining. Concepts and Techniques", Morgan Kaufmann. Alpar, P. and Niedereichholz, J., Eds. (2000). "Data Mining im praktischen Einsatz". Braunschweig/Wiesbaden, Vieweg Verlagsgesellschaft. Dunham, A. M. H. (2002). "Data Mining". New Jersey, Pearson Education Inc. Ester, M. and Sander, J. (2000). "Knowledge Discovery in Databases". Berlin, Springer. Fayyad, U. M., Piatetsky-Shapiro, G. and Smyth, P. (1996). "From Data Mining to Knowledge Discovery in Databases." AI Magazine 17(3): 37-54. Ganti, V., Gehrke, J. and Ramakrishnan, R. (1999). "Mining Very Large Databases." IEEE Computer: 38-45. Ulf Leser: Data Warehousing und Data Mining 48