Data Science For Dummies
Eduardo Bonet
O que essa palestra NÃO vai ser
● Não será uma palestra técnica
● Não será uma palestra motivacional
● Você não vai sair daqui um Cientista de Dados
2
O que essa palestra vai ser
● O que um Cientista de Dados faz
● As habilidades esperadas de um Cientista de Dados.
● Onde procurar recursos para ir em busca dessas habilidades.
Os slides estarão disponíveis em github.com/ebonet/presentations/
3
O que é um Cientista de Dados?
4
Ninguém Sabe!
5
Cientista de Dados:
Uma pessoa que é melhor em estatística do que
qualquer Engenheiro de Software e melhor em
engenharia de software que qualquer estatísto.
6
Cientista de Dados:
Um estatístico que usa Mac
7
Autor: Halan Harris
8
Dia a dia de Ciência de Dados, exemplificado
9
Encontrar Problema Buscar Dados
Limpar e Explorar
Dados
Estabelecer
Hipótese
Validar Hipótese
Comunicar
Resultados
Hipótese
Incorreta
Hipótese
Correta
Encontrar um problema
É possível estimar um aluguel em
Florianópolis?
10/50
Dia a dia exemplificado
Coletar Dados
Viva Real: site de imóveis para aluguel. http://api.
vivareal.com:80/api/1.0/api-docs
Retorna informações como (Exemplo).
● Bairro
● Latitude, Longitude
● Preço
● Número de banheiro, quartos, garagens, etc…
● Preço de condomínio
11
Dia a dia exemplificado
Limpar dados
● Corrigir localidades com coordenadas incorretas
● Remover entradas com valores estranhos
12
Dia a dia exemplificado
Explorar Dados
● Verificar distribuições de preços
● Estudar possíveis correlações
13
Dia a dia exemplificado
Explorar Dados
14
Dia a dia exemplificado
Elaborar Hipótese ou Proposta de solução
O preço do aluguel pode ser calculado com um modelo linear em cima das seguintes
variáveis:
Área
Número de quartos
Número de banheiros
Latitude
Longitude
Número de garagens
15
Dia a dia exemplificado
Testar Hipótese (e falhar miseravelmente)
16
Dia a dia exemplificado
R² deveria ser perto de 1
Comunicar Resultados
17
Dia a dia exemplificado
O código está disponível em github.com/ebonet/pythonandr/
Encontrar nova hipótese
● Usar bairro em vez de latitude / longitude
● Cruzar entradas com banco de dados de crimes
● Banco de dados de tráfego
● Usar métodos estatísticos e algébricos para descobrir as variáveis que mais
influenciam no preço
Implementar, testar … e continuar falhando miseravelmente
18
Alguns aspectos
19
● Um cientista de dados é um generalista, não um especialista
● CIÊNCIA de dados = Método Científico
● Um bom cientista é quase um unicórnio: precisa ter perfil acadêmico e de
mercado, ter noção de visualização, saber garimpar dados, como armazenar
esses dados, achar maneira de processar tudo isso, gerar insights e trazer esses
insights para produção
● É possível encontrar vagas com graduação, mas muitos pedem pelo menos
mestrado
Quais são as habilidades de um
Cientista de Dados?
E onde consigo encontrá-las?
20
http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram21
Diagrama de Venn de Drew Conway
Habilidades - Programação
22
Python
● Versátil e fácil de aprender
● Serve tanto para fazer análise quanto
para colocar em produção
23
Especialização Python (University of Michigan) | Python (CodeAcademy) | Python Class (Google)
Codewars, Codility, Hackerrank
Programação
R
● Linguagem feita para estatísticos
● Amplamente usada no meio acadêmico
● Tem entrado forte no mercado, recebendo grandes
investimentos.
24/50
Aprendendo R com R | Udacity + Facebook - Data analysis with R | R-bloggers | DataCamp - Intro to R
Coursera - R Programming | R-Cookbook
Programação
Bancos de Dados
● Grande disponibilidade de DBMS
● PostreSQL, MongoDB, MySQL, ….
● SQL vs NoSQL
25
Programação
Databases (Stanford) | SQL Tutorial
Computação Distribuída
● Algumas vezes, um computador apenas não dá
conta
● MapReduce, Apache Spark, Hadoop, etc …
26
MapReduce e Hadoop (Udacity + Cloudera) | Intro to Parallel Programming (Nvidia + Udacity )
Programação
Aquisição e Limpeza de Dados
● 80% do processo é gasto entre aquisição e
limpeza de dados
● Inconsistência de dados é algo comum
● Sem dados não há Ciência de Dados
27
Model Building and Validation (Udacity) | Cleaning Data in R (pago) (Data Camp)
Data Mining (University of Illinois)
Programação
Machine Learning
● Permite criar modelos extramente complexos e
poderosos
● Sistemas Recomendadores, Busca, Aprendizado
Dinâmico
● Redes Neurais, KNN, Máquinas de Vetor Suporte
28
Intro to Machine Learning, Supervised ML, Unsupervised ML, Reinforcement Learning (Udacity)
Machine Learning Specialization (University of Washington)
Machine Learning (Stanford)
Programação
Programação - Algoritmos
● Eficiência faz diferença!
● Saber implementar algoritmos paralelizáveis
29
Algoritmos Parte I e II (Princenton)
Algoritmos I e II (Stanford)
Especialização (UC San Diego)
Programação
Habilidades - Estatística e Matemática
30
Operações Matriciais
● Multiplicação
● Fatoração matricial
● Autovalores e Autovetores
31
Coursera - Coding the Matrix | MIT- Linear Algebra
Matemática / Estatística
Cálculo Multivariável
● Matrizes Jacobiana e Hessiana
● Base para Modelos Estatísticos,
Otimização e Aprendizado de
Máquina.
32
Berkeley - Multivariate Calculus | MIT - Multivariate Calculus - 2007 | MIT - Multivariate Calculus - 2010
Matemática / Estatística
Otimização
● Métodos para minimizar uma função específica
● Base para a maioria dos algoritmos de
Aprendizado de Máquina e Regressões
Estatísticas
33
Stanford - Convex Optimization (Avançado) | Cursos de Cálculo Multivariável | Coursera - Linear
Programming
Matemática / Estatística
Matemática - Processamento de Sinais
● Detectar peridiocidade em eventos
● Remover ruído nos dados
34
Matemática / Estatística
Digital Signal Processing | DSP (MIT - Oppenheim)
Estatística - Distribuições
● Poisson, Normal, Uniforme, Gama
● Saber qual distribuição melhor
representa o problema
● Testes de Hipóteses
● Lidar com amostras enviesadas
35
Intro to Statistics | Intro to Descriptive Statistics | Intro to Inferential
Statistics
Matemática / Estatística
Testes A/B
● Permite comparar resultados de duas
ou mais modificações
● Muito usado pra marketing e teste de
diferentes algoritmos
36
Udacity - A/B Testing
Matemática / Estatística
Visualização de dados
● Comunicação de Resultados
● Representar mais do que duas dimensões
● Representação de diferentes variáveis
37
Udacity - Data Visualization and D3.js | https://plot.ly | Flowing Data | Edward Turfte - Envisioning
Information
Matemática / Estatística
Conhecimentos de Domínio
38
Mercado Financeiro
E-commerce
Biologia
Ecologia
Psicologia
Personalização
Política
Otimização de Processos
Marketing
Logística
Esportes
Saúde
Cursos sobre Ciência de Dados
● Udacity - Intro to Data Science
● edX - Data Science Ethics
● John Hopkins - Data Science Especialization
● Big Data University
39
40
Links Diversos
● Quora Data Science FAQ
● DataCamp - Cursos bons, alguns free
● Open Datasets
● Kaggle
● Coursera - Lista de Cursos
● Floripa Data Science
Tips and Tricks
41
Jupyter
● Código + Texto
● Python, R, Julia, Go …..
42
Tips and Tricks
Correlação não é Causalidade
43
Tips and Tricks
Cuidado com erro muito baixo
44
Tips and Tricks
Método Científico significa que resultados devem
ser reproduzíveis!
45
Tips and Tricks
Concluindo
● Um cientista de dados é um generalista, não um especialista
● Muitas habilidades não triviais para se estudar
● Inúmeras oportunidades de criar impacto
● Extremamente desafiador, mas muito divertido
● A graduação não é suficiente, é preciso ir além!
46
Obrigado!
Github | LinkedIn 47

