Transcript
Page 1: Transformando a Web com Dados

Transformando a Web com dados

Apoio:

Page 2: Transformando a Web com Dados

•  Pesquisa Cientifica (LHC, Genética, Meteorologia) •  Mercado Financeiro •  Cultura (Literatura,Jornais, Netflix) •  Processos industrias •  … e a internet! Alguns números: -  LHC gera 70 TB/dia de dados -  NYSE gera 1 TB/dia de trading data -  Facebook: 1.5 bilhão de likes em marcas por mês -  Apontador: 50 milhões de pageviews por mês -  Maplink: 1.8 bilhões de coordenadas processadas por mês

2 de 21

Dados e dados…Por toda parte!

Fontes: - http://en.wikipedia.org/wiki/Large_Hadron_Collider - http://marciaconner.com/blog/data-on-big-data/

Page 3: Transformando a Web com Dados

3 de 21

Hum?

•  O usuário realiza ações em um site.

•  Ações podem indicar preferências

•  Entender ações dos usuários aumenta o grau de informação sobre

ele.

•  Customização e experiência do usuário.

Page 4: Transformando a Web com Dados

4 de 21

Page 5: Transformando a Web com Dados

•  Volume de dados gigante

•  Dados indicam informações sobre os usuários

•  Faz tempo que existe uma avanlanche de dados, que eram em

geral sumarizados.

•  Hoje existem ferramentas que permitem armazenar e processar

esses dados em sua forma bruta.

5 de 21

BIG Data

Page 6: Transformando a Web com Dados

•  Toda informação do usuário é logada

•  Se um dado gera informações que mudam ao longo do tempo, o log

é versionado por usuário

6 de 21

Metodologia Big Data

Buscas, clicks, mouse hoover, movimentos no mapa

Page 7: Transformando a Web com Dados

Fonte: Maplink - 7 de 21

Page 8: Transformando a Web com Dados

•  Não é necessário um volume absurdo de dados

•  Operações complexas podem necessitar um grande parque

computacional mesmo para uma pequena quantidade de dados

•  Sistemas com pequena quantidade de dados podem se benificiar da

Metodologia big data

8 de 21

Small-Big-Medium Data

Page 9: Transformando a Web com Dados

•  HPC (clusters, GPU, etc)

•  Map Reduce (Hadoop, Disco, etc)

9 de 21

Como fazer Big Data?

Processamento:

Armazenamento: •  Banco de dados escaláveis (noSQL): MongoDB, Cassandra,

Dynamo..

Page 10: Transformando a Web com Dados

“Estou na Campus Party”

“Campus Party esse mês” “O campus da USP é no Butanta”

Estou 1 na 1 Campus 1 Party 1

Campus 2 Party 2 esse 2 mês 2

O 3 campus 3 da 3 USP 3 é 3 no 3 Butanta 3

Estou 1 na 1 Campus 1,2,3

Party 1,2 esse 2 Mes 2

o 3 da 3 USP 3 e 3

no 3 butanta 3

10 de 21

Exemplo Map Reduce

Page 11: Transformando a Web com Dados

Dados

Saída

Master Node

Worker

Worker

Worker

11 de 21

Page 12: Transformando a Web com Dados

•  Facilmente escalável (embarrassingly parallel) a milhares de TB.

•  Baixo custo de escalabilidade: clusters com milhares de nós,

commodity servers

•  Facil correção de problemas on the fly.

12 de 21

Vantagens do Map Reduce

Page 13: Transformando a Web com Dados

•  Programação de baixo nível de abstração.

•  Nem todo algorítmo pode ser escrito como uma única tarefa de

MapReduce.

•  Representação de algorítimos matemáticos complexos depende de

diversas tarefas de Map e Reduce.

13 de 21

Desvantagens do Map Reduce

Page 14: Transformando a Web com Dados

•  Projeto Apache

•  Framework de MapReduce

•  Sistema de arquivos distribuido entre todas as máquinas do cluster

(HDFS)

•  Hbase, Hive, PIG, Mahout

•  Yelp, Yahoo, Facebook, Amazon, Netflix, Apontador & Maplink

14 de 21

E o Hadoop? O que é?

Page 15: Transformando a Web com Dados

•  Apenas os dados não trazem soluções dos problemas.

•  Modelos estatísticos trazem intuição teórica sobre o que estamos

estudando.

•  Dados processados com suposições teóricas equivocadas podem

levar a conclusões erradas.

15 de 21

Só Hadoop resolve meu problema?

Page 16: Transformando a Web com Dados

