1 / 32

R zieht ein in das Oracle Data Warehouse

R zieht ein in das Oracle Data Warehouse. Alfred Schlaucher. Themen. Business Intelligence und Advanced Analytics Vorhersage Algorithmen Oracle Data Miner Oracle R Enterprise . Arbeitsteilung. Business Intelligence. Advanced Analytics. Data Mining. Oracle R Enterprise.

melva
Download Presentation

R zieht ein in das Oracle Data Warehouse

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. R ziehtein in das Oracle Data Warehouse Alfred Schlaucher

  2. Themen Business Intelligence und Advanced Analytics VorhersageAlgorithmen Oracle Data Miner Oracle R Enterprise

  3. Arbeitsteilung Business Intelligence Advanced Analytics Data Mining Oracle R Enterprise Data Integration Layer User View Layer Enterprise Information Layer Process neutral / 3 NF Data Warehouse

  4. Aus Merkmalen Wissen filtern Selbständig Im_Beruf_Seit Angestellt Raucher Geschieden Alter Weinpräferenz Ruhestand_Seit Predictive Analytics ? Kunde_Seit Anzahl Kinder Mehrfachkäufer Verheiratet Level_Ausbildung Verheiratet Anzahl_Ehen Führerschein Wohnregion Einkommens_Gruppe Geschlecht Wohnsituation Affinität_Videospiele Bildung Berufstätig Online_Affinität Krank_Seit Führerschein Sportlich_Aktiv

  5. F1 F2 F3 F4 Übersicht Mining-Algorithmen und -Verfahren Problem Algorithmen Bedeutung + Anwendung Klassification Einteilung von Objekten in Gruppen(bekannteKlassen) anhand von gemeinsamenMerkmalen Logistic Regression (GLM) Decision Trees Naïve Bayes Support Vector Machine Vorhersage von Eigenschaftenin Abhängigkeit von anderenEigenschaften Multiple Regression (GLM) Support Vector Machine Regression Anomaly Detection Erkennen von Ausressern und Anomalien One Class SVM FindenrelevanterMerkmale.Fokussierung auf aussagekräftigeAttribute Attribute Importance Minimum Description Length (MDL) Association Rules Analyse von Beziehungen, Warenkorb-Analysen Apriori Clustering Finden von gemeinsamenMerkmalenzurBildung von neuen (unbekannten)Gruppen Hierarchical K-Means Hierarchical O-Cluster Textanalysen, Finden von immerwiederkehrendenMustern Feature Extraction Nonnegative Matrix Factorization

  6. VorhersageAnalyse-Schritte und Anforderungen Datensammeln ZeitaufwendigeAnalyseprozesse MehrereInterationen Workflows von immerwiederkehrendenArbeitsschritten Ressourcen-intensive Datenanalysen Daten identifizieren Datenanalysieren Datenaufbereiten

  7. InDatabase – AnalysenOracle R Enterprise / Oracle Data Mining Analysen in derDatenbank KeineDatenbewegungen KurzeAnalysezeiten und schnelleresArbeiten GroßeDatenmengen Skalierbar R code und/oderSQL Built-in security • Schneller • Sicher • Skalierbar

  8. Mobiltelefon “Churner” vs.LoyaleKunden Einkommen MonateKundenverhältnis Beispiel: “Un-loyaleKunden” Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff

  9. Segment #3: IF CUST_MO > 7 AND INCOME < $175K, THEN Prediction = Cell Phone Churner, Confidence = 83%, Support = 6/39 Einkommen Segment #1: IF CUST_MO > 14 AND INCOME < $90K, THEN Prediction = Cell Phone Churner, Confidence = 100%, Support = 8/39 MonateKundenverhältnis Beispiel: “Un-loyaleKunden” Mobiltelefon “Churner” vs.LoyaleKunden Source: Inspired from Data Mining Techniques: For Marketing, Sales, and Customer Relationship Management by Michael J. A. Berry, Gordon S. Linoff

  10. Oracle Data Miner 11g Release 2 GUI

  11. Oracle Data Miner 11g Release 2 GUI “Churner” Modell in Abhängigkeit von Einkommen und Dauer des Kundenverhältnisses

  12. R – StatistischeProgrammiersprache PCA 5 online returns users OPEN SOURCE Sprache und Umgebung STATISTISCHE BERECHNUNGEN und Graphik STÄRKE liegt in derschnellengraphischenAufbereitung (Plots) >5,300statistische Packages LEICHT ERWEITERBAR durch Open Source Community history sales Clustering 4 Groups Factor 1 Factor 3 28 16 2 1 80 60 40 20 0

  13. Daten-Visualisierungmit R http://gallery.r-enthusiasts.com/

  14. Graphische Bediener-Oberflächen Auswahl bei den GUIs Bereiche: R Console Plot-Bereich Ergebnis-Bereich Messages Standard GUI / Rstudio /Rcommander/.../...

  15. WarumnutzenimmermehrAnwender R Oft mehrFunktionen, als in klassischen Tools Warum R Kannmehr NeueFunktionen, sind oft in R alserstesimplemtiert Istschnell Point Die EntwicklerderFunktionensind oft per Mail direkterreichbar Istansprechbar - offeneKommunikation Weltweitwirdmit Rgearbeitet “Schläftnicht” Was kosten die übrigen Tools? Istgünstiger

  16. Einfache Beispiele zur Darstellung der R-Sprachmimik > alter <- c(19,20,20,19,25,26,22,25,29) Vektor > geschl <- c(1,2,2,1,2,2,2,1,2) > geschl.faktor <- factor(geschl) Faktor > bsp.data.frame <- data.frame(alter,geschl.faktor) Data-Frame Einfache statistische Funktion round(tapply(alter ,geschl,mean,na.rm=TRUE),0) Durchschnittliches Alter pro Geschlecht

  17. Klassisches Daten-Handling ohne Oracle R Enterprise LokaleDaten Datenbank R Engine z. B. ODBC z. B. CSV class(df) names(df) objects() dim(df)c df <-read.csv(file.choose()) Häufiges Datenbewegen, Hauptspeicherlimitierung im Client, lange Laufzeiten

  18. Oracle R-Angebote • Oracle R Distribution • Free download, pre-installed on Oracle Big Data Appliance, bundled with Oracle Linux • Enterprise support for customers of Oracle R Enterprise, Big Data Appliance, and Oracle Linux • Contribute bug fixes and enhancements to open source R • ROracle • Open source Oracle database interface driver for R based on OCI • Maintainer is Oracle – rebuilt from the ground up • Many bug fixes and optimizations • Oracle R Enterprise • Transparent access to database-resident data from R • Embedded R script execution through database managed R engines • Statistics engine • Oracle R Connector for Hadoop • R interface to Oracle Hadoop Cluster on BDA • Access and manipulate data in HDFS, database, and file system • Write MapReduce functions using R and execute through natural R interface

  19. Mögliche Szenarien mit Oracle R-Enterprise RAM RAM RAM RAM RAM RAM RAM File System Direkten Zugriff auf alle Tabellen in der Datenbank R Engine Parallelisierung durch die Datenbank Auslagern der Analysen in die DatenbankZurückholen der Ergebnisse Anlegen neuer Objekte in der Datenbank File System R Engine Parallelisierung durch die Datenbank R-Analysen über SQL-Funktionen (Batch) R Engine R Engine R Engine R Engine R Engine R Engine R Engine R Engine R Engine File System SQL

  20. Oracle R Enterprise – Data Sources R user on desktop R Engine Oracle R Enterprise packages Andere R Packages DirekterZugriff DirekterZugriff RODBC,DBI, etc AndereDatenbanken Import / Load Data File systems R Engine R Engine R Engine PushPull Oracle R Enterprise packages Oracle R Enterprise packages Oracle R Enterprise packages Andere R Packages Other R packages Other R packages Results SQL Parallel Aufrufe Transparent Layer Select ...Fro ..Table(....)beginCreate Functionend User tables Oracle Datenbank Bulk import Database Links External Tables AndereDatenbanken File systems

  21. Oracle Transparency Layer Support • ORE bieteteine “in-database execution” – FunktionalitätalstransparenteSchicht an • Was bedeutettransparent? • R Benutzterbenötigennur R Syntax • BenutzersehenDatenbank-Objeckealsspezielle R Objekte • Unterstütztwerdenfast alle R-Funktionendes Basis-R-Pakets • Unterstützt R's Statistik und Graphik-Pakete

  22. Beispiele für den transparenten Zugriff Connect to a specific schema and database One connection active at a time Create a database table from a data.frame, ore.frame. Create a view from an ore.frame. library(ORE) ore.connect("RQUSER","SID","HOST", "PASSWORD",1521) ore.create( ONTIME_S, table = "NEW_ONTIME_S") ore.create( ONTIME_S, view = "NEW_ONTIME_S_VIEW") ore.drop(table="NEW_ONTIME_S") ore.drop(view="NEW_ONTIME_S_VIEW") t <- ore.get("ONTIME_S","RQUSER") ore.attach() v <- ore.push(c(1,2,3,4,5)) ore.sync() ore.sync("RQUSER") ore.sync(table=c("ONTIME_S", "NARROW")) ore.sync("RQUSER", table=c("ONTIME_S", "NARROW")) ore.exists("ONTIME_S", "RQUSER") ore.exec("create table F2 as select * from ONTIME_S") Drop table or view in database Store R object in database as temporary object, returns handle to object. Data frame, matrix, and vector to table, list/model/others to serialized object Synchronize ORE proxy objects in R with tables/views available in database, on a per schema basis Returns TRUE if named table or view exists in schema

  23. Gezielte Steuerung von Scripten innerhalb der Datenbank Oracle Datenbank Lokale R-Engine auf PC Lokale R-Engine auf PC with(ERSTIS,split(alter,geschl)) DB-Server-Maschine ERSTIS Tabelle wird in den lokalen Speicher kopiert und lokal analysiert mod <- ore.doEval( function(param) { library(ORE) ore.connect(user="RQUSER", password="RQUSER", sid="ORCL", host="192.168.1.16",port=1521) ore.sync() ore.attach() mod <- with(ERSTIS,split(alter,geschl)) }); Oracle Datenbank DB-Server-Maschine ERSTIS Tabelle bleibt in der DB. Analyse findet im Speicher des DB-Servers statt Das Ergebnis wird zurückgeliefert R-Engine auf DB-Server R-Engine auf DB-Server R-Engine auf DB-Server

  24. Gezieltes Ansteuern einer Verarbeitungsvariante(Beispiel Regressions Modell) mod <- ore.doEval( function(param) { dat <- ore.pull(ONTIME_S) mod <- lm(ARRDELAY ~ DISTANCE + DEPDELAY, dat) mod }); mod_local <- ore.pull(mod) class(mod_local) summary(mod_local) mod <- ore.doEval( function(param) { library(ORE) ore.connect(user="RQUSER", password="RQUSER„, sid="ORCL", host="192.168.1.16",port=1521) ore.sync() ore.attach() mod <- ore.lm(lz.1 ~ zuf.inh.1,ERSTIS) mod }); mod_local <- ore.pull(mod) class(mod_local) summary(mod_local) Daten im Memory der R-Engine auf dem DB-Server Daten bleiben im Memory Der Oracle Datenbank Laufzeit: 3 Sekunden Laufzeit: 110 Sekunden

  25. Beis Beispiele für Graphiken praktisch „direkt aus der Datenbank“

  26. Beispiele für Graphiken praktisch „direkt aus dem Netz“

  27. Beispiel für Graphiken: Cluster-Analyse Baum - Darstellung

  28. Cluster-Analyse library(cluster)

  29. Integrierte R UmgebungenOracle R Connector for Hadoop Client Host Oracle Big DataAppliance Oracle Exadata R Engine R Engine Native R MapReduce Native R HDFS Zugriff MehrProduktivität ORE ORHC ORHC HadoopClusterSoftware MapReduceNodesHDFS R Engine ORE

  30. Big Data Connectors und Oracle R Enterprise R Environment R-Package R-Package Oracle R Enterprise (Advanced Analytics) Oracle R Connector for Hadoop RAM Oracle Server-Machine HDFS Cluster-Machines Oracle 11.2 hdfs_stream ExternalTable Oracle Direct Connector for HDFS HDFS Preprocessor: hdfs_stream Hive Table CSV + / n Data pump Offline Mode CSV JDBC OCI convential path direct path R Engine R Engine R Engine R Engine Parallel Execution Oracle Loader for Hadoop Online Mode LoaderMap Partitioned + sorted MapReduce Job Framework Target Table

  31. Kontakt und mehr Informationen Oracle Data Warehouse Community Mitglied werdenViele kostenlose Seminare und Events Download – Server: www.ORACLEdwh.de Kontakt über Alfred.Schlaucher@oracle.com Nächste deutschsprachige Oracle DWH Konferenz: 19. + 20. März 2013 Kassel

More Related