R - SQL Pass

Werbung
R 101 - What is this R thing, and is it worth
some effort?
Meet a new companion
Thomas „Tom“ Martens
Principal Consultant, Alegri International Service GmbH
[email protected]
Personal blog: minceddata.wordpress.com
Bevor wir starten!
Our Sponsors
My Sponsor
 Gründungsjahr 2001
 mehr als 650 Mitarbeiter in der DACHRegion und Rumänien (Nearshore)
 Niederlassungen an 11 Standorten
 80% der DAX 100-Unternehmen zählen zu
unseren Klienten
 Lösungen für den Mittelstand &
Großkunden
 Microsoft und SAP Partner
 Consulting Excellence in Microsoft
Enterprise Solutions und SAP/ERP
Solutions
Hamburg
Berlin
Köln
Frankfurt
Walldorf
Stuttgart
Basel
Zürich
München
Wien
Cluj-Napoca
Pre-cap!
Was ist dieses R Ding?
Everyone has heard phrases like "Data is the new oil" or "Data
Analytics will shape business", and maybe you are also wondering
what this R thing is about and if it's worth the effort to learn
something new. This session is going to explain what R is and how it
can help to refine your data and to better understand your business.
Meaning, it provides ideas where R can be used in helping to answer
some data related questions. An overview is given how R works with
Power BI, from data cleansing to data enhancing to data
visualization. An explanation is given why R will be a great addition
to the SQL Server arsenal and how R can be used with Azure
Machine Learning. This session is not about coding or statistics, but
about introducing a great new companion.
Was ist dieses R Ding?
Everyone has heard phrases like "Data is the new oil" or "Data
Analytics will shape business", and maybe you are also wondering
what this R thing is about and if it's worth the effort to learn
something new. This session is going to explain what R is and how it
can help to refine your data and to better understand your business.
Meaning, it provides ideas where R can be used in helping to answer
some data related questions. An overview is given how R works with
Power BI, from data cleansing to data enhancing to data
visualization. An explanation is given why R will be a great addition
to the SQL Server arsenal and how R can be used with Azure
Machine Learning. This session is not about coding or statistics, but
about introducing a great new companion.
Was ist dieses R Ding?
Everyone has heard phrases like "Data is the new oil" or "Data
Analytics will shape business", and maybe you are also wondering
what this R thing is about and if it's worth the effort to learn
something new. This session is going to explain what R is and how
it can help to refine your data and to better understand your
business. Meaning, it provides ideas where R can be used in
helping to answer some data related questions. An overview is given
how R works with Power BI, from data cleansing to data enhancing
to data visualization. An explanation is given why R will be a great
addition to the SQL Server arsenal and how R can be used with
Azure Machine Learning. This session is not about coding or
statistics, but about introducing a great new companion.
Was ist dieses R Ding?
Data Analytics will shape business", and maybe you are also
what R is
how it can help
where R can be used
how R works with Power BI
why R will be a great addition to the SQL Server arsenal and
how R can be used with Azure Machine Learning. This
session is not about coding or statistics, but about introducing a
great new companion.
Inhalt
Was ist R!
Microsoft und R
Wo R helfen kann!
Learning R?!
Was ist dieses R Ding
R – DIE statistische Programmiersprache



R is a language and environment for statistical
computing and graphics
Wikipedia: R ist eine freie Programmiersprache für
statistisches Rechnen und statistische Grafiken
Microsoft: R is a language! You do data analysis by writing
functions and scripts, not by pointing and clicking. That may
sound daunting if you are new to programming, but R is an
easy language to learn, and a very natural and expressive one
for data analysis.
R-project :
Die R Community
 Groß(e)artige community auf stackoverflow.com:
 167105 Fragen (39339 unbeantwortet,
 109015 Fragen (22940 unbeantwortet,
) – 19.01.2017
) – 08.10.2015
ohne Antwort Tag
ohne Antwort Tag
 R bietet zur Zeit (19.01.2017)
 9903 Windows binaries (ständig wachsend)