Data Science For Dummies From a Dummy

  • 1.
    Data Science ForDummies Eduardo Bonet
  • 2.
    O que essapalestra NÃO vai ser ● Não será uma palestra técnica ● Não será uma palestra motivacional ● Você não vai sair daqui um Cientista de Dados 2
  • 3.
    O que essapalestra vai ser ● O que um Cientista de Dados faz ● As habilidades esperadas de um Cientista de Dados. ● Onde procurar recursos para ir em busca dessas habilidades. Os slides estarão disponíveis em github.com/ebonet/presentations/ 3
  • 4.
    O que éum Cientista de Dados? 4
  • 5.
  • 6.
    Cientista de Dados: Umapessoa que é melhor em estatística do que qualquer Engenheiro de Software e melhor em engenharia de software que qualquer estatísto. 6
  • 7.
    Cientista de Dados: Umestatístico que usa Mac 7
  • 8.
  • 9.
    Dia a diade Ciência de Dados, exemplificado 9 Encontrar Problema Buscar Dados Limpar e Explorar Dados Estabelecer Hipótese Validar Hipótese Comunicar Resultados Hipótese Incorreta Hipótese Correta
  • 10.
    Encontrar um problema Épossível estimar um aluguel em Florianópolis? 10/50 Dia a dia exemplificado
  • 11.
    Coletar Dados Viva Real:site de imóveis para aluguel. http://api. vivareal.com:80/api/1.0/api-docs Retorna informações como (Exemplo). ● Bairro ● Latitude, Longitude ● Preço ● Número de banheiro, quartos, garagens, etc… ● Preço de condomínio 11 Dia a dia exemplificado
  • 12.
    Limpar dados ● Corrigirlocalidades com coordenadas incorretas ● Remover entradas com valores estranhos 12 Dia a dia exemplificado
  • 13.
    Explorar Dados ● Verificardistribuições de preços ● Estudar possíveis correlações 13 Dia a dia exemplificado
  • 14.
    Explorar Dados 14 Dia adia exemplificado
  • 15.
    Elaborar Hipótese ouProposta de solução O preço do aluguel pode ser calculado com um modelo linear em cima das seguintes variáveis: Área Número de quartos Número de banheiros Latitude Longitude Número de garagens 15 Dia a dia exemplificado
  • 16.
    Testar Hipótese (efalhar miseravelmente) 16 Dia a dia exemplificado R² deveria ser perto de 1
  • 17.
    Comunicar Resultados 17 Dia adia exemplificado O código está disponível em github.com/ebonet/pythonandr/
  • 18.
    Encontrar nova hipótese ●Usar bairro em vez de latitude / longitude ● Cruzar entradas com banco de dados de crimes ● Banco de dados de tráfego ● Usar métodos estatísticos e algébricos para descobrir as variáveis que mais influenciam no preço Implementar, testar … e continuar falhando miseravelmente 18
  • 19.
    Alguns aspectos 19 ● Umcientista de dados é um generalista, não um especialista ● CIÊNCIA de dados = Método Científico ● Um bom cientista é quase um unicórnio: precisa ter perfil acadêmico e de mercado, ter noção de visualização, saber garimpar dados, como armazenar esses dados, achar maneira de processar tudo isso, gerar insights e trazer esses insights para produção ● É possível encontrar vagas com graduação, mas muitos pedem pelo menos mestrado
  • 20.
    Quais são ashabilidades de um Cientista de Dados? E onde consigo encontrá-las? 20
  • 21.
  • 22.
  • 23.
    Python ● Versátil efácil de aprender ● Serve tanto para fazer análise quanto para colocar em produção 23 Especialização Python (University of Michigan) | Python (CodeAcademy) | Python Class (Google) Codewars, Codility, Hackerrank Programação
  • 24.
    R ● Linguagem feitapara estatísticos ● Amplamente usada no meio acadêmico ● Tem entrado forte no mercado, recebendo grandes investimentos. 24/50 Aprendendo R com R | Udacity + Facebook - Data analysis with R | R-bloggers | DataCamp - Intro to R Coursera - R Programming | R-Cookbook Programação
  • 25.
    Bancos de Dados ●Grande disponibilidade de DBMS ● PostreSQL, MongoDB, MySQL, …. ● SQL vs NoSQL 25 Programação Databases (Stanford) | SQL Tutorial
  • 26.
    Computação Distribuída ● Algumasvezes, um computador apenas não dá conta ● MapReduce, Apache Spark, Hadoop, etc … 26 MapReduce e Hadoop (Udacity + Cloudera) | Intro to Parallel Programming (Nvidia + Udacity ) Programação
  • 27.
    Aquisição e Limpezade Dados ● 80% do processo é gasto entre aquisição e limpeza de dados ● Inconsistência de dados é algo comum ● Sem dados não há Ciência de Dados 27 Model Building and Validation (Udacity) | Cleaning Data in R (pago) (Data Camp) Data Mining (University of Illinois) Programação
  • 28.
    Machine Learning ● Permitecriar modelos extramente complexos e poderosos ● Sistemas Recomendadores, Busca, Aprendizado Dinâmico ● Redes Neurais, KNN, Máquinas de Vetor Suporte 28 Intro to Machine Learning, Supervised ML, Unsupervised ML, Reinforcement Learning (Udacity) Machine Learning Specialization (University of Washington) Machine Learning (Stanford) Programação
  • 29.
    Programação - Algoritmos ●Eficiência faz diferença! ● Saber implementar algoritmos paralelizáveis 29 Algoritmos Parte I e II (Princenton) Algoritmos I e II (Stanford) Especialização (UC San Diego) Programação
  • 30.
  • 31.
    Operações Matriciais ● Multiplicação ●Fatoração matricial ● Autovalores e Autovetores 31 Coursera - Coding the Matrix | MIT- Linear Algebra Matemática / Estatística
  • 32.
    Cálculo Multivariável ● MatrizesJacobiana e Hessiana ● Base para Modelos Estatísticos, Otimização e Aprendizado de Máquina. 32 Berkeley - Multivariate Calculus | MIT - Multivariate Calculus - 2007 | MIT - Multivariate Calculus - 2010 Matemática / Estatística
  • 33.
    Otimização ● Métodos paraminimizar uma função específica ● Base para a maioria dos algoritmos de Aprendizado de Máquina e Regressões Estatísticas 33 Stanford - Convex Optimization (Avançado) | Cursos de Cálculo Multivariável | Coursera - Linear Programming Matemática / Estatística
  • 34.
    Matemática - Processamentode Sinais ● Detectar peridiocidade em eventos ● Remover ruído nos dados 34 Matemática / Estatística Digital Signal Processing | DSP (MIT - Oppenheim)
  • 35.
    Estatística - Distribuições ●Poisson, Normal, Uniforme, Gama ● Saber qual distribuição melhor representa o problema ● Testes de Hipóteses ● Lidar com amostras enviesadas 35 Intro to Statistics | Intro to Descriptive Statistics | Intro to Inferential Statistics Matemática / Estatística
  • 36.
    Testes A/B ● Permitecomparar resultados de duas ou mais modificações ● Muito usado pra marketing e teste de diferentes algoritmos 36 Udacity - A/B Testing Matemática / Estatística
  • 37.
    Visualização de dados ●Comunicação de Resultados ● Representar mais do que duas dimensões ● Representação de diferentes variáveis 37 Udacity - Data Visualization and D3.js | https://plot.ly | Flowing Data | Edward Turfte - Envisioning Information Matemática / Estatística
  • 38.
    Conhecimentos de Domínio 38 MercadoFinanceiro E-commerce Biologia Ecologia Psicologia Personalização Política Otimização de Processos Marketing Logística Esportes Saúde
  • 39.
    Cursos sobre Ciênciade Dados ● Udacity - Intro to Data Science ● edX - Data Science Ethics ● John Hopkins - Data Science Especialization ● Big Data University 39
  • 40.
    40 Links Diversos ● QuoraData Science FAQ ● DataCamp - Cursos bons, alguns free ● Open Datasets ● Kaggle ● Coursera - Lista de Cursos ● Floripa Data Science
  • 41.
  • 42.
    Jupyter ● Código +Texto ● Python, R, Julia, Go ….. 42 Tips and Tricks
  • 43.
    Correlação não éCausalidade 43 Tips and Tricks
  • 44.
    Cuidado com erromuito baixo 44 Tips and Tricks
  • 45.
    Método Científico significaque resultados devem ser reproduzíveis! 45 Tips and Tricks
  • 46.
    Concluindo ● Um cientistade dados é um generalista, não um especialista ● Muitas habilidades não triviais para se estudar ● Inúmeras oportunidades de criar impacto ● Extremamente desafiador, mas muito divertido ● A graduação não é suficiente, é preciso ir além! 46
  • 47.