Você está na página 1de 54

Data Science For Dummies from

a Dummy
Eduardo Bonet
TDC 2016 - So Paulo

Bio
Bonet
Engenharia de Controle e Automao
Mestrando em Cincia da Computao
Full Stack, Mobile, Data Science
Coorganizador Floripa Data Science Meetup
Github | LinkedIn | Blog

2/50

O que essa palestra NO vai ser

No ser uma palestra tcnica

No ser uma palestra motivacional

Voc no vai sair daqui um Cientista de Dados

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 estaro disponveis em ebonet.me/talks

O que um Cientista de Dados?

Cientista de Dados:
Uma pessoa que melhor em estatstica do que
qualquer Engenheiro de Software e melhor em
engenharia de software que qualquer estatsto.

Cientista de Dados:
Um estatstico que usa Mac

Ningum Sabe!

Autor: Halan Harris


9

O que um Cientista de Dados faz?

10

Dia a dia de Cincia de Dados, exemplificado

Encontrar Problema

Buscar Dados

Limpar e Explorar
Dados

Hiptese
Incorreta

Comunicar
Resultados

Hiptese
Correta

Validar Hiptese

Estabelecer
Hiptese

11

Dia a dia exemplificado

Encontrar um problema

possvel estimar um aluguel em


Florianpolis?

12/50

Dia a dia exemplificado

Coletar Dados
Viva Real: site com listagem de imveis. http:
//api.vivareal.com:80/api/1.0/api-docs
Retorna informaes como (Exemplo).

Bairro
Latitude, Longitude
Preo
Nmero de banheiro, quartos, garagens, etc
Preo de condomnio

13

Dia a dia exemplificado

Limpar dados
Corrigir localidades com coordenadas incorretas
Remover entradas com valores estranhos

14

Dia a dia exemplificado

Explorar Dados
Verificar distribuies de preos
Estudar possveis correlaes

15

Dia a dia exemplificado

Explorar Dados
Verificar distribuies de preos
Estudar possveis correlaes

16

Dia a dia exemplificado

Explorar Dados
Verificar distribuies de preos
Estudar possveis correlaes

17

Dia a dia exemplificado

Elaborar Hiptese ou Proposta de soluo


O preo do aluguel pode ser calculado com um modelo linear em cima das
seguintes variveis:
rea
Nmero de quartos
Nmero de banheiros
Latitude
Longitude
Nmero de garagens

18

Dia a dia exemplificado

Testar Hiptese (e falhar miseravelmente)


R deveria ser perto de 1

19

Dia a dia exemplificado

Comunicar Resultados

O cdigo est disponvel em github.com/ebonet/pythonandr/


20

Encontrar nova hiptese

Usar bairro em vez de latitude / longitude

Cruzar entradas com banco de dados de crimes

Banco de dados de trfego

Usar mtodos estatsticos e algbricos para descobrir as variveis que mais


influenciam no preo

Implementar, testar e continuar falhando miseravelmente


21

Problema 1: Inep solta os resultados em 3 meses para os alunos, em 1 ano


para download

Problema 2: Como calcular a nota do ENEM (no trivial)

Soluo: Coletar gabaritos de alunos, estimar notas usando a mesma


metodologia do Inep, atualizar notas conforme mais alunos entrarem
22

Alguns aspectos

Um cientista de dados um generalista, no um especialista

CINCIA de dados = Mtodo Cientfico

Um bom cientista quase um unicrnio: precisa ter perfil acadmico e de


mercado, ter noo de visualizao, saber garimpar dados, como armazenar
esses dados, achar maneira de processar tudo isso, gerar insights e trazer
esses insights para produo

possvel encontrar vagas com graduao, mas muitos pedem pelo menos
mestrado

23

Quais so as habilidades de um
Cientista de Dados?
E onde consigo encontr-las?

24

Diagrama de Venn de Drew Conway

http://drewconway.com/zia/2013/3/26/the-data-science-venn-diagram25

Habilidades

Programao

26

Programao

Linguagens
R
Linguagem feita para estatsticos.
Amplamente usada no meio acadmico.
Tem entrado forte no mercado, recebendo grandes investimentos.
Diversas bibliotecas estatsticas prontas, facilita parte de anlise.

27

Programao

Linguagens
Python
Verstil e fcil de aprender
Comunidade muito forte de bibliotecas gerais
Anlise (porm no to bem quanto R) e produo (porm no to bem quanto
Scala)

28

Programao

Linguagens
Scala
Baseado na JVM.
Linguagem Funcional, facilita paralelizao de algoritmos.
Curva de aprendizado alta.
Escolha comum para algoritmos em produo.

29

Programao

Linguagens - Recursos
R

