Einführung in Data-Mining mit analytischen Funktionen und R Vladimir Poliakov, Nürnberg, November 2015
Vladimir Poliakov (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 7
R ist plattformunabhängig R ist Open Source R Community ist sehr groß Über 4000 R Pakete R wird nicht kompiliert Speicherverwaltung Probleme Wenige Datentypen Keine Prüfung der Funktionsparameter auf den Typ Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 8
R Studio R Console Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 9
R Studio Import der Daten Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 10
Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 11
Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 13
Instant Client und ODBC Bibliotheken Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 14
1. R Dataset als eine mögliche Alternative 2. In der R Konsole den ODBC-Zugriff durchführen Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 15
1. Library RODBC fehlt 2. R-Engine ist mit dem ODBC-Treiber inkompatibel (32Bit vs. 64Bit oder umgekehrt) Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 16
1. Library RODBC fehlt 2. Kein Passwort in der Registry 3. Falsches Passwort in der Registry Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 17
Typisches Stern Data Warehouse Schema Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 19
die Prädiktoren der vorherzusagende Wert Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 23
library(psych) pairs.panels(<data_matrix>) Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 25
nicht signifikant signifikant Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 26
Entscheidungsbaum Regeln Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 27
Model mit einem Prädiktor (Input-Variable) Modell mit zwei Prädiktoren (Input-Variablen) Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 28
Tuning Parameter Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 29
Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 30
Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 31
Verwendete Prädiktoren Vorhersage Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 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 (v.poliakov@gmx.net) 35
Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 36
Copyright 2015, Vladimir Poliakov (v.poliakov@gmx.net) 37