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
Copyright © 2015, Vladimir Poliakov ([email protected]) 4
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
• 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 ☺
Copyright © 2015, Vladimir Poliakov ([email protected]) 6
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?
• 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 ist Open Source
• R Community ist sehr groß
• Über 4000 R Pakete
Copyright © 2015, Vladimir Poliakov ([email protected]) 8
• R wird nicht kompiliert
• Speicherverwaltung Probleme
• Wenige Datentypen
• Keine Prüfung der
Funktionsparameter auf den
Typ
Copyright © 2015, Vladimir Poliakov ([email protected]) 10
R Studio – Import der Daten
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 unterHKEY_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
Copyright © 2015, Vladimir Poliakov ([email protected]) 15
1. R Dataset als eine mögliche Alternative
2. In der R Konsole den ODBC-Zugriff durchführen
Copyright © 2015, Vladimir Poliakov ([email protected])
16
1. Library „RODBC“ fehlt
2. R-Engine ist mit dem ODBC-Treiber inkompatibel ( 32Bit vs. 64Bit oder umgekehrt)
Copyright © 2015, Vladimir Poliakov ([email protected])
17
1. Library „RODBC“ fehlt
2. Kein Passwort in der Registry
3. Falsches Passwort in der Registry
Copyright © 2015, Vladimir Poliakov ([email protected]) 18
„Typisches Stern“ Data WarehouseSchema
• Besorgen der Daten aus dem Internet
• Bereinigen der Daten
• Laden der Daten via SQL*Loader
Copyright © 2015, Vladimir Poliakov ([email protected]) 19
• Vorbereiten der Daten als Analytical Records
• 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
Copyright © 2015, Vladimir Poliakov ([email protected]) 21
FUNCTION_NAME([column|expression]) OVER ([analytisc he Klausel])
Copyright © 2015, Vladimir Poliakov ([email protected]) 22
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]) 23
Lineare Regression Polynomiale Regression
• 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.
• 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
Copyright © 2015, Vladimir Poliakov ([email protected]) 27
Entscheidungsbaum Regeln
Copyright © 2015, Vladimir Poliakov ([email protected]) 28
Modell mit zwei Prädiktoren(Input-Variablen)
Model mit einem Prädiktor(Input-Variable)
Copyright © 2015, Vladimir Poliakov ([email protected]) 29
Tuning Parameter
Copyright © 2015, Vladimir Poliakov ([email protected]) 30
Copyright © 2015, Vladimir Poliakov ([email protected]) 31
• 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
Top Related