Aprendendo R com R | Udacity + Facebook - Data analysis with R | R-bloggers


DataCamp - Intro to R | Coursera - R Programming | R-Cookbook

Python

Especializao Python (University of Michigan) | Python (CodeAcademy) |


Python Class (Google) | Codewars, Codility, Hackerrank

Scala

Especializao Scala | Documentao

30

Programao

Bancos de Dados
Grande disponibilidade de DBMS
PostreSQL, MongoDB, MySQL, .
SQL vs NoSQL

Databases | SQL Tutorial

31

Programao

Computao Distribuda
Muitas vezes, um computador apenas no d conta
MapReduce, Apache Spark, Hadoop, etc

MapReduce e Hadoop | Intro to Parallel Programming | Data Science and Engineering with Apache Spark

32

Programao

Aquisio e Limpeza de Dados


80% do processo gasto entre aquisio e
limpeza de dados
Inconsistncia de dados algo comum
Sem dados no h Cincia de Dados

Model Building and Validation | Cleaning Data in R (pago)


Data Mining
33

Programao

Machine Learning
Permite criar modelos extramente complexos e poderosos
Sistemas Recomendadores, Busca, Aprendizado Dinmico
Redes Neurais, KNN, Mquinas de Vetor Suporte

Intro to Machine Learning, Supervised ML, Unsupervised ML, Reinforcement Learning


Machine Learning Specialization
Machine Learning (parcialmente traduzido)
34

Programao

Programao - Algoritmos
Eficincia faz diferena!
Saber implementar algoritmos paralelizveis

Algoritmos Parte I e II (Princenton)


Algoritmos I e II (Stanford)
Especializao (UC San Diego)
35

Habilidades

Estatstica & Matemtica

36

Matemtica / Estatstica

Operaes Matriciais
Multiplicao
Fatorao matricial
Autovalores e Autovetores

Coursera - Coding the Matrix | MIT- Linear Algebra

37

Matemtica / Estatstica

Clculo Multivarivel
Matrizes Jacobiana e Hessiana
Base para Modelos Estatsticos,
Otimizao e Aprendizado de Mquina.

Berkeley - Multivariate Calculus | MIT - Multivariate Calculus - 2007 | MIT - Multivariate Calculus - 2010
38

Matemtica / Estatstica

Otimizao
Mtodos para minimizar uma funo especfica
Base para a maioria dos algoritmos de Aprendizado
de Mquina e Regresses Estatsticas

Stanford - Convex Optimization (Avanado) | Cursos de Clculo Multivarivel | Coursera - Linear


Programming
39

Matemtica / Estatstica

Matemtica - Processamento de Sinais


Detectar peridiocidade em eventos (Fourier)
Wavelet Transformation
Remover rudo nos dados

Digital Signal Processing | DSP (MIT - Oppenheim)

40

Matemtica / Estatstica

Estatstica - Distribuies
Testes de Hipteses
Saber qual distribuio melhor
representa o problema
Teorema Bayesiano
Lidar com amostras enviesadas

Intro to Statistics | Intro to Descriptive Statistics | Intro to Inferential


Statistics
41

Matemtica / Estatstica

Testes A/B
Permite comparar resultados de duas
ou mais modificaes

Udacity - A/B Testing

42

Matemtica / Estatstica

Visualizao de dados
Comunicao de Resultados
Representar mais do que duas dimenses
Representao de diferentes variveis

Udacity - Data Visualization and D3.js | https://plot.ly | Flowing Data | Edward Turfte - Envisioning
Information
43

Sade

E-commerce

Ecologia

Personalizao
Mercado Financeiro

Marketing

Conhecimento de Domnio
Psicologia

Biologia

Otimizao de Processos

Logstica
Poltica

Esportes

44

Cursos sobre Cincia de Dados


Udacity - Intro to Data Science
edX - Data Science Ethics
John Hopkins - Data Science Especialization
Big Data University

45

Links Diversos
Quora Data Science FAQ
DataCamp - Cursos bons, alguns gratuitos
Open Datasets
Kaggle
Coursera - Lista de Cursos

46

Tips and Tricks

47

Jupyter
Cdigo + Texto
Python, R, Julia, Go ..

48

Correlao no Causalidade

49

Cuidado com erro muito baixo

50

Fao graduao, como ter tempo?


Adapte seu currculo!

51

Mtodo Cientfico significa que resultados


devem ser reproduzveis!

52

Concluindo
Um cientista de dados um generalista, no um especialista
Muitas habilidades no triviais para se estudar
Inmeras oportunidades de criar impacto
Extremamente desafiador, mas muito divertido
A graduao no suficiente, preciso ir alm!

53

Obrigado!

ebonet.me

54

Você também pode gostar