Post on 04-Jun-2015
description
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 caio.gomes@apontador.com