57
Tópicos de Data Mining en Big Data Ernesto Mislej - @fetnelio [email protected] Buenos Aires, 20 de Octubre de 2014

Tópicos de Big Data - Introducción

Embed Size (px)

DESCRIPTION

Introducción a Big Data Las unidades temáticas y ejemplos están motivados mayormente en problemas actuales derivados de la Web, su estructura y en los datos que ésta genera a partir de sitios de noticias, redes sociales, buscadores de internet, sistemas de comercio electrónico, entre otros. Para ello se han diseñado una recopilación de técnicas, algoritmos y problemas agrupado en ejes temáticos. Se dará énfasis a la problemática conocida como Big Data que trata sobre el tamaño de los datos, el modelo de arquitectura y file systems distribuidos de gran escala. Introducción a los problemas sobre volúmenes de datos muy grandes (Big Data); arquitectura de datos y file system distribuidos de gran escala y modelo map reduce para diseñar algoritmos paralelos. Principio de Bonferroni, límite estadístico en el data-mining. Paradoja de Rhine, Detección de gente sospechosa Referencias: http://7puentes.com http://datamining.dc.uba.ar http://www.mmds.org

Citation preview

Page 1: Tópicos de Big Data - Introducción

Tópicos de Data Mining en Big Data Ernesto Mislej - @fetnelio [email protected]

Buenos Aires, 20 de Octubre de 2014

Page 2: Tópicos de Big Data - Introducción

1

Data Is the new Oil

Page 3: Tópicos de Big Data - Introducción

2

Data expands to fill the space

available.

Parkinson's Law of Data

Page 4: Tópicos de Big Data - Introducción

3

Modelos analíticos según la complejidad Data inputs

Balances

Filtro Colaborativo

Social Media Stream

BI - OLAP

Cart Analysis

Internet of Things

Page 5: Tópicos de Big Data - Introducción

4

Web Buzz!

“…Scientific hindsight shows that Google Flu Trends far overstated this year's flu season…”

David Wagner, Atlantic Wire, Feb 13 2013

Page 6: Tópicos de Big Data - Introducción

5

“La radio pasa Whitney, voy a llorar! Qué canción triste” “Whitney no murió, qué tristeza, Dios!” “Realmente Whitney murió? Qué mal” “Whitney Houston y Michael Jackson, quién tenía más problemas?” “Cuando canta Whitney me pongo muy triste” “Te amamos Whitney”

Pobre Whitney…

Page 7: Tópicos de Big Data - Introducción

6

Límites: Correlación vs. Causalidad

Correlation does not imply causation

Page 8: Tópicos de Big Data - Introducción

7

Principio de Bonferroni

Page 9: Tópicos de Big Data - Introducción

8

Límite estadístico

Un gran riesgo en las tareas de big data reside en descubrir patrones carentes de significado. •  El principio de Bonferroni: (vagamente) si en tu afán de encontrar patrones interesantes

buscas en una cantidad muy superior de la que tus datos soportan, estás frito. Ejemplo: “Total Information Awareness” •  Supongamos que creemos que existe un grupo de espías secretos que se reúne

ocasionalmente en hoteles para diseñar sus planes.

•  Objetivo: Hallar personas que al menos 2 veces estuvieron en el mismo hotel el mismo día.

Page 10: Tópicos de Big Data - Introducción

9

Límite estadístico (cont.)

Ejemplo: “Total Information Awareness” (ejemplo ficticio!) •  109 personas están alcanzadas por el sistema de monitoreo. •  Se toma un período de 1000 días. •  Cada persona reside en un hotel el 1% del período: 10 días de los 1000. •  Los hoteles tienen capacidad para 100 personas. •  Existen 105 hoteles.

¿Si todas las personas se comportan de manera normal (no espía), acaso el data mining detectará a los espías?

Page 11: Tópicos de Big Data - Introducción

10

Límite estadístico (cont.)

La probabilidad que dada las personas p y q compartan el mismo hotel el día d:

1/100 x 1/100 x 10-5 = 10-9

La probabilidad que p y q esten en el mismo hotel en los días d1 y d2

