• Nenhum resultado encontrado

Data Science do Zero

N/A
N/A
Protected

Academic year: 2021

Share "Data Science do Zero "

Copied!
8
0
0

Texto

(1)

Data Science do Zero

Copyright © 2016 da Starlin Alta Editora e Consultoria Eireli. ISBN: 978-85-7608-998-8

Translatedfrom original Data Science from Scratch by Joel Grus. Copyright © 2015 by O'Reilly Media. ISBN 978-1-491-90142-7. lhÍJ translation is published and sold by permirsion ofO'Reilly Media, Inc., the owner ofall rights to publish and sell the same. PORTUGUESE

~

-....

language edition published by Starlin Alta Editora e Consultoria Eireli, Copyright © 2016 by Starlin Alta Editora e Consultoria Eírelí.

Todos os direitos estão reservados e protegidos por Lei. Nenhuma parte deste livro, sem autorização prévia por escrito da editora, poderá ser reproduzida ou transmitida. A violação dos Direitos Autorais é crime estabelecido na Lei nO 9.610/98 e com punição de acordo com o artigo 184 do Código Penal.

A editora náo se responsabiliza pelo conteúdo da obra, formulada exclusivamente pelo(s) autor(es).

Marcas Registradas: Todos os termos mencionados e reconhecidos como Marca Registrada e/ou Comercial são de responsabilidade de seus proprietários. A editora informa não estar associada a nenhum produto e/ou fornecedor apresentado no livro.

Impresso no Brasil-l' Ediçáo, 2016 - Edição revisada conforme o Acordo Ortográfico da Língua Portuguesa de 2009.

Obra disponível para venda corporativa e/ou personalizada. Para mais informações, fale com projetos@altabooks.com.br

Produção Editorial Gerência Editorial Marketing Editorial Gerência de Captação e Vendas Atacado e Varejo Editora Alta Books Anderson Vieira Silas Amaro Contratação de Obras Daniele Fonseca

markeeing@aleabooks.com.br J. A. Rugeri Viviane Paiva Produtor Editorial Supervisão de aucoria@altabooks.com.br comercial@altabooks.com .br

Claudia Braga Qualidade Editorial Ouvidoria

Data Science do Zero

ouvidoria@altabooks.com.br

ThiêAlves Sergio de Souza Produtor Editorial Assistente Editorial (Design) Carolina Giannini Aurélio Corrêa

Bianca Teodoro Izabelli Carvalho Juliana de Oliveira Equipe Editorial Christian Danniel Jessica Carvalho Renan Castro

Tradução Copidesque Revisão Gramatical Revisão Técnica Diagramação

Welington Nascimento Vivian Sbravani Ana Paula da Fonseca Ronaldo d'Avila Roenick Cláudio Frota

Engenheiro de FJerrônica pelo Insriruto Militar de Engenharia (IME)

Erratu e arquivo. de apoiol No site da editora relatamos, com a devida correção, qualquer erro encontrado em nossos livros, bem como disponibilizamos arquivos de apoio se aplicáveis à obra em questão.

~o liu www.altabooks.com.br e procllre pelo título do livro desejado para ter acesso às erratas, aos arquivos de apoio e/ou

....~'fPf!ç,ve~ l obra.

!í:.~...a-

A..

6 colDCl'dallzada aaforma em que está, sem direito a suporte técnico ou orientação pessoal/exclusiva

loel Grus

DMoIIDlenadotllll de CltalopçtO .1 Publkaçlo (CIP) VqMI' Rodolfo CRB-8/9410

... z..o /Joe1 Grua ; Induzido por Welington f.:-:"'-1V~

- --

~.~":"l... 17

...

'-Iro: ~ Alta Boob, 2016.

CDD 005. 13 CDU 004.655.3

ALTA BOOKS

A

E D I T O R A

Rio de Janeiro, 2016

(2)

Sumário

~

--.

Prefácio ... xi 1. Introdução ...1

A Ascensão dos Dados O Que É Data Science?

Motivação Hipotética: DataSciencester 2

Encontrando Conectores-Chave 3

Cientistas de Dados Que Você Talvez Conheça 6

