SlideShare a Scribd company logo
1 of 27
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 1997
Computing Community Consortium Big Data Pipeline from 2012
Acquisition
/
Recording
Extraction /
Cleaning
/
Annotation
Integration
/
Aggregation
/
Representation
Analysis
/
Modeling
Interpretation
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 externos
Exec 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 Rossi
alberto.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

More Related Content

What's hot

Cuadro comparativo de los modelos de proceso del software (1)
Cuadro comparativo  de los modelos de proceso del software (1)Cuadro comparativo  de los modelos de proceso del software (1)
Cuadro comparativo de los modelos de proceso del software (1)
Erik Emanuel Amador Saldaña
 
Analisis estructurado
Analisis estructuradoAnalisis estructurado
Analisis estructurado
kvillazon
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
sergio
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
Sergio Sanchez
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
Hermes Romero
 

What's hot (20)

Lenguaje Acme
Lenguaje AcmeLenguaje Acme
Lenguaje Acme
 
Cuadro comparativo de los modelos de proceso del software (1)
Cuadro comparativo  de los modelos de proceso del software (1)Cuadro comparativo  de los modelos de proceso del software (1)
Cuadro comparativo de los modelos de proceso del software (1)
 
Analisis estructurado
Analisis estructuradoAnalisis estructurado
Analisis estructurado
 
Técnicas para la Obtención de Requerimientos
Técnicas para la Obtención de RequerimientosTécnicas para la Obtención de Requerimientos
Técnicas para la Obtención de Requerimientos
 
Compiladores, Analisis Lexico
Compiladores, Analisis LexicoCompiladores, Analisis Lexico
Compiladores, Analisis Lexico
 
Validación y Verificación de Software
Validación y Verificación de SoftwareValidación y Verificación de Software
Validación y Verificación de Software
 
Diseño Estructurado
Diseño EstructuradoDiseño Estructurado
Diseño Estructurado
 
SQLite
SQLiteSQLite
SQLite
 
Modelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones webModelos de desarrollo de aplicaciones web
Modelos de desarrollo de aplicaciones web
 
1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas1.2 arquitectura en 2 capas
1.2 arquitectura en 2 capas
 
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrolloFundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
Fundamentos de ingenieria de Sosftware - Unidad 2 metodologias de desarrollo
 
Proceso del Software
Proceso del Software Proceso del Software
Proceso del Software
 
Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)Fundamentos de ingenieria del software (2)
Fundamentos de ingenieria del software (2)
 
Diagramas de Flujos de Datos
Diagramas de Flujos de DatosDiagramas de Flujos de Datos
Diagramas de Flujos de Datos
 
Proceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de softwareProceso, modelos y metodos de ingenieria de software
Proceso, modelos y metodos de ingenieria de software
 
Fundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacionalFundamentos de BD - unidad 3 modelo relacional
Fundamentos de BD - unidad 3 modelo relacional
 
Unidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De ClasesUnidad 10 Mad Diagrama De Clases
Unidad 10 Mad Diagrama De Clases
 
Tema 07 metodologia asd
Tema 07   metodologia asdTema 07   metodologia asd
Tema 07 metodologia asd
 
Metodologias de desarrollo
Metodologias de desarrolloMetodologias de desarrollo
Metodologias de desarrollo
 
Ejemplo dfd
Ejemplo dfdEjemplo dfd
Ejemplo dfd
 

Viewers also liked

Viewers also liked (11)

Introducción a R - Primeros pasos en R
Introducción a R - Primeros pasos en RIntroducción a R - Primeros pasos en R
Introducción a R - Primeros pasos en R
 
Introducción r primerospasosenr
Introducción r primerospasosenrIntroducción r primerospasosenr
Introducción r primerospasosenr
 
Otras novedades SQL Server 2016
Otras novedades SQL Server 2016Otras novedades SQL Server 2016
Otras novedades SQL Server 2016
 
BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA BEST_PRACTICES: Buenas prácticas para el DBA
BEST_PRACTICES: Buenas prácticas para el DBA
 
In memory
In memoryIn memory
In memory
 
Administrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBAAdministrando SQL Server, mejores practicas para un DBA
Administrando SQL Server, mejores practicas para un DBA
 
Polybase
PolybasePolybase
Polybase
 
Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016Vistazo a lo nuevo en SQL Server 2016
Vistazo a lo nuevo en SQL Server 2016
 
SQL Server Query Processor
SQL Server Query ProcessorSQL Server Query Processor
SQL Server Query Processor
 
Introduccion a Azure Machine Learning
Introduccion a Azure Machine LearningIntroduccion a Azure Machine Learning
Introduccion a Azure Machine Learning
 
Microsoft R Server
Microsoft R ServerMicrosoft R Server
Microsoft R Server
 

Similar to R Services con SQL Server

slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptxslides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
AdrianAntonio29
 
Presentacion De Programa De Formacion
Presentacion De Programa De FormacionPresentacion De Programa De Formacion
Presentacion De Programa De Formacion
anderwrt
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
Enrique Catala Bañuls
 
