6. Data Mining Inhalt § 6.1 Motivation § 6.2 Klassifikation § 6.3 Clusteranalyse § 6.4 Asszoziationsanalyse Datenbanken & Informationssysteme / Kapitel 6: Data Mining 2 6.1 Motivation § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse (actionable insights) aus verfügbaren Daten zu gewinnen § Überlappung mit dem Gebiet des maschinellen Lernens (machine learning), wo jedoch die Vorhersagekraft, anstelle von Einsichten, im Vordergrund steht § Begriff „Data Mining“ kam in den frühen 1990er Jahren auf, verwendete Verfahren sind teilweise älter Datenbanken & Informationssysteme / Kapitel 6: Data Mining 3 Aufgaben (tasks) § Drei gängige Aufgaben (tasks) im Data Mining sind: § Klassifikation, d.h. Datenpunkte (z.B. Dokumente) und ihre Klassen (z.B. Themen) sind bekannt; finde heraus, was Datenpunkte einer bestimmten Klasse auszeichnet, um so neue Datenpunkte klassifizieren zu können § Clusteranalyse, d.h. Datenpunkte (z.B. Dokumente) sind bekannt; teile die Datenpunkte in (eine bestimmte Anzahl) von homogenen Gruppen (cluster) ein § Mustererkennung, d.h. Daten (z.B. Einkäufe) sind bekannt; finde darin Muster (z.B. häufig zusammen gekaufte Artikel) Datenbanken & Informationssysteme / Kapitel 6: Data Mining 4 6.2 Klassifikation § Datenpunkte (z.B. Dokumente) mit ihren Klassen (z.B. Themen) sind gegeben; finde für neue Datenpunkte die passende Klasse heraus § Drei Arten von Verfahren zur Klassifikation § distanzbasierte (z.B. k-Nächste-Nachbarn) § probabilistische (z.B. Naïve Bayes) § diskriminative (z.B. Entscheidungsbäume) § Verfahren unterscheiden sich u.a. darin, ob sie erklären können, was eine bestimmte Klasse auszeichnet Datenbanken & Informationssysteme / Kapitel 6: Data Mining 5 Anwendungsbeispiele § Klassifikation von Zeitungsartikeln oder Blogposts in Politik, Sport, Kultur, Reise und Auto § Klassifikation von E-Mails in Spam und Nicht-Spam § Segmentierung von Kunden in Schnäppchenjäger, Normalos und Luxusliebhaber § Produktempfehlungen für bestimmten Kunden durch Klassifikation in Interessant und Nicht-Interessant § Handschrifterkennung auf Überweisungsträgern durch Klassifikation der gescannten Zeichen in Klassen 0-9 Datenbanken & Informationssysteme / Kapitel 6: Data Mining 6 6.2.1 k-Nächste Nachbarn § Klassifikation anhand der k nächsten Nachbarn ist ein distanzbasiertes Verfahren, welches mehr als zwei Klassen unterstützt § Idee: Neuer Datenpunkt wird klassifiziert, indem § die k nächsten Datenpunkte mit bekannter Klasse gemäß geeignetem Distanzmaß bestimmt werden § die häufigste aus deren Klassen ausgewählt wird § Typische Werte für k sind {5, 10, 15, 25}; im Fall binärer Klassifikation ist Wahl eines ungeraden Werts sinnvoll Datenbanken & Informationssysteme / Kapitel 6: Data Mining 7 Euklidische Distanz § Datenpunkte als Vektoren in m-dimensionalen Vektorraum § Euklidische Distanz (L2-Distanz) als Distanzmaß zwischen zwei Vektoren xi und xj ı̂ m ıÿ ! "2 Ù d(xi , xj ) = x(i,k) ≠ x(j,k) k=1 xi d(xi, xj) xj Datenbanken & Informationssysteme / Kapitel 6: Data Mining 8 Euklidische Distanz § Euklidische Distanz ist eine Metrik, d.h. es gelten § positive Definitheit d(xi , xj ) Ø 0 § Symmetrie d(xi , xj ) = d(xj , xi ) § Dreiecksungleichung d(xi , xk ) Æ d(xi , xj ) + d(xj , xk ) Datenbanken & Informationssysteme / Kapitel 6: Data Mining 9 k-Nächste Nachbarn § Beispiel: Autos mit Merkmalen Gewicht und Hubraum § Auto mit Gewicht 1000 kg U.S.A. Europa Japan 6 und Hubraum 3L ist 7 sowie Merkmal Herkunft 4 1 2 3 Hubraum 5 zu klassifizieren 800 1000 1200 1400 1600 1800 2000 Gewicht Datenbanken & Informationssysteme / Kapitel 6: Data Mining 10 k-Nächste Nachbarn 7 k=3 6 U.S.A. Europa Japan § Auto wird als 4 1 2 3 klassifiziert Hubraum U.S.A. 5 Herkunft 800 1000 1200 1400 1600 1800 2000 Gewicht Datenbanken & Informationssysteme / Kapitel 6: Data Mining 11 k-Nächste Nachbarn § Die drei nächsten Nachbarn sind § x1 = (1080, 3.2) 4.0 § x2 = (1190, 2.8) U.S.A. Europa Japan 3.5 § x3 = (900, 1.8) 2.5 x2 x3 1.5 2.0 § d(x, x2) ≈ 190 § d(x, x3) ≈ 100 1.0 § d(x, x1) ≈ 180 Hubraum § x = (1000, 3) x 3.0 § Distanzen zu x1 800 900 1000 1100 1200 1300 1400 Gewicht Datenbanken & Informationssysteme / Kapitel 6: Data Mining 12 k-Nächste Nachbarn § k-Nächste Nachbarn ist ein einfaches, aber robustes Klassifikationsverfahren, das immer anwendbar ist, wenn zwischen Datenpunkten ein sinnvolles Distanzmaß definiert werden kann § Nachteile: § naïve Implementierung, d.h. Distanzberechnung zu allen Datenpunkten aus den Trainingsdaten, ist rechenintensiv (bessere Implementierungen verwenden Indexstrukturen) § geringe Interpretierbarkeit, d.h. keine Erkenntnisse darüber, welche Eigenschaften die Datenpunkte einer Klasse auszeichnen (z.B. viel Hubraum für U.S.A.) Datenbanken & Informationssysteme / Kapitel 6: Data Mining 13 6.2.2 Naïve Bayes § Naïve Bayes ist eine Familie von Klassifikationsverfahren, die insbesondere zur Klassifikation von Textdokumenten (z.B. E-Mails in Spam/Nicht-Spam) eingesetzt wird § Der Name Naïve Bayes rührt daher, dass die Verfahren den Satz von Bayes für bedingte Wahrscheinlichkeiten verwenden und eine (naïve) Unabhängigkeitsannahme über die Verteilung der verwendeten Merkmale machen Datenbanken & Informationssysteme / Kapitel 6: Data Mining 14 Bedingte Wahrscheinlichkeit § Betrachte zwei Ereignisse A und B, z.B. § A ist das Ereignis, dass Objekt ein Kreis ist § B ist das Ereignis, dass Objekt grün ist P [ A ] = 5/9 P [ B ] = 4/9 § A B ist das Ereignis, dass ein grünes Kreis gezogen wird P [ A · B ] = 3/9 Datenbanken & Informationssysteme / Kapitel 6: Data Mining 15 Bedingte Wahrscheinlichkeit § Bedingte Wahrscheinlichkeit P[ B | A ] (lies: B gegeben A) ist die Wahrscheinlichkeit, dass Ereignis B eingetreten ist, wenn wir wissen, dass Ereignis A eingetreten ist P[A · B] P[B | A] = P[A] hier: P [ B | A ] = 3/5 P [ A | B ] = 3/4 Datenbanken & Informationssysteme / Kapitel 6: Data Mining 16 Stochastische Unabhängigkeit § Zwei Ereignisse A und B heißen (stochastisch) unabhängig, wenn gilt P[A · B ] = P[A] · P[B ] § Bemerkung: Die beiden Ereignisse A und B im vorigen Beispiel sind nicht (stochastisch) unabhängig Datenbanken & Informationssysteme / Kapitel 6: Data Mining 17 Satz von Bayes § Thomas Bayes (1701–1761) formulierte folgenden Satz zur Berechnung bedingter Wahrscheinlichkeiten von Ereignissen A und B P[B | A] · P[A] P[A | B] = P[B] Quelle: en.wikipedia.org § Satz von Bayes erlaubt das Umkehren der Schlussrichtung und ist z.B. dann nützlich, wenn eines der Ereignisse schwierig alleine zu beobachten Datenbanken & Informationssysteme / Kapitel 6: Data Mining 18 Satz von Bayes § Beispiel: Untersuchung von Wildtieren § Ereignis A soll sein, dass Wildtier ein Fuchs ist § Ereignis B soll sein, dass Wildtier an Tollwut erkrankt ist § Annahme: Beobachtete Wahrscheinlichkeiten seien P [ A ] = 0.1 P [ B ] = 0.05 P [ A | B ] = 0.25 § Wahrscheinlichkeit, dass Fuchs an Tollwut erkrankt ist 0.25 · 0.05 P[B | A] = = 0.125 0.1 Datenbanken & Informationssysteme / Kapitel 6: Data Mining 19 Naïve Bayes zur Klassifikation von Dokumenten § Dokumente (z.B. E-Mails oder Zeitungsartikel) werden vorverarbeitet, z.B. indem Groß- und Kleinschreibung entfernt wird und die Dokumente an Leerzeichen in Wörter aufgeteilt werden § Jedes Dokument wird so in eine Multimenge von Wörtern (bag of words) überführt, d.h. Reihenfolge der Wörter geht verloren, ihre Häufigkeit bleibt jedoch erhalten The green politician Peter Green { green, green, peter, politician, the } Datenbanken & Informationssysteme / Kapitel 6: Data Mining 20 Naïve Bayes zur Klassifikation von Dokumenten § Trainingsdaten stehen uns in Form von Dokumenten d zur Verfügung, wobei wir für jedes die zugehörige Klasse c (z.B. Spam / Nicht-Spam) kennen § Zur Klassifikation eines vorher unbekannten Dokuments d bestimmt man die bedingten Wahrscheinlichkeiten P[c | d] und ordnet das Dokument in die Klasse mit der höchsten bedingten Wahrscheinlichkeit ein Datenbanken & Informationssysteme / Kapitel 6: Data Mining 21 Naïve Bayes zur Klassifikation von Dokumenten § Wahrscheinlichkeiten der einzelnen Klassen lassen sich auf Grundlage der Trainingsdaten schätzen als # Dokumente in Klasse c P[c] = # Dokumente § Wahrscheinlichkeit, dass ein Wort w in einem Dokument aus einer bestimmten Klasse c vorkommt, geschätzt als # Vorkommen des Worts w in Dokumenten der Klasse c P[w | c] = # Wortvorkommen in Dokumenten in Klasse c Datenbanken & Informationssysteme / Kapitel 6: Data Mining 22 Naïve Bayes zur Klassifikation von Dokumenten § Wahrscheinlichkeit, dass vorher unbekanntes Dokument d zur Klasse c gehört, geschätzt als P[c | d] = P[d | c] · P[c] P[d] dies kann vereinfacht werden, da nur die Klasse mit maximaler bedingter Wahrscheinlichkeit bestimmt werden muss, der Faktor P[d] jedoch für alle Klassen gleich ist P[c | d] Ã P[d | c] · P[c] Datenbanken & Informationssysteme / Kapitel 6: Data Mining 23 Naïve Bayes zur Klassifikation von Dokumenten § Wahrscheinlichkeit, dass Dokument d aus der Klasse c stammt, schätzt man anhand der Wortvorkommen als P[d | c] Ã Ÿ wœd P[w | c] f (w,d) hierbei sei f(w, d) die Zahl der Vorkommen des Worts w im Dokument d § Intuition: Dies entspricht der Wahrscheinlichkeit, dass das Dokument d durch zufälliges Ziehen von Wörtern gemäß der Wahrscheinlichkeiten P[w | c] zustande kommt Datenbanken & Informationssysteme / Kapitel 6: Data Mining 24 Beispiel Naïve Bayes § Folgende Dokumente mit Klassen N/S als Trainingsdaten d1 d2 d3 d4 d5 a b x y 2 0 2 1 1 1 1 1 0 1 0 2 1 2 0 0 2 1 2 0 N S N S N § Wahrscheinlichkeiten der Klassen N und S P [ N ] = 3/5 Datenbanken & Informationssysteme / Kapitel 6: Data Mining P [ S ] = 2/5 25 Beispiel Naïve Bayes § Folgende Dokumente mit Klassen N/S als Trainingsdaten d1 d2 d3 d4 d5 a b x y 2 0 2 1 1 1 1 1 0 1 0 2 1 2 0 0 2 1 2 0 N S N S N § Wahrscheinlichkeiten der Wörter a, b, x und y je Klasse P [ a | N ] = 5/10 P [ b | N ] = 3/10 P [ x | N ] = 1/10 P [ y | N ] = 1/10 Datenbanken & Informationssysteme / Kapitel 6: Data Mining P [ a | S ] = 1/10 P [ b | S ] = 1/10 P [ x | S ] = 4/10 P [ y | S ] = 4/10 26 Beispiel Naïve Bayes § Klassifikation des vorher unbekannten Dokuments d6 d6 P [ N | d6 ] = = P [ S | d6 ] = = a b x y 2 2 1 1 ? P [ d6 | N ] · P [ N ] 3 4 5 5 3 3 1 1 3 · · · · · · = 135/106 10 10 10 10 10 10 5 P [ d6 | S ] · P [ S ] 3 4 1 1 1 1 4 4 2 · · · · · · = 6.4/106 10 10 10 10 10 10 5 § Das Dokument wird in die Klasse N eingeordnet Datenbanken & Informationssysteme / Kapitel 6: Data Mining 27 Rechnen mit kleinen Wahrscheinlichkeiten § Wie am Beispiel zu erkennen, werden die betrachteten Wahrscheinlichkeiten sehr klein, was zu numerischen Problemen (z.B. Abrunden zu Null) führen kann § Für eine Implementierung ist es daher ratsam, eine Log-Transformation vorzunehmen log P [ c | d ] Ã log P [ d | c ] + log P [ c ] log P [ d | c ] Ã Datenbanken & Informationssysteme / Kapitel 6: Data Mining ÿ wœd f (w, d) · log P [ w | c ] 28 Rechnen mit kleinen Wahrscheinlichkeiten § Die Logarithmus-Funktion ist monoton; da es nur gilt, die maximale bedingte Wahrscheinlichkeit P[c | d] zu ermitteln, ihr genauer Wert jedoch irrelevant ist, ist eine solche Transformation zulässig Datenbanken & Informationssysteme / Kapitel 6: Data Mining 29 Zusammenfassung § Data Mining and Knowledge Discovery zielt darauf ab, verwertbare Erkenntnisse aus Daten zu gewinnen § Klassifikation ordnet neue Datenpunkte in Klassen ein, deren Charakteristika vorab anhand von Trainingsdaten bestimmt wurden § k-Nächste Nachbarn als Klassifikationsverfahren basierend auf der Distanz zwischen Datenpunkten § Naïve Bayes als probabilistisches Klassifikationsverfahren, welches häufig zur Klassifikation von Texten eingesetzt wird Datenbanken & Informationssysteme / Kapitel 6: Data Mining 30 Literatur [1] C. D. Manning, P. Raghavan, H. Schütze: Information Retrieval, Cambridge University Press, 2008 (Kapitel 14 & 16) [2] M. J. Zaki und W. Meira Jr.: Data Mining and Analysis, Cambridge University Press, 2014 (Kapitel 18) http://www.dataminingbook.info Datenbanken & Informationssysteme / Kapitel 6: Data Mining 31