Einführung in Data-Mining mit analytischen Funktionen und R

Werbung
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
Herunterladen