Vamos construir um e-commerce com um sistema de recomendação e descontos personalizados:

16 de 21

Como assim modelo?

Page 17: Transformando a Web com Dados

“Que item devo recomendar ao meu usuário? Devo dar um desconto? Que valor de desconto eu posso dar?” •  O que conheço do usuário?

Compras efetuadas no passado Dados de Navegação (user agent, produtos visualizados no passado, ...) Descontos efetuados no passado Dados pessoais (idade, sexo, ...) Que produto o usuário está visualizando agora

•  O que eu quer saber? Que produto recomendar? Que desconto oferecer?

17 de 21

Sr David steps, dono da loja virtual VelhoGeek:

Page 18: Transformando a Web com Dados

Pid    descrição   categoria   preço  1   Notebook  Pear   Informa(ca    R$3000.00    2   Notebook  HAL   Informa(ca    R$2000.00    3   Celular  Pear  youPhone   Telefonia    R$1800.00    4   Celular  Blue  Robot   Telefonia    R$1600.00    5   Celular  youClone  com  8  chips   Telefonia    R$800.00    6   Celular  EscritórioFone  for  Businessmen   Telefonia    R$1000.00    7   Tênis  Mike   Roupas  e  Acessórios    R$300.00    8   Tênis  Rei   Roupas  e  Acessórios    R$150.00    

9   Fone  de  Ouvido  youPhone  original   Acessórios  de  Informá(ca    R$90.00    

10   Mouse  CheapJunk  Systems   Acessórios  de  Informá(ca    R$5.00    

11   Mouse  MacroHard  sem  fio   Acessórios  de  Informá(ca    R$90.00    

12   CD:  Boy  Band  do  Ano  "Live  AcusXco"   Música    R$25.00    13   CD:  Cool  Jazz  CollecXon     Música    R$25.00    14   Fraldas  Pimpolho  -­‐  200  unidades   Bebê    R$50.00    15   Carrinho  de  Bebê     Bebê    R$150.00    16   Cerveja  -­‐  6  pack   Alimentos    R$12.00    21   Vinho  -­‐  "Chateau  PeXt  Verdot"  bordeaux  grand  cru  classé   Alimentos    R$120.00    18   Jogo  de  Videogame  -­‐  God  of  Ba`le   Jogos    R$50.00    19   Livro:  "Receitas  para  Solteiros"   Livros    R$25.00    20   Livro:  "God  of  Ba`le  -­‐  Estratégias  para  Ganhar"   Livros    R$25.00    21   Livro:  "Como  Não  Matar  o  Seu  Bebê:  a  Arte  da  Guerra  para  Pais  Solteiros"   Livros    R$25.00    22   Livro:  "Espeleologia  Comparada:  Introdução  ao  Cálculo  Setorial  MulXplexado"   Livros    R$55.00    

18 de 21

Page 19: Transformando a Web com Dados

•  O que conheço do usuário? Compras efetuadas no passado Dados de Navegação (user agent, produtos visualizados no passado, ...) Descontos efetuados no passado Dados pessoais (idade, sexo, ...) Que produto o usuário está visualizando agora

•  O que eu quer saber? Que produto recomendar? Que desconto oferecer?

19 de 21

COMO descobrir isso?

Page 20: Transformando a Web com Dados

20 de 21

Page 21: Transformando a Web com Dados

21 de 21

Teorema de Bayes:

Qual conjunto de produto recomendado e desconto oferecido maximizam o ganho esperado da venda?

É possível estimar as probabilidades a partir dos dados de transações passadas se fizermos algumas hipóteses estatísticas.

Exemplo - hipótese de naïve Bayes - features afetam independentemente a probabilidade da compra ser realizada.

O MODELO estatístico

Prob(Usuario comprar|caracteristicas do usuario)

Prob(caracteristicas do usuario|Usuario comprar)Prob(realizar una compra)

Prob(caracterıstica do usuario)

Page 22: Transformando a Web com Dados

21 de 21

Teorema de Bayes:

brigado!

É possível estimar as probabilidades a partir dos dados de transações passadas se fizermos algumas hipóteses estatísticas.

Exemplo - hipótese de naïve Bayes - features afetam independentemente a probabilidade da compra ser realizada.

O MODELO statístico

Prob(Usuario comprar|caracteristicas do usuario)

Prob(caracteristicas do usuario|Usuario comprar)Prob(realizar una compra)

Prob(caracterıstica do usuario)

Caio C. Gomes Diretor de Pesquisa e Data Mining [email protected]

Rafael S. Calsaverini Data Scientist [email protected]