tipos de organización y sus objetivos y aplicación
Big data: a data sicentist view
1. Big data: a data scientist view
Fernando Calle
Data Scientist at ASPgems and Professor at UEX
fcalle@aspgems.com
www.aspgems.com
twitter: @calle_f
Machine Learning Spain
http://www.meetup.com/MachineLearningSpain/
MADRID · NOV 21-22 · 2014
4. MADRID · NOV 21-22 · 2014
Menú de hoy
1er Plato
● Data Hype
● Big Data & Data Science
2º Plato
● Arquitectura
● Lectura de Datos
● Tratamiento de datos
Postre
● Visualización
● Informe de resultados
5. MADRID · NOV 21-22 · 2014
Menú de hoy
1er Plato
● Data Hype
● Big Data & Data Science
2º Plato
● Arquitectura
● Lectura de Datos
● Tratamiento de datos (con R)
Postre
● Visualización
● Informe de resultados
6. MADRID · NOV 21-22 · 2014
Data Hype
“Data is arguably the most importan natural resource of
this century.” - Michael Dell, chairman and CEO at Dell.
"Data really powers everything that we do." – Jeff
Weiner, chief executive of LinkedIn.
“I keep saying that the sexy job in the next 10 years will
be statisticians, and I’m not kidding.” – Hal Varian, chief
economist at Google
"Data is the oil of the 21st century, and analytics is the
combustion engine." - Peter Sondergaard, Gartner
Group
7. MADRID · NOV 21-22 · 2014
Data Hype
● 90% de los datos mundiales se han
creado en los dos últimos años.
● 80% de la información hoy en día es no
estructurada.
● Se estima que existen 1 billón de
dispositivos conectados, que producen
2.5 trillones de bytes al día.
8. Los datos siempre han proporcionado
información y resultados valiosos. Pero es
ahora cuando se han dado cuenta las
instituciones públicas y privadas.
“De repente tiene sentido económico
aprovechar todo el valor que tienen los datos” -
Sean Owen, Director de Data Science en
Cloudera.
MADRID · NOV 21-22 · 2014
Data Hype
11. MADRID · NOV 21-22 · 2014
Big Data & Data Science
Las tres V’s (Lo siento...otra vez)
- Volumen: almacenamiento de datos.
- Variedad: diferentes tipos de datos y de
fuentes.
- Velocidad: datos generados rápidamente y
resultados en “tiempo real”.
Las 4 V’s -> Veracidad
Las 5 V’s -> Valor
12. MADRID · NOV 21-22 · 2014
Big Data & Data Science
● Todo el mundo habla de Big Data, pero casi
nadie sabe realmente hacerlo.
● Todo el mundo piensa que el resto hace Big
Data, pero casi nadie lo está haciendo.
13. MADRID · NOV 21-22 · 2014
Big Data & Data Science
14. MADRID · NOV 21-22 · 2014
Big Data & Data Science
“Data Scientist is the
sexiest job in the 21st
century” - Harvard
Business review.
15. MADRID · NOV 21-22 · 2014
Big Data & Data Science
Data Science: El estudio científico que trata la
creación, validación y transformación de los
datos para darles significado y valor.
Data Scientist: Profesional que utiliza modelos
científicos para obtener información y
significado de datos en bruto.
16. MADRID · NOV 21-22 · 2014
Big Data & Data Science
Data Science is OSEMN!!
★ Obtaining
★ Scrubbing
★ Exploring
★ Modeling
★ iNterpreting
17. MADRID · NOV 21-22 · 2014
Big Data & Data Science
● Big Data es aún una idea un poco difusa.
● Marcará una época en la que, apoyándose
en la estadística (data science), tendrá un
alto impacto en todos los negocios.
● Las mejores decisiones se toman basadas
en datos.
18. Retos del científico de datos
con Big Data
● Buscar las preguntas adecuadas.
● Analizar la procedencia de los datos y su
MADRID · NOV 21-22 · 2014
calidad.
● Tener en cuenta la privacidad, confidencialidad,
transparencia e identidad.
● Obtener relaciones coherentes y no por azar.
● Visualización de resultados.
● Replicabilidad de métodos y resultados.
19. MADRID · NOV 21-22 · 2014
Menú de hoy
1er Plato
● Data Hype
● Big Data & Data Science
2º Plato
● Arquitectura
● Lectura de Datos
● Tratamiento de datos
Postre
● Visualización
● Informe de resultados
21. MADRID · NOV 21-22 · 2014
Carga/Lectura de datos
● Sqoop
● HBase, Hive
● Pentaho
● CSV
● Rhive, bigRquery
● ...
22. MADRID · NOV 21-22 · 2014
Tratamiento de datos
● Se pueden utilizar diferentes herramientas:
R, Julia, Python, scikit-learn, Pandas,
Mahout, Azure ML...
● API’s, APPs: graphlab, dataiku, BigML,
Indico,...
● Hay que elegir cuidadosamente en cada
caso.
23. MADRID · NOV 21-22 · 2014
Tratamiento de datos
● Mahout y MLbase: para hadoop y spark.
● Google Prediction: caja negra de algoritmos.
● Azure ML: incluye un entorno para R.
● R y Python: los más usados por data
scientists.
25. MADRID · NOV 21-22 · 2014
Tratamiento de datos
¿En qué es especialmente bueno R?
● Maneja cualquier conjunto de datos que quepa en memoria
● Uso de dataframes optimizado
● Puede trabajar con paralelización (mclapply)
● Acepta librerías de C++ (Rcpp/Rcpp11)
● Enlaza con H2O (sobre nuestros servidores)
● Ventajas añadidas con dplyr y bigRquery
● Visualización de resultados en general es insuperable
● Resultados interactivos con Shiny, ggvis o R2d3
● +2M de usuarios y contribuidores
26. MADRID · NOV 21-22 · 2014
Tratamiento de datos
¿En qué es especialmente bueno Python?
● Análisis sencillo de conjuntos de datos medianos o
pequeños con Pandas.
● Sincronización de los clusters rápida usando elasticluster
● Paralelización sencilla con ipython.parallel
● El código es fácilmente legible
● Para procesos poco costosos es muchísimo más rápido que
R, por ejemplo con Numba (compilado con instrucciones
nativas)
● Librerías como iPython, NumPy, SciPy, Pandas.
29. MADRID · NOV 21-22 · 2014
Tratamiento de datos
Carga de datos
● foreign: carga de datos externos (SAS, SPSS, excel,...)
● SQLdf, RODBC, RPostgresSQL, RSQLite: carga de datos y consultas
parecidas a SQL.
Manipulación
● lubridate: contiene todas las funciones que se pueden aplicar sobre datos
en formato fecha y se utilizan de forma sencillísima.
● reshape2: transformación del formato de los datos. (o también tidyr)
● stringR: manejo de cadenas de texto optimizado.
● plyr: agregación de datos y aplicación de funciones por grupos. Funciones
como ddply, daply, dlply, adply, ldply indispensables. ¡Mejorado con dplyr!
32. MADRID · NOV 21-22 · 2014
Tratamiento de datos
Modelización
● caret: incluye sencillas herramientas para analizar la calidad de los datos,
selección de características y construcción de modelos predictivos. Los
resultados que proporciona son especialmente completos.
● car: Entre otros beneficios permite realizar ANOVA tipo II y tipo III.
● random forest: Este método de machine learning puede ser utilizado para
el aprendizaje tanto supervisado como no supervisado. Es bastante
popular por su sencillez y buenos resultados
● qcc: Paquete para el control estadístico de calidad. Ofrece funciones
fáciles de utilizar y gráficos muy intuitivos para observar procesos bajo
control y sucesos que están fuera de control.
● zoo y forecast: Realizan el formateo de datos y creación de modelos de
predicción para series temporales.
33. MADRID · NOV 21-22 · 2014
Menú de hoy
1er Plato
● Data Hype
● Big Data & Data Science
2º Plato
● Arquitectura
● Lectura de datos
● Tratamiento de datos
Postre
● Visualización
● Informe de resultados
35. MADRID · NOV 21-22 · 2014
Visualización
● ggplot2: Mejora las funciones habituales de R para gráficos
pudiendo incluir más capas y especificaciones. Hay
diferentes libros de gran utilidad para este paquete.
● rgl: Gráficos interactivos en 3D usando OpenGL y escrito
sobre C++. Presenta una navegación interactiva sobre el
gráfico que permite hacer zoom con el propio ratón.
● shiny y ggvis: utilizando el framework para aplicaciones
web de shiny, se utiliza ggvis para construir gráficos
interactivos que se visualizan en un navegador.
36. Visualización
● Quieres conseguir un gráfico que sea
efectivo para comunicar resultados de R.
● Únicamente tienes una idea ligera de cómo
MADRID · NOV 21-22 · 2014
quieres que sea el gráfico.
● Necesitas código inicial de apoyo para
después poder personalizarlo.
http://shinyapps.stat.ubc.ca/r-graph-catalog/
38. Diferentes formatos para resultados
● xtable: para exportar tablas desde dataframes a HTML
MADRID · NOV 21-22 · 2014
o Latex en un simple paso.
● R Markdown con knitr: permite elaborar informes en
formato Markdown (por ejemplo en HTML).
● pander: convierte documentos generados con
markdown a otros formatos como PDF, doc, etc.
39. MADRID · NOV 21-22 · 2014
R Markdown + Shiny
title: "Codemotion"
author: "Fernando"
date: "Friday, November 21, 2014"
output: html_document
runtime: shiny
---
Este documento de R Markdown se ha convertido en interactivo gracias a Shiny.
## Inputs y Outputs
Se pueden incluir inputs y outputs de Shiny directamente en el documento. Aquí se observa cómo un
gráfico sencillo de R se puede hacer interactivo mediante la función de Shiny `renderPlot`. Las
funciones `selectInput` y `sliderInput` crean los widgets que se utilizan en el gráfico.
40. MADRID · NOV 21-22 · 2014
R Markdown + Shiny
```{r, echo=FALSE}
inputPanel(
selectInput("n_breaks", label = "Number of bins:",
choices = c(10, 20, 35, 50), selected = 20),
sliderInput("bw_adjust", label = "Bandwidth adjustment:",
min = 0.2, max = 2, value = 1, step = 0.2)
)
renderPlot({
hist(faithful$eruptions, probability = TRUE, breaks = as.numeric(input$n_breaks),
xlab = "Duration (minutes)", main = "Geyser eruption duration")
dens <- density(faithful$eruptions, adjust = input$bw_adjust)
lines(dens, col = "blue")
})
```
41. MADRID · NOV 21-22 · 2014
R Markdown + Shiny
## Aplicación
También es posible cargar directamente una aplicación completa de Shiny en un documento R
Markdown utilizando la función `shinyAppDir`. Este ejemplo carga una aplicación de Shiny que se
encuentra en otro directorio:
```{r, echo=FALSE}
shinyAppDir(
system.file("examples/06_tabsets", package="shiny"),
options=list(
width="100%", height=550
)
)
```
Se puede apreciar que se ha definido `echo = FALSE` en todos los trozos de código R. Con esto se
consigue que no se muestre el codigo en el documento html.
44. MADRID · NOV 21-22 · 2014
Thanks!
Fernando Calle
Data Scientist at ASPgems and Professor at UEX
fcalle@aspgems.com
www.aspgems.com
twitter: @calle_f
Machine Learning Spain
http://www.meetup.com/MachineLearningSpain/
Notas del editor
Always reference your source and try to use authorized materials. In other words, don’t do this.