Introdução a data science

67
Uma introdução a Data Science Apoio:

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.

Transcript of Introdução a data science

Page 1: Introdução a data science

Uma introdução a Data Science

Apoio:

Page 2: Introdução a data science

•  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/

Page 3: Introdução a data science

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: Introdução a data science
Page 5: Introdução a data science

•  HPC (clusters, GPU, etc)

•  Map Reduce (Hadoop, Disco, etc)

Como fazer Big Data?

Processamento:

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

Dynamo..

Page 6: Introdução a data science

•  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: Introdução a data science

Fonte: Maplink - 7 de 21

Page 8: Introdução a data science

•  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 9: Introdução a data science

“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 10: Introdução a data science

Dados

Saída

Master Node

Worker

Worker

Worker

11 de 21

Page 11: Introdução a data science

•  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 12: Introdução a data science

•  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 13: Introdução a data science

•  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 14: Introdução a data science

•  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 15: Introdução a data science

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

16 de 21

Como assim modelo?

Page 16: Introdução a data science

“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 17: Introdução a data science

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 18: Introdução a data science

•  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 19: Introdução a data science

•  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

Page 20: Introdução a data science

•  Dados são armazenados de maneira estruturada

•  Uma pequena parcela dos dados são armazenados

o que foi feito até hoje

Page 21: Introdução a data science

•  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

Page 22: Introdução a data science

Fonte: Maplink -

Page 23: Introdução a data science

•  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

Page 24: Introdução a data science

•  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?

Page 25: Introdução a data science

•  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?

Page 26: Introdução a data science

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

Page 27: Introdução a data science

21 de 21

relembrando a estatística

P (dado = 2) =#resultados=2

#jogadas

NX

0

P (xi) = 1

Page 28: Introdução a data science

21 de 21

relembrando a estatística!

Page 29: Introdução a data science

21 de 21

relembrando a estatística!

Eventos:

Page 30: Introdução a data science

relembrando a estatística!

Eventos:

Page 31: Introdução a data science

21 de 21

relembrando a estatística

E[X] =NX

i=0

xi

N

� =NX

i=1

r(xi � x)2

N

Page 32: Introdução a data science

21 de 21

relembrando a estatística!

Eventos:

Page 33: Introdução a data science

21 de 21

cuidado!

Page 34: Introdução a data science

21 de 21

Independência estatistica

P (A,B) = P (A)P (B)

Page 35: Introdução a data science

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

Page 36: Introdução a data science

21 de 21

jogo de dados

Se acerto, dobro o que apostei. Se erro, perco.

Esperança da jogada:

10

6� 5

6< 0

Page 37: Introdução a data science

21 de 21

Relembrando a ESTATÍSTICA!

Page 38: Introdução a data science

21 de 21

OVERFITTING

Page 39: Introdução a data science

21 de 21

OVERFITTING

Page 40: Introdução a data science

Classificação

o que podemos fazer

Page 41: Introdução a data science

21 de 21

Regressão

o que PODEMOS fazer

Page 42: Introdução a data science

Cluster

o que podemos fazer

Page 43: Introdução a data science

Cluster

o que podemos fazer

Page 44: Introdução a data science

Otimizatição

o que podemos fazer

Page 45: Introdução a data science

21 de 21

Categorização

o que PODEMOS fazer

Regressão

Regressão

Page 46: Introdução a data science

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

Page 47: Introdução a data science

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)

Page 48: Introdução a data science

probabilidade condicional

P (A|B) =P (A \B)

P (B)

P (A|B)P (B) = P (A \B)

Page 49: Introdução a data science

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)

Page 50: Introdução a data science

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)

Page 51: Introdução a data science

A estatística BAYESIANA

`

Filho, Filho Filho, Filha

Filha, Filho Filha, Filha

P (filho|filha)

Page 52: Introdução a data science

A estatística BAYESIANA

`

Filho, Filho Filho, Filha

Filha, Filho Filha, Filha

Page 53: Introdução a data science

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

Page 54: Introdução a data science

•  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

Page 55: Introdução a data science

•  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

Page 56: Introdução a data science

•  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

Page 57: Introdução a data science
Page 58: Introdução a data science

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>

Page 59: Introdução a data science

SOBRE O ROTEIRIZADOR o padrão da marginal pinheiros

Page 60: Introdução a data science

“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:

Page 61: Introdução a data science

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    

Page 62: Introdução a data science

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?

Page 63: Introdução a data science

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!

Page 64: Introdução a data science

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)

Page 65: Introdução a data science

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)

Page 66: Introdução a data science

live demo!

Page 67: Introdução a data science

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]