10-9 x 10­−9 = 10-18

Pares de días

5x105

Page 12: Tópicos de Big Data - Introducción

11

Límite estadístico (cont.)

La probabilidad que p y q compartan el mismo hotel algún par de días d1 y d2

5x105 x 10-18 = 5x10-13

Pares de personas

5x1017

Número esperado de espías candidatos

5x1017 x 5x10-13 = 250000

Page 13: Tópicos de Big Data - Introducción

12

Límite estadístico (cont.)

Conclusión Debemos interrogar a 250mil personas para poder hallar a 10,100 espías secretos.

Cuando busquemos una propiedad (por ejemplo que 2 personas coincidan 2 veces en el mismo hotel), estemos seguros que esa propiedad no se encuentre de manera aleatoria en los casos

Page 14: Tópicos de Big Data - Introducción

13

La paradoja de Rhine

Page 15: Tópicos de Big Data - Introducción

14

Page 16: Tópicos de Big Data - Introducción

15

Qué es Big Data? Big Data means "a collection of data sets so large and complex that it becomes difficult to process using on-hand database management tools or traditional data processing applications."

Page 17: Tópicos de Big Data - Introducción

16 Erupcción del Géiser Strokkur, by Andreas Tille

Page 18: Tópicos de Big Data - Introducción

17

Volumen ¿Cuánto es mucho?

"Big data sizes are a constantly moving target" "Hoy en 2 días generamos tanta información como toda la que se generó en la historia de la civilización hasta el año 2003" Los exabytes (mucho más que mega, giga, tera o peta) que generan a diario nuestras máquinas en red exceden ampliamente toda la información junta generada hasta el siglo XXI Escalabilidad

Page 19: Tópicos de Big Data - Introducción

18

Velocidad - Análisis del Stream de datos - Los autos modernos tienen más de 100 sensores que generan datosd desde nivel de combustible, presión de neumáticos, etc. - La NY Stock Exchange captura 1 TB de información de trading durante cada sesión. - Para el 2016 se esperan tener 19900 Millones de aparatos conectados. 2.5 aparatos por persona en el planeta.

Nuevos requerimientos a las DB Transaccionales. Consistencia eventual

Page 20: Tópicos de Big Data - Introducción

19

Page 21: Tópicos de Big Data - Introducción

20

Page 22: Tópicos de Big Data - Introducción

21

Variedad – Información en distintos formatos

-  En 2011, la industria de la Salud generó +150 Exabytes (1000 Millones de Gigabytes) de documentación médica, tratamientos e historias clínicas. -  30Mil Millones de contenido compartido en Facebook por mes. -  En 2014 se esperan vender 420 Millones de Health Monitors portátiles -  4Mil Millones de horas de video en YouTube vistas por mes y 400 Millones de tuits por día.

Page 23: Tópicos de Big Data - Introducción

22

Veracidad – Incerteza en los datos

-  múltiples fuentes que compiten por la verdad, -  inconsistencia, -  ambigüedad, -  modelos aproximados

Cómo manejarse en un mundo de incertezas

Page 24: Tópicos de Big Data - Introducción

23 Erupcción del Géiser Strokkur, by Andreas Tille

+ Optimización + Innovación

Page 25: Tópicos de Big Data - Introducción

24

Qué es Data Science?

“El futuro le pertenece a las compañías y a las personas que convierten datos en productos.”

Mike Loukides, O’Reilly Radar 2010 Data science is a discipline that incorporates varying degrees of Data Engineering, Scientific Method, Math, Statistics, Advanced Computing, Visualization, Hacker mindset, and Domain Expertise. A practitioner of Data Science is called a Data Scientist. Data Scientists solve complex data analysis problems.

Wikipedia, 2014

Page 26: Tópicos de Big Data - Introducción

25

“…on any given day, a team member could author a multistage processing pipeline in Python, design a hypothesis test, perform a regression analysis over data samples with R, design and implement an algorithm for some data-intensive product or service in Hadoop, or communicate the results of our analyses to other members of the organization”

Information Platforms as Dataspaces, by Jeff Hammerbacher

Data Scientist: The Sexiest Job of the 21st Century

