R Services con SQL Server

27
R-Services con SQL Server Alberto De Rossi MCP / MCT SQL Server Julio 2016

Transcript of R Services con SQL Server

Page 1: R Services con SQL Server

R-Services con SQL Server

Alberto De Rossi

MCP / MCT SQL Server

Julio 2016

Page 2: R Services con SQL Server

Introducción a

Data Science y

Lenguaje R

R Services con

SQL Server 2016

Ejecutar Código R

Agenda

Page 3: R Services con SQL Server

Introducción a

Data Science y R

Services

R Services con

SQL Server 2016

Ejecutar Código R

Agenda

Page 4: R Services con SQL Server

Qué es Data Science?

• Disciplina en evolución, no tiene una definición especifica

• Requiere una variedad de habilidades

Data Science implica explorar y analizar cuantitativamente las fuentes de datos estructurados y no estructurados para extraer

conocimiento y formular resultados que lleven a la acción

Page 5: R Services con SQL Server

Data Science se enfoca en los datos

• Ubicar fuentes de datos

• Obtener datos para analizar

• Limpiar y transformar los datos

• Entender relaciones entre los datos

• Entregar valor a partir de los datos

Page 6: R Services con SQL Server

Palabra clave

PREDECIR

Page 7: R Services con SQL Server

El proceso de descubrir conocimiento (1 de 2)

• Término “Big Data”, acuñado por astrónomos Cox y Ellsworth en 1997Computing Community Consortium Big Data Pipeline from 2012

Acquisition /

Recording

Extraction / Cleaning

/ Annotation

Integration/

Aggregation/

Representation

Analysis/

ModelingInterpretation

Knowledge Discovery in Databases Process 1996

Page 8: R Services con SQL Server

El proceso de descubrir conocimiento (2 de 2)

• CRoss Industry Standard Process for Data Mining (CRISP-DM) 2000

Business Understanding

Data Understanding

Data Preparation

Modeling Evaluation Deployment

Identify project objectives

Collect and review data

Select and cleanse data

Manipulate data and draw conclusions

Evaluate model and conclusions

Apply conclusions to business

Page 9: R Services con SQL Server

Ejemplo

• Objetivo: Prevenir fallas en estaciones eléctricas• Meta 1: predecir eventos de falla un año antes de que ocurran

• Meta 2: Determinar frecuencia de inspección de estaciones

• Datos: Reportes de problemas, fichas técnicas de las estaciones, fichas técnicas de los cables, reportes de inspección

• Limpieza: • Eliminar información incompleta

• identificar vectores:• Evento grave, importante, leve

• Año, mes, día

• Estaciones involucradas

• Creación del modelo:• Respuesta a pregunta Si/No: clasificación

• Predecir un valor numérico: regresión

• Agrupar elementos: clustering

Page 10: R Services con SQL Server

Qué es el lenguaje de programación R?

• Entorno y lenguaje para estadística y gráficos

• Proyecto GNU – GPL - Free

• Multiplataforma Windows, Macintosh, Unix y GNU/Linux

• Lenguaje muy utilizados en investigación estadística• modelos lineales y no lineales, pruebas estadísticas ,

análisis de series de tiempo, clasificación, agrupación (clustering)

• Comunidad extensa para soporte

• Existe mucho antes de SQL Server • Lenguaje S - 1970

Page 11: R Services con SQL Server

Introducción a

Lenguaje R

R Services con

SQL Server 2016

Ejecutar Código R

Título

Page 12: R Services con SQL Server

Retos de implementar R

MOVER LOS DATOS• Grandes volúmenes de datos

• Riesgo de error

• Riesgo de seguridad

USO DE LOS DATOS• Acceso a datos externos

• Llamadas a scripts de R desde

producción

ESCALABILIDAD Y

DESEMPEÑO

• R usa solo un hilo de proceso

• Acomoda datos solo en la

memoria disponible

Page 13: R Services con SQL Server

Retos de implementar R - SQL Server al rescate

MOVER LOS DATOS

USO DE LOS DATOS

ESCALABILIDAD Y

DESEMPEÑO

Reducir o eliminar los movimientos

de datos con In-Database Analytics

Operar directamente

scripts y modelos R

Utilizar plataforma SQL Server

para escalar y optimizar

Los mecanismo de extensibilidad de SQL

Server 2016 permite la ejecución de Script de

R en el motor de SQL Server

Uso de T-SQL para invocar

script R desde las aplicaciones

Embeber en las aplicaciones

los resultados retornados

Usar SQL Server In-Memory Computing

e Índices ColumnStore

Aprovechar soporte de RevoScaleR

