Upload
caio-gomes
View
351
Download
2
Embed Size (px)
DESCRIPTION
Apresentação feita para o grupo Hadoop de São Paulo sobre a relação de Data Science e Big Data. Nela explico como podemos usar Data Science para descobrir informações que podem personalizar o site e criar uma experiência unica Presentation to the Sao Paulo Hadoop Group about Data Science and Big Data. How we can use Data Science to create innovative user interaction.
Citation preview
Uma introdução a Data Science
Apoio:
• Pesquisa Cientifica (LHC, Genética, Meteorologia) • Mercado Financeiro • Cultura (Literatura,Jornais, Netflix) • Processos industriais • … e a internet! Alguns números: - LHC: 70 TB/dia de dados - NYSE: 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
dados e dados… por toda parte!
Fontes: - http://en.wikipedia.org/wiki/Large_Hadron_Collider - http://marciaconner.com/blog/data-on-big-data/
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.
• HPC (clusters, GPU, etc)
• Map Reduce (Hadoop, Disco, etc)
Como fazer Big Data?
Processamento:
Armazenamento: • Banco de dados escaláveis (noSQL): MongoDB, Cassandra,
Dynamo..
• 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
Fonte: Maplink - 7 de 21
• 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..
“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
Dados
Saída
Master Node
Worker
Worker
Worker
11 de 21
• 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
• 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
• 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 é?
• 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?
Vamos construir um e-commerce com um sistema de recomendação e descontos personalizados:
16 de 21
Como assim modelo?
“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:
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
• 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?
• Volume de dados gigante
• Dados indicam informações sobre os usuários
• Faz tempo que existe uma avalanche de dados, que eram em geral
sumarizados.
• Hoje existem ferramentas que permitem armazenar e processar
esses dados em sua forma bruta.
BIG Data
• Dados são armazenados de maneira estruturada
• Uma pequena parcela dos dados são armazenados
o que foi feito até hoje
• 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
metodologia big data
Buscas, clicks, mouse hoover, movimentos no mapa
Fonte: Maplink -
• 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
Small-Big-Medium Data
• Furacão Francis Walmart: Como preparar de maneira mais precisa os estoques das lojas no caminho da tormenta?
• O que queriam descobrir? Quais produtos devem estocar? Quantidade de cada produto? Quanto tempo antês serão comprados?
pensamento analítico?
• Precificação do crédito Decidir para quem e em que condições fornecer o cartão de crédito
• O que quero descobrir? Quanto de anuidade devo cobrar? Qual a chance daquele usuário pagar a fatura? Quanto tempo ele vai ficar sem pagar? Quanto ele deve ter de limite?
pensamento analítico?
porque usamos a estatística?
Não sabemos toda a informação sobre o usuário
No total das opções, um usuário preencheu uma pequena parte
Mesmo para pessoas bem conhecidas, as decisões não são determinísticas
21 de 21
relembrando a estatística
P (dado = 2) =#resultados=2
#jogadas
NX
0
P (xi) = 1
21 de 21
relembrando a estatística!
21 de 21
relembrando a estatística!
Eventos:
relembrando a estatística!
Eventos:
21 de 21
relembrando a estatística
E[X] =NX
i=0
xi
N
� =NX
i=1
r(xi � x)2
N
21 de 21
relembrando a estatística!
Eventos:
21 de 21
cuidado!
21 de 21
Independência estatistica
P (A,B) = P (A)P (B)
21 de 21
e o que SÃO os erros?
Imprecisão que temos pela falta de informação
Incertezas naturais que temos sobre o sistema
21 de 21
jogo de dados
Se acerto, dobro o que apostei. Se erro, perco.
Esperança da jogada:
10
6� 5
6< 0
21 de 21
Relembrando a ESTATÍSTICA!
21 de 21
OVERFITTING
21 de 21
OVERFITTING
Classificação
o que podemos fazer
21 de 21
Regressão
o que PODEMOS fazer
Cluster
o que podemos fazer
Cluster
o que podemos fazer
Otimizatição
o que podemos fazer
21 de 21
Categorização
o que PODEMOS fazer
Regressão
Regressão
Cassino: Qual a probabilidade de uma moeda ser coroa?
a estatística bayesiana
Metereologia: Qual a probabilidade de chover hoje?
Freqüencia X Evidência
a estatística bayesiana
Metereologia: Qual a probabilidade de chover hoje?
Está quente? Está ventando? Está sol? Choveu ontém? Qual a estação do ano?
CONDIÇÕES
P (chover|julho, sol)
probabilidade condicional
P (A|B) =P (A \B)
P (B)
P (A|B)P (B) = P (A \B)
o teorema de bayes
P (A|B)P (B) = P (A \B)
P (A|B)P (B) = P (A \B)
P (A|B) =P (B|A)
P (B)P (A)
probabilidade condicional e propriedades
P (A|B) =P (A,B)
P (B)=
P (A)P (B)
P (B)= P (A)
P (A|A) = P (A)
A estatística BAYESIANA
`
Filho, Filho Filho, Filha
Filha, Filho Filha, Filha
P (filho|filha)
A estatística BAYESIANA
`
Filho, Filho Filho, Filha
Filha, Filho Filha, Filha
porque ela é importante
• Data Scientist pode trazer conhecimento externo • eg: características dos usuários • eg: Crianças e bebidas alcoólicas
• Introdduzir daos do BI • eg: homens e produtos para gravidez • eg: acordos comerciais
• Furacão Francis Classificar quais itens serão mais vendidos e determinar a quantidade que devo estocar
• O que eu quero saber? Compras relizadas em ultimos furacões Época do ano e o que foi vendido Quanto eles gastam? Dos meus clientes, quais ficarão? (classificação)
furacão francis
• Operadora de cartão Minimizar probabilidade de default dos clientes Ou ainda: quanto risco quero correr com a carteira de clientes
• O que posso usar? Histórico de pagamentos O que usuários parecidos com esse fizeram (clustering)
precificação do cartão de crédito
• Medidas de trânsito Veiculos enviam informação a cada instante.
• O que eu quer saber? Estado da via (classificação) Tipo de veículos (clustering) Como eles dirigem? (clustering) Velocidade da via (regressão)
19 de 21
estimativa de trânsito
SOBRE O ROTEIRIZADOR o que recebemos
<Route><Category>1</Category><DateTime>0001-01-01T00:00:00</DateTime><Destination xmlns:a="http://schemas.datacontract.org/2004/07/SwissKnife.Spatial"><a:Lat>-8.150483</a:Lat><a:Lng>-35.420284</a:Lng></Destination><Origin xmlns:a="http://schemas.datacontract.org/2004/07/SwissKnife.Spatial"><a:Lat>-8.149973</a:Lat><a:Lng>-35.41825</a:Lng></Origin>
SOBRE O ROTEIRIZADOR o padrão da marginal pinheiros
“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 quero saber? Que produto recomendar? Que desconto oferecer?
sr david steps, dono da loja virtual velhogeek:
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
Nosso objetivo: aumentar vendas
um simples exemplo de recomendação
como descobrir isso?
• 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?
um simples exemplo de recomendação
Idéia: promoção direcionada ao usuário
p(i)Prob(comprari|comprari, caracJ) + p(k)Prob(comprark|comprari, caracJ)
p(i) + p(k)Prob(comprark|comprari, caracJ)
Prob(comprark|comprari, caracJ) =Prob(comprari, caracJ |comprark)
Prob(comprari, caracJ)Prob(comprark)
Prob(comprari, caracJ |comprark)
Prob(comprari, caracJ)=
Prob(comprari|comprark)Prob(caracJ |comprark)
Prob(comprari)Prob(caracJ)
Oferecer um segundo produto que maximize a esperança!
um simples exemplo de recomendação
Idéia: promoção direcionada ao usuário
Prob(comprark|comprari, caracJ) =Prob(caracJ |comprark)
Prob(caracJ)Prob(comprark)
p(i) + p(k)Prob(caracJ |comprark)
Prob(caracJ)Prob(comprark)
um simples exemplo de recomendação
Idéia: promoção direcionada ao usuário
Caracteristicas: sexo, idade, classe de renda, educacao
p(i) + p(k)Prob(caracJ |comprark)
Prob(caracJ)Prob(comprark)
Prob(sexo|comprark)Prob(renda|comprark)Prob(edu|comprark)
Prob(idade, sexo, renca, edu|comprark) = Prob(idade|comprark)
live demo!
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 Big Data e Inovação [email protected]