Harvard Business Review article by Thomas H. Davenport and D.J. Patil

Data Scientist: The sexiest job of 21st century!

Page 27: Tópicos de Big Data - Introducción

26

Big Data Buzz!

Page 28: Tópicos de Big Data - Introducción

27

Diseño de Data-Products

El diseño de nuevos productos es en sí una aventura ya que debemos ampliar las fronteras del negocio conocido. Tomémos el caso de los logs de acceso: anteriormente descartados, archivados o relegados a una función de monitor de actividad; hoy en día son la base para realizar análisis de click-stream, mejorar la usabilidad y experiencia de usuario, inducir patrones de consumo, personalización, etc.

A R2D2 blueprint Lucasfilm Image Archives

Page 29: Tópicos de Big Data - Introducción

28

Data + Monetization

Page 30: Tópicos de Big Data - Introducción

29

¿Qué información derivada de nuestro

negocio puede interesarles a nuestros clientes o proveedores?

Page 31: Tópicos de Big Data - Introducción

30

Los skills de LinkedIn

Un tiempo atrás LinkedIn agregó la sección de skills permit iendo definir nuestras habil idades profesionales de manera más precisa y a la vez nuestros colegas nos las validan y sugieren nuevas. ¿Qué skills tienen mis colegas que aún yo no tengo? ¿Qué otros skills pueden llegar a interesarme adquirir? o bien, visto en red ¿qué capacidades está demandando el mercado laboral en Latinoamérica? ¿Esas demandas estarán cubiertas en los próximos años?

Page 32: Tópicos de Big Data - Introducción

31

Tu información puede ser valiosa para algún vecino de tu ecosistema productivo,

¿cómo podrías productizar esa información? ¿Qué datos genera tu core business a los que

aún no les has encontrado valor?

Reserva Nacional Esteros del Ibera, Argentina, por Joshua Stone

Page 33: Tópicos de Big Data - Introducción

32

The Climate Corporation Monsanto

Trilla del trigo en el Antiguo Egipto, By Carlos E. Solivérez

Page 34: Tópicos de Big Data - Introducción

33

NEST & Google

Page 35: Tópicos de Big Data - Introducción

34

Page 36: Tópicos de Big Data - Introducción

35

High dim. data

Locality  sensi-ve  hashing  

Clustering  

Dimension.  reduc-on  

Graph data

PageRank,  SimRank  

Community  Detec-on  

Spam  Detec-on  

Infinite data

Filtering  data  

streams  

Web  adver-sing  

Queries  on  streams  

Machine learning

SVM  

Decision  Trees  

Perceptron,  kNN  

Apps

Recom.  systems  

Associa-on  Rules  

Duplicate  document  detec-on  

Page 37: Tópicos de Big Data - Introducción

36

1.  Gestión de Riesgo, fraude, lavado de dinero, deuda-mora de cliente, vigilancia activa 2.  Branding y sentiment-analysis: Social media analytics, buzz monitoring. 3.  Customer life-cycle analytics. 4.  Personalización & Mayor engagement 5.  Análisis de logs: Detección de Intrusiones, UX, 6.  Salud: Detección de epidemias, eHealh

Casos de Uso Big Data

Page 38: Tópicos de Big Data - Introducción

37

Customer life-cycle analytics

-  Churn analysis -  Behavioral model del customer -  Programa de descuentos / loyalty -  Abandono de Carrito -  Sistemas de recomendación -  Up-Sell, Cross-Sell -  Personalización & Mayor engagement

Page 39: Tópicos de Big Data - Introducción

38

Google datacenter 1M servers (al 2011)

Page 40: Tópicos de Big Data - Introducción

39

Memory

Disk

CPU

Machine Learning, Statistics

“Classical” Data Mining

Arquitectura single-node

Page 41: Tópicos de Big Data - Introducción

40

Mem

Disk

CPU

Mem

Disk

CPU

Switch

Each rack contains 16-64 nodes

Mem

Disk

CPU

Mem

Disk

CPU

Switch

Switch 1 Gbps between any pair of nodes in a rack

2-10 Gbps backbone between racks