para grandes cargas

Page 14: R Services con SQL Server

Escenarios clave para R-Services

Exploración de datos y modelos predictivos (Data Science)

Trabajar desde el IDE de R y ejecutar scripts de R que se ejecuten en la base de datos y

obtener los resultados de vuelta

Operativizar código R (Desarrollador)

Llamar un procedimiento almacenado desarrollado con T-SQL desde una aplicación y que

llame a un script de R para ejecución In-Database. Los resultados son regresados a la

aplicación (predicciones, plots)

Administrar el servidor (DBA)

Administrar, asegurar y gobernar la ejecución de R en SQL Server

Page 15: R Services con SQL Server

R Services con

SQL Server 2016

Introducción a

Lenguaje R

Ejecutar Código R

Título

Page 16: R Services con SQL Server

Ejecutar código R en SQL Server

1. Intalar R Services

2. Habilitar la ejecución de scripts externosExec sp_configure 'external scripts enabled', 1 Reconfigure with override

Page 17: R Services con SQL Server

Manipulación de datos con R

Col1 Col2 Col3

2012 14 45

2013 13 76

2013 34 65

2014 23 47

frame1

Page 18: R Services con SQL Server

Manipulación de datos con R

frame1

frame1 <- filter(frame1, Col1 == 2013)

Col1 Col2 Col3

2013 13 76

2013 34 65

Page 19: R Services con SQL Server

Manipulación de datos con R

frame1

frame1 <- filter(frame1, Col1 == 2013)

Col1 Col3

2012 45

2013 76

2013 65

2014 47

frame1 <- select(frame1, Col1, Col3)

Page 20: R Services con SQL Server

Col1 Col2 Col3 Col4

2012 14 45 59

2013 13 76 89

2013 34 65 99

2014 23 47 70

Manipulación de datos con R

frame1

frame1 <- filter(frame1, Col1 == 2013)

frame1 <- select(frame1, Col1, Col3)

frame1 <- mutate(frame1, Col4 = Col2 + Col3)

Page 21: R Services con SQL Server

Manipulación de datos con R

frame1 <- group_by(frame1, Col1)

frame1 <- distinct(frame1, Col1)

frame1 <- sample_n(frame1, 500)

frame1 <- sample_frac(frame1, 0.5)

frame1 <- summarize(frame1, m1 = mean(Col1))

Page 22: R Services con SQL Server

Funciones estadísticas

FUNCION DESCRIPCION BREVE

mean(x) Mediana de x

sd(x) Desviación estándar de x

median(x) Mediana de x

dnorm(x) Densidad normal

pnorm(q) Probabilidad normal acumulada para q

qnorm(p) Quantil normal para p

rnorm(n, m=0, sd=1) Desviación normal aleatoria de la mediana m con desviación estándar sd

scale(x, center) Escala de x

Dbinom(x, size, prob) Distribución binormal de x

Dposis(x, lambda) Distribución de Poisson

Dunif(x, min, max) Distribución uniforme

Page 23: R Services con SQL Server

Ploteos

Scatter Lineal Barras

Page 24: R Services con SQL Server

Ploteos

Histograma Cajas Scatter condicional

Page 25: R Services con SQL Server

Alberto De [email protected]

996 792 297

@albertoderossi

/dbLearner

Av. Javier Prado Oeste 4921-B Int 8

Urb. Camacho – La Molina

Lima-Perú

(+51-1) 365 2752

Contáctenos

Page 26: R Services con SQL Server

Cursos en línea y presenciales a demanda

Alianza:

Cursos:

• SQL Server / SQL Server para Linux

• .NET / .Net Core para línex

• Xamarin para aplicaciones móviles

Page 27: R Services con SQL Server

Links de interés

• SQL Server R Services - https://msdn.microsoft.com/en-us/library/mt604845.aspx

• R Project - https://www.r-project.org/

• Microsoft Professional Degree in Data Science - https://www.edx.org/course/introduction-r-data-science-microsoft-dat204x-0#!

• Introduction to R for Data Science - https://www.edx.org/course/programming-r-data-science-microsoft-dat209x-0

• Tutorial RevoScalerR - https://msdn.microsoft.com/en-us/library/mt637368.aspx

• Revolution Analytics - http://www.revolutionanalytics.com/whitepaper/revolution-r-enterprise-scaler-fast-highly-scalable-r-multiple-processors

• Computing Community Consortium Big Data Whitepaper: http://www.cra.org/ccc/files/docs/init/bigdatawhitepaper.pdf

• From Data Mining to Knowledge Discovery: http://www.aaai.org/ojs/index.php/aimagazine/article/view/1230