Einführung in Data Mining mit Weka Philippe Thomas Ulf Leser Data Mining Drowning in Data yet Starving for Knowledge Computers have promised us a fountain of wisdom but delivered a flood of data The non trivial extraction of implicit, previously unknown, and potentially useful information from data Practical Machine Learning 2 Beispiele Banken Kreditwürdigkeit / Schufa Wertbapierhandel Bildklassifikation Synthetic Aperture Radar Ölausbreitung im Golf von Mexiko Porträtfinder Intrusion detection Kaufgewohnheiten (Payback) 3 Beispiele Männlich / Weibliche Authoren: Männlich: Bestimmte/Unbestimmte Artikel Eigennamen Weiblich: Pronomen S. Argamon, M. Koppel, J. Fine, A. R. Shimoni, 2003. “Gender, Genre, and Writing Style in Formal Written Texts,”Text, volume 23, number 3, pp. 321–346 4 Erfolge Netflix Start: Oktober 2006 Daten: 100 Millionen (personenbezogene) ratings Ziel: 10% Verbesserung über das Netflix eigene Empfehlungssystem 21 September 2009: Filme Postleitzahlen Datum BellKor’s Pragmatic Chaos How to Break Anonymity of the Netflix Prize Dataset? (Arvind Narayanan, Vitaly Shmatikov) 5 Erfolge Erkrankungen von Soya Bohnen Raynaud-Syndrom (Swanson 1986) Regeln waren besser als die der Experten Fish-Öl → Blut Viskosität, Gefäßaktivität → verbessert Blutzirkulation Wikipedia Raynaud-Syndrom Verkauf von Bier und Windeln 6 Konkretes Beispiel 7 Aufgabe Vorhersage von ”play” anhand der vier Attribute Outlook Temperature Humidity Windy 8 Erster Versuch 9 K-Nearest Neighbors Instanz basierter Algorithmus Kein Training Langsame Vorhersage (Clevere Datenstruktur) Benötigt eine Distanzfunktion Hintergrundwissen (Sunny → Overcast → Rainy) Attribute gleich wichtig Welcher k-Wert ist am besten? Empfindlich für Rauschen Ungeeignet für Hochdimensionale Daten 10 Data Representation Feature vector / Merkmalsvektor Reduktion des Problems auf Eigenschaften Bildverarbeitung → Fourierkoeffizienten Spamklassifikation → Rich, Viagra, million $ Häufig ”sparse” features Nur bedingt großer Überlap zwischen Training/Test Example Weather Temperature Play 1 Sunny Cold Yes 2 Rain Worm No 11 Statistical Modeling Play = 2/9 * 3/9 * 3/9 * 3/9 *9/14 = 0.0053 = 20.5% Play = 3/5 * 1/5 * 4/5 * 3/5 *5/14 = 0.0206 = 79.5% 12 Naïve Bayes P [ E∣H ]∗P [ H ] P [ H∣E ]= P[E] P [ yes∣E ]= P [ E1∣ yes ]∗P [ E2∣yes ]∗P [ E3∣yes ]∗...∗P [ yes ] P[E] 2 3 3 3 9 ∗ ∗ ∗ ∗ 9 9 9 9 14 P [ yes∣X ]= P[E] Konstant 13 Naïve Bayes Benutzt alle verfügbaren Attribute Attribute sind gleich wichtig und unabhängig Annahme oft verletzt (Temperatur) Feature Selektion kann hilfreich sein Kann mit fehlenden Attributen umgehen Wahrscheinlichkeiten können 0 werden Pseudocounts Kann in der Grundvariante nur mit Nominalen Daten umgehen ”There is nothing naïve in using Naïve Bayes” 14 Evaluation – Kreuzvalidierung Daten sind nur begrenzt verfügbar Training und Test müssen getrennt sein Quelle: http://genome.tugraz.at 15 Evaluation – Kreuzvalidierung 10 fold CV ist üblich Verteilung der Klassen sollte gleich sein Straitifiziertes Sampling Leave one out CV ist ein Spezialfall LOOCV liefert immer das selbe Ergebnis Per se nicht stratifiziert Rechenintensiv Intrinsische Evaluation... 16 Quelle: http://genome.tugraz.at Evaluation – Vierfeldertrafel Quelle: Wikipedia Binäre Klassifikation hat vier mögliche Ergebnisse Rp, Fp, Fn, Rn Accuracy/Vertrauenswahrscheinlichkeit RMS für numerische Variablen 17 Weka Sourceforge Projekt (GPL v2) Java GUI und API Sammlung an Algorithmen für pre-processing, maschinelles lernen und Visualisierung Gefördert seit 1993 18 Weka 19 Explorer 20 Attribute-Relation File Format Andrew's Ridiculous File Format 21 Explorer 22 Klassifizierung – 10 x CV 23 Naïve Bayes 24 Entscheidungsbaum 25 Feature Selection Attribute können irrelevant (Haarfarbe) oder redundant (Kelvin, Celcius, Fahrenheit) sein Entscheidungsbaum hat Probleme mit irrelevanten features Naive Bayes vor allem mit redundanten Deshalb Feature Selection Aber, das Ergebnis muss nicht zwingend besser sein! 26 Feature Selection 27 Clustering Unsupervised Suche nach natürlichen Gruppen Beispiel: Outlier detection Unbekannte Subtypen von Krebs Social Networks (Personencluster) 28 Clustering 29 Clustering 30 Clustering Clustering liefert 50% Fehler! 31 Visualisierung 32 Probleme Weka Speicherverbrauch und Rechenzeit Lernverfahren Hochdimensionale Daten Kein Inkrementelles Lernen im Experimenter möglich Java Doc nur oberflächlich vorhanden Große Auswahl an verschiedenen Algorithmen, aber weniger Möglichkeiten 33 Probleme Data Mining Wenig Beispiele, viele Features Overfitting Semantischer Drift Wahl des passenden Algorithmus Attribute Selection? Meta-Classifier? Evaluierung allgemein schwer 34 Probleme Concept drift Daten ändern sich über Zeit (sehr häufig) Regelmäßige Erneuerung der Daten Spam detection Maschine bekommt neue Parameter Erderwärmung Amazonkunden ”ändern” verhalten mit Alter Teuer (Rechenzeit, Kosten, Arbeitszeit) So gut wie nie als Problem behandelt 35 Welche Methode? Scaling to Very Very Large Corpora for Natural Language Disambiguation (Banko and Brill 2001) 36 Weitere Informationen http://www.cs.waikato.ac.nz/ml/weka Weka Wiki Weka Manual (325 Seiten) Mailing Liste Youtube 37 Alternativen RapidMiner (Weka mit hübscherer GUI) SPSS R Oracle Darwin MS-SQL 38 Java http://weka.wikispaces.com/Use+WEKA+in+your+Java+code 39 Java (cont) 40 Machine Learning https://www.coursera.org/course/ml 41 The End 42 Quele: flickr CMU G20 protests Assoziationsregeln Beschreiben Korrelationen zwischen auftretenden Ereignissen Warenkorbanalyse Zahnbürste → Zahpasta 43 Assoziationsregeln 44