Curso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasCurso Integración Web Semántica Estadísticas
Curso Integración Web Semántica Estadísticas
WESO (Oviedo Semantic Web)
 

Similar to R Services con SQL Server (20)

Data wrangling en R para programadores SQL
Data wrangling en R para programadores SQLData wrangling en R para programadores SQL
Data wrangling en R para programadores SQL
 
Introduccion a Data Science
Introduccion a Data ScienceIntroduccion a Data Science
Introduccion a Data Science
 
Python dentro de SQL Server
Python dentro de SQL ServerPython dentro de SQL Server
Python dentro de SQL Server
 
Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016Text Mining con R en SQL Server 2016
Text Mining con R en SQL Server 2016
 
Fundamentos de Data Mining con R
Fundamentos de Data Mining con RFundamentos de Data Mining con R
Fundamentos de Data Mining con R
 
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptxslides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
slides-sql_30c44e4f-cb57-473d-bc66-4b2ba79b72a1.pptx
 
Presentacion De Programa De Formacion
Presentacion De Programa De FormacionPresentacion De Programa De Formacion
Presentacion De Programa De Formacion
 
Novedades sql server 2008 para developers
Novedades sql server 2008 para developersNovedades sql server 2008 para developers
Novedades sql server 2008 para developers
 
Curso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligenceCurso introduccion microsoft_sql_server_business_intelligence
Curso introduccion microsoft_sql_server_business_intelligence
 
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
Webinar Vault IT: Analítica avanzada y Machine Learning con virtualización de...
 
Yatel dm redes
Yatel dm redesYatel dm redes
Yatel dm redes
 
Expert Academy Argentina - Azure Cosmos DB Fundamentals
Expert Academy Argentina - Azure Cosmos DB FundamentalsExpert Academy Argentina - Azure Cosmos DB Fundamentals
Expert Academy Argentina - Azure Cosmos DB Fundamentals
 
Machine Learning en SQL Server
Machine Learning en SQL ServerMachine Learning en SQL Server
Machine Learning en SQL Server
 
Trabajo ayudantia
Trabajo ayudantiaTrabajo ayudantia
Trabajo ayudantia
 
Expert Academy Chile - Azure Cosmos DB SQL
Expert Academy Chile - Azure Cosmos DB SQLExpert Academy Chile - Azure Cosmos DB SQL
Expert Academy Chile - Azure Cosmos DB SQL
 
Aplicaciones Difusas Map Reduce
Aplicaciones Difusas Map ReduceAplicaciones Difusas Map Reduce
Aplicaciones Difusas Map Reduce
 
Expert Academy Chile - Azure Cosmos DB and Open Source
Expert Academy Chile - Azure Cosmos DB and Open SourceExpert Academy Chile - Azure Cosmos DB and Open Source
Expert Academy Chile - Azure Cosmos DB and Open Source
 
POC SQL 2014
POC SQL 2014POC SQL 2014
POC SQL 2014
 
1-NAC-TDA Estructuras de Datos
1-NAC-TDA Estructuras de Datos1-NAC-TDA Estructuras de Datos
1-NAC-TDA Estructuras de Datos
 
Curso Integración Web Semántica Estadísticas
Curso Integración Web Semántica EstadísticasCurso Integración Web Semántica Estadísticas
Curso Integración Web Semántica Estadísticas
 

More from dbLearner

More from dbLearner (20)

PowerBI UG Lima-Fabric solutions - Sesión 1
PowerBI UG Lima-Fabric solutions - Sesión 1PowerBI UG Lima-Fabric solutions - Sesión 1
PowerBI UG Lima-Fabric solutions - Sesión 1
 
Analítica ágil con Power BI
Analítica ágil con Power BIAnalítica ágil con Power BI
Analítica ágil con Power BI
 
Uso de IA en la analítica de datos
Uso de IA en la analítica de datosUso de IA en la analítica de datos
Uso de IA en la analítica de datos
 
Power BI UG Lima - Diferencias entre Power BI Desktop y Power BI Services
Power BI  UG Lima - Diferencias entre Power BI Desktop y Power BI ServicesPower BI  UG Lima - Diferencias entre Power BI Desktop y Power BI Services
Power BI UG Lima - Diferencias entre Power BI Desktop y Power BI Services
 
GPPB2023 PBI Carga Incremental.pptx
GPPB2023 PBI Carga Incremental.pptxGPPB2023 PBI Carga Incremental.pptx
GPPB2023 PBI Carga Incremental.pptx
 
Gobernanza de datos - Azure Purview
Gobernanza de datos - Azure PurviewGobernanza de datos - Azure Purview
Gobernanza de datos - Azure Purview
 
Azure SQL Database: Opciones de implementación
Azure SQL Database: Opciones de implementaciónAzure SQL Database: Opciones de implementación
Azure SQL Database: Opciones de implementación
 