source: cran-mirror http://cran.us.r-project.org
R Pakete (packages)
http://www.maths.lancs.ac.uk/~rowlings/R/TaskViews/
Bedeutung von R (nach http://spectrum.ieee.org)
2015
2014
2016
Bedeutung von R
http://www.kdnuggets.com/2016/06/r-python-top-analytics-data-mining-data-science-software.html
Punkte, die zu berücksichtigen sind
 R als Desktop Applikation  läuft grundsätzlich im
Arbeitsspeicher des Clients
 Die freie Programmiersprache (open source / community
driven) R bringt es mit sich, dass es unterschiedliche
Notationen in verschiedenen Paketen gibt
 Hier kann das R-Consortium (https://www.r-consortium.org/)
Abhilfe schaffen
Microsoft und R
Microsoft und R
(R in meinen Lieblingsprodukten)
SQL
Server
2016
?
R
R Server
Power BI
Azure
Machine
Learning
Azure Machine Learning
und
R Server
Azure Machine Learning / R Server
 Azure Machine Learning
 Plattform zur Entwicklung und Anwendung von skalierbaren
analytischen Modellen. Diese Modelle können als Webservice
veröffentlicht werden und stehen hierdurch anderen Applikationen
zur Beantwortung analytischer Fragestellungen zur Verfügung.
 R Server
 Eigenständige Server-Komponente (enthalten im SQL Server 2016)
auf Windows und Linux, die Anwendung von analytischen Modellen
auf großen Datenbeständen auch außerhalb des SQL Server
ermöglicht, bspw. HD Insight, Teradata, …
Power BI und R
Microsoft Power BI und R
Daten aus
… in das Power BI
Modell integrieren
…
… durch Algorithmen
Muster erkennen /
Vorhersagen treffen …
… Komplexe
Zusammenhänge können
visualisiert werden …
R data.frames
können als
Tabellen
verwendet werden
R Scripte liefern
data.frames, die im
Modell verwendet
werden können
Umfangreiche R
Bibliotheken zur
Datenvisualisierung
Datenbanken
SQL und NoSQL
…
Binaries
Power BI: Extraktion aus rdata files
Zugriff auf
„proprietäre“
R Daten-Strukturen
(data.frames)
über Power BI
Funktionalitäten
= RData.FromBinary(
File.Contents("C:\Program Files\Microsoft SQL
Server\130\R_SERVER\library\RevoScaleR\unitTestData\bo
ston.Rdata")
)
Power BI: Extraktion aus sas7bdat files
Zugriff auf
„exotische“
Datei-Typen über
„spezialisierte“
R packages
= R.Execute("
#install.packages(""sas7bdat"");
library(""sas7bdat"");
sas7file <- ""C://Program Files//Microsoft SQL
Server//130//R_SERVER//library//RevoScaleR//unitTestDat
a//AirlineSampleDate.sas7bdat""
datafromsas7bdat <- read.sas7bdat(sas7file)")
Power BI: Feature Engineering (bspw. Clustering)
Anwendung von
Funktionen und
Algorithmen zur
„Erweiterung“ des
Power BI
Datenmodells
Power BI: Feature Engineering (Clustering)
Integration von R in den
„Data Wrangling“
(aka as ETL)
Prozess
Power BI: Datenvisualisierung mit R
„Einfache“ Erstellung
beliebig komplexer
Datenvisualisierungen
durch viele spezialisierte
R packages
Der SQL Server und R
Mircosoft SQL Server – The Data Science Part
Inhalt hier geliehen von Microsoft 
This integration of R with SQL Server means that database professionals can use T-SQL for
advanced analytics on operational data and models, and they can secure and ensure their
availability. With SQL Server 2016, data scientists no longer need to extract data from
SQL Server via Microsoft Open Database Connectivity (ODBC) to analyze it with R.
Microsoft SQL Server and R (in-database analytics)
SQL Server 2016
execute sp_execute_external_script @language = N'R' ,
@script = N'
library("data.table");
dt <- as.data.table(InputDataSet);
dt$NewColName <- dt$BaseColName * 2;
OutputDataSet <- dt[, list(NewColName)];
',
@input_data_1 = N' SELECT 1 as BaseColName union
SELECT 2 as BaseColName ;'
WITH RESULT SETS (([NewColName] int NOT NULL));
Microsoft R Server
(formerly known as Revolutions
Analytics server)
Microsoft SQL Server und R
Alle Einsatzszenarien von
R
im Zusammenspiel mit
Power BI
gelten genau so auch für den
SQL Server!
Also eben nicht nur für „Data Science“!
Wo R helfen kann!
Daten Extraktion
Es stehen für nahezu jede Datenquelle spezifische Pakete zur
Verfügung, die es ermöglichen die Daten aus diesen
Datenquellen in das eigene Datenmodell zu integrieren:
 NoSQL – Datenbanken wie MongoDB, Cassandra, …
 Binaries – Tabellen aus SPSS, SAS, Stata
 Binaries – z.B. exif-Informationen aus Bilddateien
 Web Datenquellen
 Natürlich auch txt, RDBMS, …
Data Transformation / Cleansing
 Es stehen umfangreiche Funktionen / Pakete zur Verfügung
um text-Daten zu transformieren
 JSON-Datenquellen
 XML-Datenquellen
 Ganze Web-Seiten (dies, geht allerdings schon in Richtung text
mining
 Fehlende Daten durch die Anwendung statistischer Methoden
ergänzen
Data Modeling / Application of Statistical Methods
 Eine große Anzahl von Paketen bieten die Möglichkeit
analytische Methoden auf Daten anzuwenden (R is a statistical
Programming Language)






Clustering
Random Forests
Ensemble Modeling
Graph / Netzwerk – Analyse
Boosting
…
Data Processing / Feature Engineering
 Verschiedenste Pakete bieten die Möglichkeit analytische
Funktionen anzuwenden um neue Spalten zu “engineeren”
 Vergleichbar mit den Windowing Functions des SQL Servers, also bspw.
Function(…) OVER(PARTITION BY … ORDER BY …)
Grenzen entstehen eigentlich nur durch einen Mangel an Phantasie
 Allerdings erfolgt dies heute immer in einem Batch
(sp_execute_external …), vor diesem Hintergrund ist die Anwendung
von R-Skripten heute nicht so dynamisch wie die WindowingFunctions
Data Visualization
Inspiriert durch IBCS:
http://www.hichert.com/de/excel/exceltemplates/templates-2012.html
Datenvisualisierung
nicht nur in
Power BI
sondern auch in
den
Reporting Services
Demographische Daten
Just for fun 
Learning R
Learning R
Wie wir lernen und neue Kompetenzen entwickeln?
Endlich Geige
spielen, beim
Fahrrad fahren!
Es sehr einfach, das
Gelernte anzuwenden
Unconscious
competence
Ich muss mich
konzentriere, das
Gelernte anzuwenden
Conscious
competence
Ich kanns auch!
Ich weiß, dass ich
etwas nicht weiß
Conscious incompetence
Ich habe jemanden
gesehen, der das
kann!
Ich weiß nicht, dass
ich etwas nicht
weiß
Unconscious incompetence
Freihändig Fahrrad
fahren geht nicht!
Learning R
Wie wir lernen und neue Kompetenzen entwickeln?
Unconscious
competence
Conscious
competence
Bestehendes
verbessern!
Conscious
incompetence
Unconscious Incompetence
Etwas neues
Lernen!
neu
Learning R
Wie wir lernen und neue Kompetenzen entwickeln?
Power Query („M“)
alt
Verfügbarkeit
DAX
MDX
SSRS
T-SQL
Time to conquer
Mein Tip:
Starten mit
einer konkreten
Fragestellung,
für die ein
konkreter
Lösungsansatz
noch nicht
existiert!
Ressourcen
R Basics
•
•
•
•
Online Kurs: https://www.datacamp.com/
Online Kurs: http://tryr.codeschool.com/levels/1/challenges/3
Buch: R in a Nutshell
Buch (pdf): http://www.burns-stat.com/pages/Tutor/R_inferno.pdf (etwas schwieriger, dafür immer
wieder downloadbar)
Statistics Basics
•
https://www.openintro.org/stat/ Einführung in Statistik (kostenfrei)
Machine Learning / Advanced Analytics
•
Buch: Machine Learning for Predictive Data Analytics
Daten Visualisierung
•
Buch: R Graphics Cookbook: Practical Recipes for Visualizing Data
Wo R helfen kann - Recap!
 Daten Extraktion
 Daten Transformation / Daten Cleansing
 Daten Modellierung (Advanced Analytics)
 Statistische Modelle für Mustererkennung (zum Beispiel ClusterBildung) und für Vorhersage-Modelle (Predictive Analytics)
Machine Learning
 Daten Processing / Feature Engineering
 Daten Visualisierung
𝑓
=( +
)*
How did you like it?
Please give us feedback!
to the event:
www.sqlsaturday.com/579/eventeval.aspx
to me as a speaker:
www.sqlsaturday.com/579/sessions/sessionevaluation.aspx
Our Sponsors
Herunterladen