Einführung in Data-Mining mit analytischen Funktionen und R Vladimir Poliakov, Nürnberg, November 2015 • • • • • Vladimir Poliakov ([email protected]) Hydrometeorologische Hochschule in St.Petersburg (mathematische Modellierung) Seit 1998 in Deutschland als Softwareentwickler Seit 2007 als Oracle DBA (Tuning, Reporting, Schnittstellenprogrammierung, Data Mining etc.) https://www.gulp.de/gulp2/home/profil/dba Copyright © 2015, Vladimir Poliakov ([email protected]) 2 • • • • • • • • R wurde 1993 für statistisches Rechnen und Grafiken entwickelt R ist eine freie Software und läuft auf vielen Plattformen R hat mehr als 4000 Pakete und kann die Daten aus verschiedenen Datenquellen lesen (CSV-Dateien, Oracle Datenbank etc.) R wurde ursprünglich in der Wissenschaft eingesetzt und erst in den letzten Jahren kommt mehr bei den Unternehmen zum Einsatz (Bankwesen, Handel, Industrie etc.) Installation und Konfiguration R Software Desktop Variante Vorbereitung der Daten mit Hilfe der Oracle analytischen Funktionen Präsentation von R Studio, R Commander und Paket Rattel (R Data Miner) Copyright © 2015, Vladimir Poliakov ([email protected]) 3 • • • „Daten-Bergbau“ – Erkennen der Querverbindungen und Trends „Everything is numbers“ ☺ Kleine ad hoc sowie große und komplizierte Analysen Mögliche Einsatzbereiche: • • • • • • • Bankwesen: Kreditwürdigkeit, Betrugserkennung Handel: Warenkorbanalyse Industrie: Optimierung Poduktions- und Fertigungsprozesse Energieversorgung: Effizienz der Windanlagen IT: Kapazität Management, Ausfall der Serverkomponenten Technik: prognostizierbare Ausfälle der Geräte Sonstiges: Vorhersage im Sportevent Copyright © 2015, Vladimir Poliakov ([email protected]) 4 • Frage für die Data-Mining Analyse formulieren • Daten vorbereiten (finden, bereinigen und ins Data-Mining Tool laden) • Die Verteilung der Daten analysieren!!! • Die Variablen auswählen dann das Datamodell mit den Trainingsdaten bilden • Ergebnisse der Berechnung überprüfen, interpretieren und auf die Testdaten anwenden. Das Modell deployen. Copyright © 2015, Vladimir Poliakov ([email protected]) 5 • Deutsche Eishockey Liga (DEL) und National Hockey League (NHL) • Öffentliche Datenquelle = Internet (www.del.org und www.nhl.com) • Echte Daten und Zahlen, keine Datenmanipulation ☺ Ist die Anzahl der Tore im Spiel von der Stärke der Mannschaften abhängig? oder Ist die Anzahl der Tore im Spiel von der vor dem Spiel herrschenden Tordifferenz beziehungsweise von der Gegentordifferenz beider Gegner abhängig? Copyright © 2015, Vladimir Poliakov ([email protected]) 6 • https://www.r-project.org/ - R Project Homepage • Download vom CRAN (Comprehensive R Archive Network) Mirrors • Aktuellste Version ist 3.2.2 (Stand 01.11.2015) • 32- and 64-bit R kann auf einem Rechner installiert werden • R läuft in einer Console = Kommandozeileumgebung • R Studio und zusätzliche Pakete für die Erweiterung Copyright © 2015, Vladimir Poliakov ([email protected]) 7 • R ist plattformunabhängig • R wird nicht kompiliert • R ist Open Source • Speicherverwaltung Probleme • R Community ist sehr groß • Wenige Datentypen • Über 4000 R Pakete • Keine Prüfung der Funktionsparameter auf den Typ Copyright © 2015, Vladimir Poliakov ([email protected]) 8 R Studio R Console Copyright © 2015, Vladimir Poliakov ([email protected]) 9 R Studio – Import der Daten Copyright © 2015, Vladimir Poliakov ([email protected]) 10 Copyright © 2015, Vladimir Poliakov ([email protected]) 11 Copyright © 2015, Vladimir Poliakov ([email protected]) 12 • • • • ROracle, RODBC, RJDBC Konfigurieren der Verbindung via ODBC • Installieren des Oracle Instant Clients + ODBC Library • Konfigurieren eines System DNS via C:\Windows\SysWOW64\odbcad32.exe (32Bit ODBC Admin auf 64Bit Windows) • Setzen des Passwortes beim Bedarf unter HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ODBC\ODBC .INI\<DSN_NAME> (Registry Eintrag für 32Bit ODBC System DSN) Starten von Rattel via rattle() in der R Console / R Studio Testen der Verbindung Daten laden ggf. Fehler korrigieren Copyright © 2015, Vladimir Poliakov ([email protected]) 13 • Instant Client und ODBC Bibliotheken Copyright © 2015, Vladimir Poliakov ([email protected]) 14 1. R Dataset als eine mögliche Alternative 2. In der R Konsole den ODBC-Zugriff durchführen Copyright © 2015, Vladimir Poliakov ([email protected]) 15 1. Library „RODBC“ fehlt 2. R-Engine ist mit dem ODBC-Treiber inkompatibel (32Bit vs. 64Bit oder umgekehrt) Copyright © 2015, Vladimir Poliakov ([email protected]) 16 1. Library „RODBC“ fehlt 2. Kein Passwort in der Registry 3. Falsches Passwort in der Registry Copyright © 2015, Vladimir Poliakov ([email protected]) 17 „Typisches Stern“ Data Warehouse Schema Copyright © 2015, Vladimir Poliakov ([email protected]) 18 • Besorgen der Daten aus dem Internet • Bereinigen der Daten • Laden der Daten via SQL*Loader • Vorbereiten der Daten als Analytical Records Copyright © 2015, Vladimir Poliakov ([email protected]) 19 die Prädiktoren der vorherzusagende Wert Copyright © 2015, Vladimir Poliakov ([email protected]) 20 • • • • • Eingefügt in Oracle 8i In allen Editions (EE, SE/SE1/SE2 und XE) verfügbar Ähnlich wie Gruppenfunktionen, aber der Wert wird für jede Zeile ausgegeben Viele Gruppenfunktionen sind auch analytische Funktionen Sehr effizient zusammen mit den Materialized Views im DWH Umfeld FUNCTION_NAME([column|expression]) OVER ([analytische Klausel]) Copyright © 2015, Vladimir Poliakov ([email protected]) 21 LAG(GOALS,1,0) OVER (PARTITION BY TEAM_ID ORDER BY MATCHDATE, TEAM_ID) PREV_GOALS SUM(PREV_GOALS) OVER (PARTITION BY TEAM_ID ORDER BY MATCHDATE, TEAM_ID) SUM_PREV_GOALS LAG(…) - ohne Self-Join Zugriff auf andere Zeilen in der Ergebnismenge SUM(…) - Aufsummieren der Werte Copyright © 2015, Vladimir Poliakov ([email protected]) 22 • y = f(x) + e, y = k0 + k1 * x + e, eindimensionaler Fall • y = f(x1, x2, …, xn) + e, n-dimensionaler Fall • Lineare Regression • Polynomiale Regression • Logistische Regression, nicht parametrische Regression etc. Lineare Regression Polynomiale Regression Copyright © 2015, Vladimir Poliakov ([email protected]) 23 • • library(psych) pairs.panels(<data_matrix>) Copyright © 2015, Vladimir Poliakov ([email protected]) 24 • Rattle starten • Laden der Daten in R Studio oder in Rattle • Variablen auswählen • Modell auswählen • Berechnen • Analysieren • Ergebnisse präsentieren / Model deployen Copyright © 2015, Vladimir Poliakov ([email protected]) 25 nicht signifikant signifikant Copyright © 2015, Vladimir Poliakov ([email protected]) 26 Entscheidungsbaum Regeln Copyright © 2015, Vladimir Poliakov ([email protected]) 27 Model mit einem Prädiktor (Input-Variable) Modell mit zwei Prädiktoren (Input-Variablen) Copyright © 2015, Vladimir Poliakov ([email protected]) 28 Tuning Parameter Copyright © 2015, Vladimir Poliakov ([email protected]) 29 Copyright © 2015, Vladimir Poliakov ([email protected]) 30 Copyright © 2015, Vladimir Poliakov ([email protected]) 31 Verwendete Prädiktoren Vorhersage Copyright © 2015, Vladimir Poliakov ([email protected]) 32 • Ohne sauberen Daten gibt es keine brauchbaren Ergebnisse • 80% Zeit wird in die Datenvorbereitung investiert • Rattle ist keine Wundertüte, hilft aber einen Einstieg in Data Mining zu machen • Alles was Rattle kann, kann manuell in R gemacht werden • Abhängig von der Aufgabestellung sollte man auch die möglichen Alternativen unter die Lupe nehmen Copyright © 2015, Vladimir Poliakov ([email protected]) 33 • http://www.kdnuggets.com/software/index.html • Parallele Berechnungen der eigenen Modellen auf einem Server oder einem Cluster (Fortran mit OpenMP, C/C++, Multiprocessing Modul in Python, MS Task Parallel Library (TPL), Parallele Programmierung in Java etc.) • R Enterprise Oracle • Hadoop Framework (MapReduce Algorithmus) • Apache Spark (Berechnungen im Speicher) Copyright © 2015, Vladimir Poliakov ([email protected]) 34 • Data-Mining in Wikipedia: https://de.wikipedia.org/wiki/Data-Mining • Bernd Weiler, DOAG 2014, Einführung in die Statistik mit R • Heuer, Andreas, Der perfekte Tipp: Statistik des Fußballspiels (Erlebnis Wissenschaft) 1. Auflage September 2012, Wiley-VCH, Weinheim Verlag, ISBN 978-3-527-33103-1 • Zeitschrift iX Developer Big Data 2015 - Analytics Design Patterns • Zeitschrift iX Developer Big Data 2015 – Kennzeichen R • Dormann, Carsten F., Parametrische Statistik : Verteilungen, maximum likelihood und GLM in R, Springer Spektrum, 2013, ISBN 978-3-642-34785-6 • Williams, Graham, Data Mining with Rattle and R: The Art of Excavating Data for Knowledge Discovery (Use R) Auflage: 2011 (4. August 2011), Springer Verlag, ISBN 978-1-441-99889-7 • Online platform Kaggle for predictive modelling and analytics competitions: http://www.kaggle.com • Online Platform for Knowledge Discovery in Databases: http://www.kdnuggets.com Copyright © 2015, Vladimir Poliakov ([email protected]) 35 Copyright © 2015, Vladimir Poliakov ([email protected]) 36 Copyright © 2015, Vladimir Poliakov ([email protected]) 37