Power BI UG Lima webcast enero 22 - Seguridad
Power BI UG Lima   webcast enero 22 - SeguridadPower BI UG Lima   webcast enero 22 - Seguridad
Power BI UG Lima webcast enero 22 - Seguridad
 
COESYS - Inteligencia de Negocios en la Nube, Acelerando los Procesos de An...
COESYS -  Inteligencia de Negocios en la Nube, Acelerando los Procesos  de An...COESYS -  Inteligencia de Negocios en la Nube, Acelerando los Procesos  de An...
COESYS - Inteligencia de Negocios en la Nube, Acelerando los Procesos de An...
 
Gira Latam Gold 2021 - Mejores Prácticas de Modelado con Power BI
Gira Latam Gold 2021  - Mejores Prácticas de Modelado con Power BIGira Latam Gold 2021  - Mejores Prácticas de Modelado con Power BI
Gira Latam Gold 2021 - Mejores Prácticas de Modelado con Power BI
 
Gobierno de datos con Power BI
Gobierno de datos con Power BIGobierno de datos con Power BI
Gobierno de datos con Power BI
 
Power BI UG Lima-webcast junio-Data Viz Trucos y Consejos
Power BI UG Lima-webcast junio-Data Viz Trucos y ConsejosPower BI UG Lima-webcast junio-Data Viz Trucos y Consejos
Power BI UG Lima-webcast junio-Data Viz Trucos y Consejos
 
Global Azure Latinoamérica 2021 - Power BI y Data Lake
Global Azure Latinoamérica 2021 - Power BI y Data LakeGlobal Azure Latinoamérica 2021 - Power BI y Data Lake
Global Azure Latinoamérica 2021 - Power BI y Data Lake
 
Azure Data Services - Virtual Azure Community Day
Azure Data Services   - Virtual Azure Community DayAzure Data Services   - Virtual Azure Community Day
Azure Data Services - Virtual Azure Community Day
 
Global azure 2020 - Opciones para migrar SQL Server a Azure SQL
Global azure 2020 - Opciones para migrar SQL Server a Azure SQL Global azure 2020 - Opciones para migrar SQL Server a Azure SQL
Global azure 2020 - Opciones para migrar SQL Server a Azure SQL
 
Data Governance y Data Lineage con Power BI
Data Governance y Data Lineage con Power BIData Governance y Data Lineage con Power BI
Data Governance y Data Lineage con Power BI
 
Migra tus bases de datos a Azure
Migra tus bases de datos a AzureMigra tus bases de datos a Azure
Migra tus bases de datos a Azure
 
Introducción a plataforma de datos con Azure
Introducción a plataforma de datos con AzureIntroducción a plataforma de datos con Azure
Introducción a plataforma de datos con Azure
 
Power BI-Global AI Nights
Power BI-Global AI NightsPower BI-Global AI Nights
Power BI-Global AI Nights
 
Inteligecia Artificail con Power BI - UTEC Ventures
Inteligecia Artificail con Power BI - UTEC VenturesInteligecia Artificail con Power BI - UTEC Ventures
Inteligecia Artificail con Power BI - UTEC Ventures
 

Recently uploaded

redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
nicho110
 

Recently uploaded (11)

EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 

R Services con SQL Server

  • 1. R-Services con SQL Server Alberto De Rossi MCP / MCT SQL Server Julio 2016
  • 2. Introducción a Data Science y Lenguaje R R Services con SQL Server 2016 Ejecutar Código R Agenda 
  • 3. Introducción a Data Science y R Services R Services con SQL Server 2016 Ejecutar Código R Agenda 
  • 4. 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
  • 5. 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
  • 7. El proceso de descubrir conocimiento (1 de 2) • Término “Big Data”, acuñado por astrónomos Cox y Ellsworth en 1997 Computing Community Consortium Big Data Pipeline from 2012 Acquisition / Recording Extraction / Cleaning / Annotation Integration / Aggregation / Representation Analysis / Modeling Interpretation Knowledge Discovery in Databases Process 1996
  • 8. 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
  • 9. 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
  • 10. 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
  • 11. Introducción a Lenguaje R R Services con SQL Server 2016 Ejecutar Código R Título 
  • 12. 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
  • 13. 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
  • 14. 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
  • 15. R Services con SQL Server 2016 Introducción a Lenguaje R Ejecutar Código R Título 
  • 16. Ejecutar código R en SQL Server 1. Intalar R Services 2. Habilitar la ejecución de scripts externos Exec sp_configure 'external scripts enabled', 1 Reconfigure with override
  • 17. Manipulación de datos con R Col1 Col2 Col3 2012 14 45 2013 13 76 2013 34 65 2014 23 47 frame1
  • 18. Manipulación de datos con R frame1 frame1 <- filter(frame1, Col1 == 2013) Col1 Col2 Col3 2013 13 76 2013 34 65
  • 19. 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)
  • 20. 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)
  • 21. 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))
  • 22. 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
  • 25. Alberto De Rossi alberto.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
  • 26. 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
  • 27. 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