Salários e Experiência 8

Contas Pagas 11

Tópicos de Interesse 11

Em Diante 13

2.

(urso Relâmpago de Python ...15

O Básico 15

Iniciando em Python 15

Python Zen 16

Formatação de Espaço em Branco 16

Módulos 17

Aritmética 18

Funções 18

Strings (cadeias de caracteres) 19

Exceções 19

Listas 20

Tuplas 21

Dicionários 21

Conjuntos 24

Controle de Fluxo 25

I v

(3)

~

...

Veracidade 25 Não Tão Básico 26

Ordenação 27

Com preensões de Lista 27

Geradores e Iteradores 28

Aleatoriedade 29

Expressões Regulares 30

Programação Orientada a Objeto 30

Ferramentas Funcionais 31

Enumeração (enumerate) 32

Descompactação de Zip e Argumentos 33

args e kwargs 34

Bem-vindo à DataSciencester! 35 Para Mais Esclarecimentos 35

3. Visualizando Dados ...37

matplotlib 37

Gráficos de Barra 39 Gráficos de Linhas 43

Gráficos de Dispersão 44

Para Mais Esclarecimentos 47

4. Álgebra linear...49

Vetores 49

Matrizes 53

Para Mais Esclarecimentos 55

5. Estatística ...57

Descrevendo um Conjunto Único de Dados 57

Tendências Centrais 59

Dispersão 61

Correlação 62

Paradoxo de Simpson 65

Alguns Outros Pontos de Atenção sobre Correlação 66

Correlação e Causalidade 67

Para Mais Esclarecimentos 68

6. Probabilidade ...69

Dependência e Independência 69

Probabilidade Condicional 70

Teorema de Bayes 72

Variáveis Aleatórias 73

vi I Sumário

Distribuições Contínuas 74

A Distribuição Normal 75

O Teorema do Limite Central 78

Para Mais Esclarecimentos 80

7. Hipótese eInferência...81

Teste Estatístico de Hipótese 81

Exemplo: Lançar Uma Moeda 81

p-values 84

Intervalos de Confiança 85

P-Hacking 86

Exemplo: Executando um Teste A/B 87

Inferência Bayesiana 88

Para Mais Esclarecimentos 92

8. Gradiente Descendente ...93

A Ideia Por Trás do Gradiente Descendente 93

Estimando o Gradiente 94

Usando o Gradiente 97

Escolhendo o Tamanho do Próximo Passo 97

Juntando Tudo 98

Gradiente Descendente Estocástico 99

Para Mais Esclarecimentos 100

9. Obtendo Dados...103

stdin e stdout 103

Lendo Arquivos 105

O Básico de Arquivos Texto 105

Arquivos delimitados 106

Extraindo Dados da Internet 108

HTML e Sua Subsequente Pesquisa 108

Exemplo: Livros O'Rei1ly Sobre Dados 110

Usando APls 114

JSON (e XML) 114

Usando Uma API Não Autenticada 115

Encontrando APls 116

Exemplo: Usando as APls do Twitter 117

Obtendo Credenciais 117

Para Mais Esclarecimentos 120

10. Trabalhando com Dados ...121

Explorando Seus Dados 121

Explorando Dados Unidimensionais 121

Sumário I vii

(4)

Veracidade 25 Não Tão Básico 26

Ordenação 27

Compreensões de Lista 27 Geradores e Iteradores 28 Aleatoriedade 29

Expressões Regulares 30

Programação Orientada a Objeto 30 Ferramentas Funcionais 31

Enumeração (en umerate) 32

Descompactação de Zip e Argumentos 33 args e kwargs 34

Bem-vindo à DataSciencester! 35 Para Mais Esclarecimentos 35

3. Visualizando Dados ...•..•....••..•...•...•...•..•...•.••..••.••.•••••.••.••.•••.•..•..••.•••••.••..•..•37 matplotlib 37

Gráficos de Barra Gráficos de Linhas

39 43 Gráficos de Dispersão 44

Para Mais Esclarecimentos 47

4. Álgebra Linear...49

Vetores 49

Matrizes 53

Para Mais Esclarecimentos 55

5. Estatística ...57

Descrevendo um Conjunto Único de Dados 57

Tendências Centrais 59 Dispersão 61

Correlação 62

Paradoxo de Simpson 65

Alguns Outros Pontos de Atenção sobre Correlação 66 Correlação e Causalidade 67

Para Mais Esclarecimentos 68

6. Probabilidade ...69 Dependência e Independência 69

Probabilidade Condicional 70

Teorema de Bayes 72

Variáveis Aleatórias 73

vi I Sumário

Distribuições Contínuas 74

A Distribuição Normal 75

O Teorema do Limite Central 78

Para Mais Esclarecimentos 80

7. Hipótese eInferência...81

Teste Estatístico de Hipótese 81

Exemplo: Lançar Uma Moeda 81

p-values 84

Intervalos de Confiança 85

P-Hacking 86

Exemplo: Executando um Teste A/B 87

Inferência Bayesiana 88

Para Mais Esclarecimentos 92

8. Gradiente Descendente ...93

A Ideia Por Trás do Gradiente Descendente 93

Estimando o Gradiente 94

Usando o Gradiente 97

Escolhendo o Tamanho do Próximo Passo 97

Juntando Tudo 98

Gradiente Descendente Estocástico 99

Para Mais Esclarecimentos 100

9. Obtendo Dados...103

stdin e stdout 103

Lendo Arquivos 105

O Básico de Arquivos Texto 105

Arquivos delimitados 106

Extraindo Dados da Internet 108

HTML e Sua Subsequente Pesquisa 108

Exemplo: Livros O'Reilly Sobre Dados 110

Usando APls 114

JSON (e XML) 114

Usando Uma API Não Autenticada 115

Encontrando APls 116

Exemplo: Usando as APls do Twitter 117

Obtendo Credenciais 117

Para Mais Esclarecimentos 120

10. Trabalhando com Dados ...121

Explorando Seus Dados 121

Explorando Dados Unidimensionais 121

Sumário I vii

(5)

123

Muitas Dimensões 125

Limpando e Transformando 127

Manipulando Dados 129

Redimensionando l32

Redução da Dimensionalidade l34

Para Mais Esclarecimentos 139

Duas Dimensões

11. Aprendizado de Máquina ...141

Modelagem 141

O Que É Aprendizado de Máquina? 142

Sobreajuste e Sub- Ajuste 142

Precisão 145

Compromisso entre Polarização e Variância 147

Recursos Extração e Seleção de Característica 148

Para Mais Esclarecimentos 150

12. K-Vizinhos Mais Próximos ...151

O Modelo 151

Exemplo: Linguagens Favoritas 153

A Maldição da Dimensionalidade 156

Para Mais Esclarecimentos 163

13. Naive Bayes...165

Um Filtro de Spam Muito Estúpido 165

Um Filtro de Spam Mais Sofisticado 166

Implementação 168

Testando Nosso Modelo 169

Para Mais Esclarecimentos 172

14. Regressão linear Simples ...173

O Modelo 173

Usando o Gradiente Descendente 176

Estimativa Máxima da Probabilidade 177

Para Mais Esclarecimentos 177

15. Regressão Múltipla...179

O Modelo 179

Mais Suposições do Modelo dos Mínimos Quadrados 180

Ajustando o Modelo 181

Interpretando o Modelo 182

O Benefício do Ajuste 183

viii I Sumário

Digressão: A Inicialização 183

Erros Padrões de Coeficientes de Regressão 184

Regularização 186

Para Mais Esclarecimentos 188

16. Regressão logística ...189

O Problema 189

A Função Logística 192

Aplicando o Modelo 194

O Benefício do Ajuste 195

Máquina de Vetor de Suporte 196

Para Mais Esclarecimentos 200

17. Árvores de Decisão ...201

O Que É uma Árvore de Decisão? 201

Entropia 203

A Entropia de uma Partição 205

Criando uma Árvore de Decisão 206

Juntando Tudo 208

FI~restas Aleatórias 211

Para Maiores Esclarecimentos 212

18. Redes Neurais ...213

Perceptrons 213

Redes Neurais Feed-Forward 215

Backpropagation 218

Exemplo: Derrotando um CAPTCHA 219

Para Mais Esclarecimentos 224

19. Agrupamento...225

Aldeia 225

O Modelo 226

Exemplo: Encontros 227

Escolhendo k 230

Exemplo: Agrupando Cores 231

Agrupamento Hierárquico Bottom-up 233

Para Mais Esclarecimentos 238

20. Processamento de linguagem Natural ...239

Nuvens de Palavras 239

Modelos n-gramas 241

Gramáticas 244

Sumário I ix

(6)

Duas Dimensões 123

Muitas Dimensões 125

Limpando e Transformando 127

Manipulando Dados 129

Redimensionando 132

Redução da Dimensionalidade 134

Para Mais Esclarecimentos 139

11. Aprendizado de Máquina ...141

Modelagem 141

O Que É Aprendizado de Máquina? 142

Sobreajuste e Sub-Ajuste 142

Precisão 145

Compromisso entre Polarização e Variância 147

Recursos Extração e Seleção de Característica 148

Para Mais Esclarecimentos 150

12. K-Vizinhos Mais Próximos ...151

O Modelo 151

Exemplo: Linguagens Favoritas 153

A Maldição da Dimensionalidade 156

Para Mais Esclarecimentos 163

13. Naive Bayes...165

Um Filtro de Spam Muito Estúpido 165

Um Filtro de Spam Mais Sofisticado 166

Implementação 168

Testando Nosso Modelo 169

Para Mais Esclarecimentos 172

14. Regressão linear Simples ...173

O Modelo 173

Usando o Gradiente Descendente 176

Estimativa Máxima da Probabilidade 177

Para Mais Esclarecimentos 177

15. Regressão Múltipla...179

O Modelo 179

Mais Suposições do Modelo dos Mínimos Quadrados 180

Ajustando o Modelo 181

Interpretando o Modelo 182

O Benefício do Ajuste 183

viii I Sumário

Digressão: A Inicialização 183

Erros Padrões de Coeficientes de Regressão 184

Regularização 186

Para Mais Esclarecimentos 188

16. Regressão logística ...189

o

Problema 189

A Função Logística 192

Aplicando o Modelo 194

O Benefício do Ajuste 195

Máquina de Vetor de Suporte 196

Para Mais Esclarecimentos 200

17. Arvores de Decisão ...201

O Que É uma Árvore de Decisão? 201

Entropia 203

A Entropia de uma Partição 205

Criando uma Árvore de Decisão 206

Juntando Tudo 208

Fl~restas Aleatórias 211

Para Maiores Esclarecimentos 212

18. Redes Neurais ...213

Perceptrons 213

Redes Neurais Feed -Forward 215

Backpropagation 218

Exemplo: Derrotando um CAPTCHA 219

Para Mais Esclarecimentos 224

19. Agrupamento...225

Aldeia 225

O Modelo 226

Exemplo: Encontros 227

Escolhendo k 230

Exemplo: Agrupando Cores 231

Agrupamento Hierárquico Bottom-up 233

Para Mais Esclarecimentos 238

20. Processamento de linguagem Natural ...239

Nuvens de Palavras 239

Modelos n-gramas 241

Gramáticas 244

Sumário ix

(7)

Um Adendo: Amostragem de Gibbs 246

Modelagem de Tópicos 247

Para Mais Esclarecimentos 253

21. Análise de Rede ...255

Centralidade de Intermediação 255

Centralidade de Vetor Próprio 260

Multiplicação de Matrizes 260

Centralidade 262

Gráficos Direcionados e PageRank 264

Para Mais Esclarecimentos 266

22. Sistemas Recomendadores ...267

Curadoria Manual 268

Recomendando O Que é Popular 268

Filtragem Colaborativa Baseada no Usuário 269

Filtragem Colaborativa Baseada em Itens 272

Para Mais Esclarecimentos 274

23. Bases de Dados eSQL ...275

CREATE TABLE e INSERT 275

UPDATE 277

DELETE 278

SELECT 278

GROUPBY 280

ORDERBY 282

JOIN 283

Subconsultas 285

Índices 285

Otimização de Consulta 286

NoSQL 287

Para Mais Esclarecimentos 287

24. MapReduce ...289

Exemplo: Contagem de Palavras 289

Por que MapReduce? 291

MapReduce Mais Generalizado 292

Exemplo: Analisando Atualizações de Status 293

Exemplo: Multiplicação de Matriz 294

Um Adendo: Combinadores 296

Para Mais Esclarecimentos 296

x I Sumário

25. Vá em Frente ePratique Data Science ...299

IPython 299

Matemática 300

Não Do Zero 300

NumPy 301

pandas 301

scikit -learn 301

Visualização 301

R 302

Encontre Dados 302

Pratique Data Science 303

HackerNews 303

Carros de Bombeiros 303

Camisetas 304

E Você? 304

26. índice...305

Sumário I xi

(8)

Um Adendo: Amostragem de Gibbs 246

Modelagem de Tópicos 247

Para Mais Esclarecimentos 253

21. Análise de Rede ...255

Centralidade de Intermediação 255

Centralidade de Vetor Próprio 260

Multiplicação de Matrizes 260

Centralidade 262

Gráficos Direcionados e PageRank 264

Para Mais Esclarecimentos 266

22. Sistemas Recomendadores ...267

Curadoria Manual 268

Recomendando O Que é Popular 268

Filtragem Colaborativa Baseada no Usuário 269

Filtragem Colaborativa Baseada em Itens 272

Para Mais Esclarecimentos 274

23. Bases de Dados eSQL ...275

CREATE TABLE e INSERT 275

UPDATE 277

DELETE 278

SELECT 278

GROUPBY 280

ORDERBY 282

JOIN 283

Subconsultas 285

Índices 285

Otimização de Consulta 286

NoSQL 287

Para Mais Esclarecimentos 287

24. MapReduce ...289

Exemplo: Contagem de Palavras 289

Por que MapReduce? 291

MapReduce Mais Generalizado 292

Exemplo: Analisando Atualizações de Status 293

Exemplo: Multiplicação de Matriz 294

Um Adendo: Combinadores 296

Para Mais Esclarecimentos 296

x I Sumário

25. Vá em Frente ePratique Data Science ••.••.••.••..•.•••.•.•••..•...•..•....••.••.••.•..••...•..••.••.••.299

IPython 299

Matemática 300

Não Do Zero 300

NumPy 301

pandas 301

scikit-Iearn 301

Visualização 301

R 302

Encontre Dados 302

Pratique Data Science 303

Hacker News 303

Carros de Bombeiros 303

Camisetas 304

E Você? 304

26. índice...305

Sumário I xi

Referências

Documentos relacionados

O resultado da pesquisa aponta para o desenvolvimento de epistemologias para a atribuição do sentido ao conhecimento construído por professores e alunos em nível

Para Linhares 1979 as causas da escassez de alimentos no Brasil ao longo dos séculos XVIII e XIX se devem a partir de quatro fatores: o primeiro por causas naturais como as secas,

Gupta e Kundu 2000, introduziram e estudaram uma nova distribui¸c˜ao proposta por eles mesmos denominada distribui¸c˜ao exponencial generalizada e pode ser usada como um

Abandonou-se o paradigma da família hierarquizada, patriarcal, para dar lugar a um novo modelo pautado, significativamente, na vontade livre, no desejo de as pessoas relacionarem-se

No tocante à tipificação dos discursos, estabelecida por Aristóteles, a Nova Retórica questiona essa classificação, preconizando a atemporalidade para a aplicação

Já no acesso Sisal Ornamental, foram observadas oito bandas CMA+, sendo cinco nas regiões intersticiais dos braços longo de cromossomos grandes e três bandas terminais nos

DISTRIBUIÇÃO E ABUNDÂNCIA RELATIVA DA Anomalocardia brasiliana GMELIN, 1791 NA PRAIA DE MANGUE SECO, PERNAMBUCO, BRASIL.... UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO PRÓ-REITORIA

Os objetivos mais específicos são: • mostrar que essas funções são aproximadores universais, • avaliar o desempenho dos modelos com essas funções através de diferentes