introdução a data science

67
Uma introdução a Data Science Apoio:

Upload: caio-gomes

Post on 04-Jun-2015

351 views

Category:

Technology


2 download

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

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]