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 sunny Temperature hot overcast Temperature rainy Temperature mild Humidity high Windy true No 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 sunny Temperature hot mild Humidity high Windy true No false 2/3: No, 1/3: Yes Ulf Leser: Data Warehousing und Data Mining overcast Temperature rainy Temperature • 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? • … 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? DWH Bei welchen Telefonkunden besteht der Verdacht eines Betrugs? 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={o1, o2,… ,on} von Objekten – Jedes Objekt oi wird beschrieben durch die gleiche Menge von Attributen A={a1, a2,… ,am} • Heißen auch Dimensionen oder Feature – Die Attributwerte oij 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={C1, C2, …, Cl} 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 Quelle: [ES00] • 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? … 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 Normal distribution 1500 Uniform distribution 1000 500 10 3 11 0 11 7 96 89 82 75 68 61 54 47 40 0 • Extremfall: Ersetzen durch einen Wert • Schlechte Idee Ulf Leser: Data Warehousing und Data Mining 32 Equi-Width Histograms 3500 3000 2500 2000 Normal distribution 1500 Equi-width 1000 500 117 110 103 96 89 82 75 68 61 54 47 40 0 • 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 Normal distribution 1500 Equi-Depth 1000 500 117 110 103 96 89 82 75 68 61 54 47 40 0 • 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 n ∑ (x − x) ⋅ ( y − y) i rXY = i i =1 n n 2 i i ( ) ( ) x x y y − ⋅ − ∑ ∑ 2 i =1 . . . . . . . . . . . ... r XY > 0 rX Y ≈ 0 ...... ......... .. . . Ulf Leser: Data Warehousing und Data Mining i =1 .... ... . . .. .. r XY < 0 rX Y ≈ 0 . . . . .. . 43 n SQL ∑ (x − x) ⋅ ( y − y) i rXY = i i =1 n n ∑ (x − x) ⋅ ∑ ( y − y) i i =1 2 i i =1 • 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); Ulf Leser: Data Warehousing und Data Mining 44 2 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