Introdução a data science

770 visualizações

Publicada em

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.

Publicada em: Tecnologia
  • Seja o primeiro a comentar

Introdução a data science

  1. 1. Uma introdução a Data Science Apoio:
  2. 2. •  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/
  3. 3. 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.
  4. 4. •  HPC (clusters, GPU, etc) •  Map Reduce (Hadoop, Disco, etc) Como fazer Big Data? Processamento: Armazenamento: •  Banco de dados escaláveis (noSQL): MongoDB, Cassandra, Dynamo..
  5. 5. •  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
  6. 6. Fonte: Maplink - 7 de 21
  7. 7. •  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..
  8. 8. “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
  9. 9. Dados Saída Master Node Worker Worker Worker 11 de 21
  10. 10. •  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
  11. 11. •  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
  12. 12. •  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 é?
  13. 13. •  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?
  14. 14. Vamos construir um e-commerce com um sistema de recomendação e descontos personalizados: 16 de 21 Como assim modelo?
  15. 15. “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:
  16. 16. 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
  17. 17. •  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?
  18. 18. •  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
  19. 19. •  Dados são armazenados de maneira estruturada •  Uma pequena parcela dos dados são armazenados o que foi feito até hoje
  20. 20. •  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
  21. 21. Fonte: Maplink -
  22. 22. •  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
  23. 23. •  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?
  24. 24. •  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?
  25. 25. 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
  26. 26. 21 de 21 relembrando a estatística P(dado = 2) = #resultados=2 #jogadas NX 0 P(xi) = 1
  27. 27. 21 de 21 relembrando a estatística!
  28. 28. 21 de 21 relembrando a estatística! Eventos:
  29. 29. relembrando a estatística! Eventos:
  30. 30. 21 de 21 relembrando a estatística E[X] = NX i=0 xi N = NX i=1 r (xi x)2 N
  31. 31. 21 de 21 relembrando a estatística! Eventos:
  32. 32. 21 de 21 cuidado!
  33. 33. 21 de 21 Independência estatistica P(A, B) = P(A)P(B)
  34. 34. 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
  35. 35. 21 de 21 jogo de dados Se acerto, dobro o que apostei. Se erro, perco. Esperança da jogada: 10 6 5 6 < 0
  36. 36. 21 de 21 Relembrando a ESTATÍSTICA!
  37. 37. 21 de 21 OVERFITTING
  38. 38. 21 de 21 OVERFITTING
  39. 39. Classificação o que podemos fazer
  40. 40. 21 de 21 Regressão o que PODEMOS fazer
  41. 41. Cluster o que podemos fazer
  42. 42. Cluster o que podemos fazer
  43. 43. Otimizatição o que podemos fazer
  44. 44. 21 de 21 Categorização o que PODEMOS fazer Regressão Regressão
  45. 45. Cassino: Qual a probabilidade de uma moeda ser coroa? a estatística bayesiana Metereologia: Qual a probabilidade de chover hoje? Freqüencia XEvidência
  46. 46. 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)
  47. 47. probabilidade condicional P(A|B) = P(A B) P(B) P(A|B)P(B) = P(A B)
  48. 48. 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)
  49. 49. 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)
  50. 50. A estatística BAYESIANA ` Filho, Filho Filho, Filha Filha, Filho Filha, Filha P(filho|filha)
  51. 51. A estatística BAYESIANA ` Filho, Filho Filho, Filha Filha, Filho Filha, Filha
  52. 52. 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
  53. 53. •  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
  54. 54. •  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
  55. 55. •  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
  56. 56. 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>
  57. 57. SOBRE O ROTEIRIZADOR o padrão da marginal pinheiros
  58. 58. “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:
  59. 59. 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    
  60. 60. 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?
  61. 61. 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!
  62. 62. 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)
  63. 63. 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)
  64. 64. live demo!
  65. 65. 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

×