Arquitectura cluster

Page 42: Tópicos de Big Data - Introducción

41

Large-scale computing para problemas de data mining sobre hardware commodity Desafío

– ¿Cómo distribuimos el cómputo? – ¿Cómo escribimos software fácilmente distribuible? – Machines fail!:

•  Un server está vivo sin fallas ~3años (1000 días)

•  Si tenés 1000 servers, la esperanza es que falle 1 server por día •  Google tiene ~1M servers en 2011 (?¿?¿)

–  1000 servers fallan todos los días!!!

41

Page 43: Tópicos de Big Data - Introducción

42

Idea & Solución

Transmitir datos sobre la red es costoso è Llevemos la computación cerca de los datos Las máquinas se caen è múltiples partes&copias para garantizar reliability

Infraestructura de Storage + File system Google: GFS. Hadoop: HDFS Huge files (100s of GB to TB). Rarely updated in place. Reads & appends Modelo de programación distribuida Map-Reduce

Page 44: Tópicos de Big Data - Introducción

43

Google MapReduce (2004) Amazon (2006)

Page 45: Tópicos de Big Data - Introducción

44

•  Chunk servers –  El file se parte en chunks contiguos –  ~cada chunk es de 16-64MB –  Cada chunk se replica ~2x ó 3x –  La idea es mantener las réplicas en diferentes racks

•  Master node –  a.k.a. Name Node en Hadoop’s HDFS –  Almacena la metadata donde se cada persiste cada file –  Puede ser replicado también –  En Hadoop 2 el Master Node es distribuido

•  Client library for file access –  Pregunta al Master la ubicación de los chunk servers –  Se conecta directamente con los chunks servers para acceder a los datos

Page 46: Tópicos de Big Data - Introducción

45

File system Distribuido y Confiable •  Data se persiste en “chunks” distribuidos sobre el cluster de máquinas •  Cada chunk se replica en diferentes máquinas •  La recuperación ante caídas del server o fallas de disco es transparente

C0 C1

C2 C5

Chunk server 1

D1

C5

Chunk server 3

C1

C3 C5

Chunk server 2

… C2 D0

D0

Llevar el cómputo hacia los datos!

C0 C5

Chunk server N

C2 D0

Chunk servers son también servers de cómputo

Page 47: Tópicos de Big Data - Introducción

46

Contar palabras distintas Tenemos un documento de texto muy grande (por ej. un logfile de nuestro webserver access.log) Debemos contar la cantidad de ocurrencias de cada palabra Aplicación Analizar los URLs más populares de nuestro site analizando los logs del webserver.

wordsplit(doc.txt) | sort | uniq -c

Ejemplo de programa map-reduce

Page 48: Tópicos de Big Data - Introducción

47

Escencia map-reduce

Leer de manera secuencial todo el file 1. Map: Extraer algo interente y asociarle una key. Genera pares <key, value> 2. Group by key: Clasificar, sort & shuffle (no se programa) 3. Reduce: Sumarizar, filtrar, transformar, otras aggregate func., sobre todos los pares de la misma key. Escribir el resultado

Page 49: Tópicos de Big Data - Introducción

48

Escencia map-reduce

Page 50: Tópicos de Big Data - Introducción

49

Escencia map-reduce

Page 51: Tópicos de Big Data - Introducción

50

•  Ideal para procesamiento datawarehouse •  Grandes logfiles, textfiles •  Orientado a batch •  Traducción casi inmediata a HiveQL, SQL sobre textfiles para Hadoop & HDFS

•  Muy robusto. Poco performante. •  No se ajusta a tareas realtime. •  Las tareas O(n2) o superior, obligatoriamente son separadas del procesamiento.

Críticas a Hadoop & map-reduce

Page 52: Tópicos de Big Data - Introducción

51

Page 53: Tópicos de Big Data - Introducción

52

query = function (alldata)

Page 54: Tópicos de Big Data - Introducción

53

Page 55: Tópicos de Big Data - Introducción

54

Page 56: Tópicos de Big Data - Introducción

55

Page 57: Tópicos de Big Data - Introducción

56

Volveré y seré millones (de datos)