View
421
Download
0
Category
Preview:
Citation preview
R-Services con SQL Server
Alberto De Rossi
MCP / MCT SQL Server
Julio 2016
Introducción a
Data Science y
Lenguaje R
R Services con
SQL Server 2016
Ejecutar Código R
Agenda
Introducción a
Data Science y R
Services
R Services con
SQL Server 2016
Ejecutar Código R
Agenda
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
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
Palabra clave
PREDECIR
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
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
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
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
Introducción a
Lenguaje R
R Services con
SQL Server 2016
Ejecutar Código R
Título
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
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
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
R Services con
SQL Server 2016
Introducción a
Lenguaje R
Ejecutar Código R
Título
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
Manipulación de datos con R
Col1 Col2 Col3
2012 14 45
2013 13 76
2013 34 65
2014 23 47
frame1
Manipulación de datos con R
frame1
frame1 <- filter(frame1, Col1 == 2013)
Col1 Col2 Col3
2013 13 76
2013 34 65
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)
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)
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))
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
Ploteos
Scatter Lineal Barras
Ploteos
Histograma Cajas Scatter condicional
Alberto De Rossialberto.derossi@dblearner.com
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
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
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
Recommended