Escolar Documentos
Profissional Documentos
Cultura Documentos
Sumário
Apresentação .................................................................................................................................... 3
Everton Gomede ....................................................................................................................................... 3
Ricardo Satin ............................................................................................................................................. 3
UNIDADE 1 – Visão Geral ................................................................................................................... 4
Objetivos de aprendizagem ...................................................................................................................... 4
Ciência de Dados ....................................................................................................................................... 4
O Cientista de Dados ................................................................................................................................. 6
Requisitos de um Cientista de Dados ........................................................................................................ 7
Considerações Finais ............................................................................................................................... 15
UNIDADE 2 – Ferramentas de Data Science ...................................................................................... 16
Objetivos de aprendizagem .................................................................................................................... 16
Jupyter Notebook .................................................................................................................................... 16
RStudio IDE .............................................................................................................................................. 24
Considerações Finais ............................................................................................................................... 31
UNIDADE 3 – Business Intelligence ................................................................................................... 32
Objetivos de aprendizagem .................................................................................................................... 32
Microsoft Power BI ............................................................................................................................... 32
Tableau .................................................................................................................................................. 38
Considerações Finais ............................................................................................................................... 52
UNIDADE 4 – Ferramentas de Big Data ............................................................................................. 53
Objetivos de aprendizagem .................................................................................................................... 53
Apache Hadoop ....................................................................................................................................... 53
DataCleaner .......................................................................................................................................... 63
Considerações Finais ............................................................................................................................... 72
UNIDADE 5 – Gerenciamento ........................................................................................................... 73
Objetivos de aprendizagem .................................................................................................................... 73
Colocando tudo junto.............................................................................................................................. 73
Cenários comuns de gerenciamento....................................................................................................... 73
Cenários comuns de gerenciamento....................................................................................................... 74
Considerações Finais ............................................................................................................................... 74
Referências ..................................................................................................................................... 75
Recursos.......................................................................................................................................... 76
2
Apresentação
Everton Gomede
Doutorando em Engenharia Elétrica/Computação pelo Programa de Pós-graduação da
Faculdade de Engenharia Elétrica e de Computação (FEEC) da Universidade Estadual de
Campinas (UNICAMP). Mestre em Ciência da Computação pela Universidade Estadual de
Londrina. MBA (Master of Business Administration) em Neurogestão pela Fundação Getúlio
Vargas. MBA em Gerenciamento de Projetos pela FGV. Especialista em Engenharia de Software
e Banco de Dados pela Universidade Estadual de Londrina. Graduado em Processamento de
Dados. Sun Certified Programmer for Java 2 Platform 1.4 e ITIL® Foundation Certificate in IT
Service Management. Experiência de mais de 10 anos na área de TI em arquitetura de software,
engenharia de software, mapeamento de processos de negócio, gerenciamento de projetos,
desenvolvimento de sistemas transacionais e de suporte à decisão. Experiência em projetos
nacionais e internacionais em instituições financeiras e empresas de desenvolvimento de
software. Professor de cursos de pós-graduação em universidades públicas e privadas. Membro
do PMI 1580489. Publicações nacionais e internacionais. Proficiência em inglês atestada pelo
TOIEC e TOEFL. Áreas de Interesse: Estrutura de Dados e Organização de Arquivos, Análise de
Sistemas e Engenharia de Software, Lógica de Programação, Redes de Computadores,
Linguagem de Programação, Administração de Banco de Dados, Governança de TIC (ITIL/CobIT),
Data Warehouse, Data Mining, Big Data, Gerenciamento de Projetos, Gerenciamento de
Processos de Negócio (BPM/BPMN™), Pesquisa Operacional, Algoritmos, Sistemas de Suporte à
Decisão, Data Science e Machine Learning.
Ricardo Satin
Mestre em Engenharia de Software pela UTFPR; Especialista em Computação pela Unicesumar;
Graduado em Computação pela Universidade Estadual de Maringá -UEM; MBA em
Gerenciamento de Projetos pela FCV. Profissional certificado em: gerenciamento de projeto
pelo P.M.I. (profissional PMP); Gerenciamento ágil de projetos (SCRUM); Gerenciamento de
serviços de T.I. (ITIL). Professor de ensino superior para cursos da área de T.I. e pós-graduação
para diversas áreas. Atua como consultor em gerenciamento de projetos; processos de negócio;
melhoria de processos e machine learning.
3
UNIDADE 1 – Visão Geral
Objetivos de aprendizagem
Entender o que é um cientista de dados
Entender o que é ciência de dados
Entender os requisitos para um cientista de dados
Ansioso por desbravar o universo da Ciência de Dados e não sabe por onde começar? Nós
ajudaremos você. Preparamos um guia que vai ajudá-lo a compreender o que faz um Cientista
de Dados e como iniciar sua preparação! Quando iniciamos neste mundo de ciência de dados,
as coisas ficam extremamente confusas. São milhares de termos e conceitos, todos aprendidos
ao mesmo tempo. Normalmente, os textos focam em linguagens a serem estudadas para essa
área, mas dessa vez optamos por trazer algo diferente. Nesse texto, vim trazer uma explicação
simples para algumas ferramentas de desenvolvimento na área de ciência de dados. Embora
algumas vezes a própria ferramenta esteja atrelada a uma linguagem específica, o objetivo é
deixar claro o que são essas ferramentas, seus principais potenciais. Esse não é um capítulo
sobre como abrir planilhas e processar dados, mas sobre como começar na área de ciência de
dados.
Ciência de Dados
4
Irving Wladawsky-Berger compara o entusiasmo da ciência de dados com o surgimento da
ciência da computação. Ele argumenta que a ciência de dados, como qualquer outro campo
interdisciplinar, emprega metodologias e práticas de toda a academia e indústria, mas depois as
transforma em uma nova disciplina. Ele chama a atenção as fortes críticas da ciência da
computação, agora uma disciplina acadêmica bem respeitada, que tiveram que enfrentar uma
vez. Da mesma forma, Vasant Dhar, da NYU Stern, assim como muitos outros defensores
acadêmicos da ciência de dados, argumenta mais especificamente em dezembro de 2013 que a
ciência de dados é diferente da prática existente de análise de dados em todas as disciplinas,
que se concentra apenas na explicação dos conjuntos de dados. A ciência de dados busca um
padrão acionável e consistente para usos preditivos. Esse objetivo prático de engenharia leva a
ciência de dados além da análise tradicional. Agora, os dados nessas disciplinas e campos
aplicados que careciam de teorias sólidas, como ciências da saúde e ciências sociais, podiam ser
buscadas e utilizadas para gerar modelos preditivos poderosos.
Para o futuro da ciência de dados, a Donoho projeta um ambiente cada vez maior para a
ciência aberta, onde os conjuntos de dados usados para publicações acadêmicas são acessíveis
a todos os pesquisadores. O Instituto Nacional de Saúde dos EUA já anunciou planos para
aumentar a reprodutibilidade e a transparência dos dados de pesquisa. Outros grandes
periódicos também estão seguindo o exemplo. Dessa forma, o futuro da ciência de dados não
apenas excede os limites das teorias estatísticas em escala e metodologia, mas também
revolucionará os atuais paradigmas acadêmicos e de pesquisa. Como Donoho conclui, "o
escopo e o impacto da ciência de dados continuarão a se expandir enormemente nas próximas
décadas, à medida que dados e dados científicos sobre a própria ciência se tornarem
onipresente".
5
O Cientista de Dados
#REFLITA#
Quais os motivos que o levam a ser um cientista de dados?
#REFLITA#
De acordo com Anjul Bhambhri, ex Vice Presidente de Big Data da IBM e atual Vice
Presidente da Adobe, o Cientista de Dados é o profissional capaz de trazer a mudança para uma
organização através da análise de diversas fontes de dados. Anjul Bhambhri escreve:
Não existe uma formação que prepare Cientistas de Dados, pois esta é uma profissão
relativamente nova. Tem havido muito debate sobre isso no ambiente acadêmico
(principalmente nos EUA), pois o mercado precisa de profissionais agora e o tempo de
6
preparação de um profissional com estas habilidades, pode levar algum tempo. Por isso
formações técnicas em determinadas áreas, podem ajudar a preparar estes profissionais.
Este é o primeiro passo e, acredite fundamental. Você, como profissional, precisa avaliar
o momento atual da sua carreira e como pretende estar em cinco ou dez anos. Se pretender
seguir uma carreira em Analytics, seja como Cientista de Dados, Engenheiro de Dados ou
Analista, precisa compreender quais são suas habilidades atuais, onde pretende chegar, avaliar
os gaps e traçar um plano de ação. Como não existe uma formação acadêmica específica para
se tornar um Cientista de Dados, este profissional pode vir de áreas como Estatística ou Ciência
da Computação, sendo comum encontrar profissionais de outras áreas atuando como Cientistas
de Dados (Marketing, Economia, Ciências Sociais, etc..). Mas independente da área de
formação, algumas características serão comuns a todos os profissionais que trabalham com
Ciência de Dados (FAWCETT e PROVOST, 2018):
7
Habilidade com Números – Matemática é a base da Ciência de Dados. Programação de
computadores envolve habilidade com números. Os algoritmos de Machine Learning,
são baseados em conceitos matemáticos. A Estatística, parte fundamental da Ciência de
Dados, requer habilidade com números. Avalie suas características e na sua auto
avaliação, verifique se esse item será um problema ou não.
Conhecimento em Banco de Dados – Em diversas fases do processo de análise de
dados, interações com bancos de dados serão necessárias. Bancos de dados relacionais,
Data Warehouses, bancos de dados NoSQL, Hadoop, linguagem SQL. Estas tecnologias
estão diretamente ligadas ao trabalho do Cientista de Dados e pelo menos sua
compreensão será um ponto que poderá fazer diferença. Avalie se você compreende o
conceito de banco de dados, entende as diferenças entre bancos de dados relacionais e
NoSQL e como utilizar linguagem SQL para consultas.
A esta altura, talvez você já esteja se perguntando: como você pretende que eu aprenda
tudo isso? Aqui entra um dos conceitos mal interpretados sobre a profissão de Cientista de
Dados. Acredita-se que este profissional precisa conhecer todas as ferramentas. Isso não é
verdade e nem mesmo necessário. Escolha suas ferramentas e se especialize nelas. Por
exemplo: conhecimento em linguagem R e Hadoop permitirá fazer análises de grandes volumes
de dados (Big Data). Você não precisa conhecer todas as linguagens de programação, bem
como não tem que conhecer todos os bancos de dados. O mais importante é o pensamento
lógico, esse sim indispensável (e esta habilidade talvez você já tenha). A tecnologia oferece
ferramentas e nenhuma delas resolve sozinha 100% dos problemas, pois todas possuem suas
limitações.
Surpreso com este passo? Esta é a etapa onde você prepara seu ambiente de testes e
não deve ser subestimada. Pode ser frustrante durante seu processo e aprendizagem, não ter o
equipamento ideal para instalar softwares ou executar operações que requerem poder
computacional. A Ciência de Dados é computacionalmente intensa (isso não deve ser uma
novidade para você). Portanto, você precisa de um computador que permita processar seus
scripts e aprender sobre análise de dados. Além disso, você vai precisar instalar ferramentas,
interpretadores, pacotes Office, etc. Para trabalhar com Ciência de Dados, um computador com
8GB de memória RAM, com um processador intel i5/i7/i9 ou equivalente é a nossa
recomendação. Naturalmente, quanto maior a capacidade do seu computador, melhor! É
possível também utilizar serviços como o Cloud9 ou Amazon AWS e montar um ambiente
virtual de trabalho.
Sistema Operacional – A decisão por qual sistema operacional utilizar é bastante pessoal e
qualquer um dos 3 principais sistemas operacionais (Windows, MacOS e Linux) vai atender às
suas necessidades. De qualquer forma, você poderá instalar máquinas virtuais com outro
sistema operacional. Boa parte do framework de Data Science e Big Data, foi construída sobre
8
plataforma Unix. Para um servidor Hadoop ou Spark, um servidor Linux é a melhor
recomendação. Já para a parte de apresentação de dados, Microsoft Office e outras ferramentas
de visualização podem depender de um sistema Windows. Não há uma regra aqui, mas para
usuários mais avançados, um sistema Unix é recomendado. Para aqueles que se sentem mais
confortáveis com o Windows, não há problema algum. Utilize o Windows como seu sistema
operacional base e, se necessário, crie uma máquina virtual com Linux, se quiser processar
arquivos com Hadoop e/ou Spark ou realizar outros testes. Os principais fornecedores do
Hadoop (Cloudera, Hortownworks e MapR) fornecem gratuitamente máquinas virtuais com
Linux e Hadoop, prontas para uso em poucos cliques. Já o Microsoft Azure Machine Learning
pode ser utilizado online, por exemplo. É possível também fazer o download o SAS University
Edition, uma máquina virtual com Linux e SAS, que em poucos segundos permitem você utilizar
o SAS (uma das principais soluções de Analytics atualmente) para seu aprendizado e totalmente
gratuito.
Softwares – Independente da linguagem de programação que você escolher, você vai precisar
instalar o interpretador e uma IDE (ambiente integrado de desenvolvimento). Se a sua escolha
for pela linguagem R, por exemplo, além de instalar o interpretador, você poderá instalar o
RStudio (IDE para linguagem R). O mesmo vale para outras linguagens de programação. É
possível criar seus scripts de Data Science 100% online, via browser, usando o Jupyter Notebook.
Mas nem sempre você pode estar online e ter suas ferramentas instaladas localmente vai trazer
uma série de vantagens.
Além disso, considere instalar:
Editores de texto: Sublime, Atom, Notepad++
Software para Máquinas Virtuais: VirtualBox, Parallels
Git e Github: para criar seu portfólio de projetos em Data Science
Suite Office: Microsoft Office, Libre Office
9
Existem muitas formas de aprender os conceitos de Estatística e Matemática aplicada e
isso leva tempo. Para qualquer aspirante a Cientista de Dados a recomendação é aprender
Estatísticas codificando, de preferência em Python ou R, de forma que você possa aplicar
imediatamente um conceito aprendido. Nada substitui uma graduação em Estatística ou
Matemática, mas você pode aprender os conceitos que serão usados no seu dia a dia em Data
Science, aplicando estes conceitos através de uma linguagem de programação. Data Science é
uma área multidisciplinar.
O Cientista de Dados vai consumir Big Data, ou seja, vai utilizar o Big Data como matéria-
prima, aplicar diversas técnicas e colher insights. Mas a responsabilidade por coletar e
armazenar os dados normalmente é do Engenheiro de Dados. Criação de clusters Hadoop,
streaming de dados com Spark, integração entre diferentes fontes de dados são todas
atribuições novas e normalmente exercidas por Engenheiros de Dados. Mas é importante que o
Cientista de Dados conheça bem como funciona a infraestrutura que armazena os dados que
serão analisados, pois, isso pode fazer a diferença na hora de analisar 1 trilhão de registros, por
exemplo (FAWCETT e PROVOST, 2018).
Hadoop – O Hadoop está se tornando o coração da infraestrutura de Big Data, o que vai
revolucionar o sistema tradicional de armazenamento em bancos de dados como
conhecemos hoje. Além de gratuito, o Hadoop foi criado para ser usado em hardware
de baixo custo, uma combinação essencial para empresas que buscam reduzir seus
custos de infraestrutura de TI e ainda capitalizar os benefícios do Big Data.
Spark – Spark é um projeto open source, mantido por uma comunidade de
desenvolvedores que foi criado em 2009 na Universidade da Califórnia, Berkeley. O
Spark foi concebido com o principal objetivo de ser veloz, tanto no processamento de
queries quanto de algoritmos, além de processamento em memória e eficiente
recuperação de falha. É atualmente um dos assuntos mais quentes em Data Science e
vem ganhando muita popularidade.
Bancos de Dados NoSQL – Bancos de Dados tradicionais RDBMS (Relational Database
Management Systems) são foram projetados para tratar grandes quantidades de dados
10
(Big Data). Bancos de Dados tradicionais foram projetados somente para tratar
conjuntos de dados que possam ser armazenados em linhas e colunas e portanto,
possam ser consultados atravésdo uso de queries utilizando linguagem SQL (Structured
Query Language). Bancos de Dados relacionais não são capazes de tratar dados não
estruturados ou semiestruturados. Ou seja, Bancos de Dados relacionais simplesmente
não possuem funcionalidades necessárias para atender os requisitos do Big Data, dados
gerados em grande volume, alta velocidade e alta variedade. Esta é a lacuna preenchida
por Bancos de Dados NoSQL, como o MongoDB por exemplo. Bancos de Dados NoSQL,
são bancos de dados distribuídos e não relacionais, que foram projetados para atender
os requerimentos deste novo mundo de dados em que vivemos.
Bancos de Dados Relacionais e Data Warehouses – Nas últimas décadas, todos os
dados corporativos têm sido armazenados em bancos de dados relacionais e soluções
de Business Intelligence usaram Data Warehouses para criar soluções analíticas. Estes
dados estruturados serão fonte de dados para Data Science e daí a importância do
conhecimento em linguagem SQL, a linguagem padrão para consultar estes tipos de
dados.
Como Cientista de Dados, você precisa ser especialista em todas as tecnologias? Não.
Mas parte do trabalho do Cientista de Dados será coletar dados do HDFS (Hadoop File system),
criar RDD’s no Spark, aplicar algoritmos de Machine Learning em streaming de dados, cruzar
dados não estruturados coletados de redes sociais, com bancos de dados de CRM, etc.
Portanto, o Cientista de Dados precisa estar confortável com a forma como os dados estão
armazenados e extrair da tecnologia o melhor que ela pode oferecer.
Python – É uma linguagem de uso geral, que tem recebido nos últimos anos mais e mais
módulos e pacotes para Data Science como Pandas, Matplotlib, Scikit-Learn, Stats
Models e TensorFlow. Python é mais fácil de aprender em comparação a outras
linguagens, tem uma comunidade ativa, muita documentação disponível (inclusive em
português) e pode ser usada para outras atividades além de Data Science.
11
Linguagem R – Linguagem estatística, que existe há mais de 30 anos. Sua capacidade de
processar estatísticas de grandes volumes de dados e criar gráficos sofisticados fez com
que gigantes do mercado de tecnologia, como Oracle e Microsoft, adotassem R como
linguagem padrão para análises estatísticas. Um dos problemas mais comuns que as
pessoas enfrentam em aprender R é a falta de um guia. As pessoas não sabem, por onde
começar, como proceder e nem que caminho seguir. Há uma sobrecarga de bons
recursos gratuitos disponíveis na Internet e isso torna o caminho de aprendizado muito
mais tortuoso.
Outras linguagens como Julia, Scala e Java também são muito utilizadas em Data
Science, mas se estiver começando, opte pelas linguagens R ou Python. Estas linguagens vão
permitir uma base sólida, fazendo com o que o profissional avance para soluções comerciais
como SAS, Microsoft Azure Machine Learning, Oracle Advanced Analytics, Microstrategy, SAP
Predictive Analytics, Tibco Analytics, entre outros. Se você já possui conhecimento em Matlab,
Octave, Stata ou Minitab, saiba que seu conhecimento já pode ser utilizado em Data Science.
Uma dica importante: não tente aprender tudo! Selecione 2 ou 3 ferramentas e se dedique ao
aprendizado delas de forma detalhada. Neste estudo, vamos ver algumas destas ferramentas
com detalhe.
E claro, não dá para falar em Data Science, sem falar em Machine Learning. Machine
Learning (ou Aprendizado de Máquina) é uma das tecnologias atuais mais fascinantes. Você
provavelmente utiliza algoritmos de aprendizado várias vezes por dia sem saber. Sempre que
você usa um site de busca como “Google” ou “Bing“, uma das razões para funcionarem tão bem
é um algoritmo de aprendizado. Um algoritmo implementado pelo “Google” aprendeu a
classificar páginas web. Toda vez que você usa o aplicativo para “marcar” pessoas nas fotos do
“Facebook” e ele reconhece as fotos de seus amigos, isto também é Machine Learning. Toda
vez que o filtro de spam do seu e-mail filtra toneladas de mensagens indesejadas, isto também
é um algoritmo de aprendizado.
12
Aggregation (Bagging), Natural Language Processing (NLP), Principal Component Analysis (PCA),
Principal Component Regression (PCR), BackPropagation e muito mais. Cada algoritmo será
ideal para determinado tipo de dado e de acordo com a análise pretendida. Não há necessidade
de aprender todos os algoritmos. Mas é importante compreender os conceitos e como
programar-los.
Qual o objetivo da sua análise? Para que você vai coletar montanhas de dados e aplicar
modelos de análise? Que problema você pretende resolver, analisando dados? O principal
objetivo da Ciência de Dados é resolver problemas. As empresas não vão iniciar um projeto de
Data Science, se isso não for relevante para o negócio. Portanto, o Cientista de Dados deve
estar familiarizado com a área de negócio para a qual ele está iniciando um projeto, utilizando
Data Science.
A dica aqui é simples. Procure compreender a área de negócio na qual você pretende
atuar como Cientista de Dados. Se vai trabalhar em uma mineradora, por exemplo, quais são os
principais indicadores? De onde vêm os dados? Que problemas a empresa precisa resolver?
Que tipos de dados devem ser analisados e correlacionados? Como técnicas de Machine
Learning podem ser empregadas para melhorar o faturamento da empresa? Como a análise de
dados permite oferecer um serviço melhor aos clientes? Cada área de negócio tem as suas
particularidades e uma compreensão ampla disso, vai permitir um trabalho que realmente gere
valor.
Com a massiva quantidade de dados aumentando a cada dia, um grande desafio vem
surgindo para aqueles responsáveis por analisar, sumarizar e apresentar os dados: fazer com
que a informação gerada, possa ser facilmente compreendida. E uma das tarefas mais
importantes do trabalho do Cientista de Dados, é ser capaz de transmitir tudo aquilo que os
dados querem dizer. E às vezes os dados querem dizer coisas diferentes, para públicos
13
diferentes. Pode parecer fácil em princípio. Hoje temos à nossa disposição os mais variados
recursos para apresentação e exatamente aí que está o desafio. Nunca foi tão fácil gerar
tabelas e gráficos, com diferentes estruturas, formatos, tamanhos, cores e fontes. Os gráficos
estão deixando de ser gráficos e se tornando infográficos. Ter um volume cada vez maior de
dados à nossa disposição, não torna mais fácil a apresentação da informação gerada. Pelo
contrário, torna a tarefa mais complicada. Quase uma arte (FAWCETT e PROVOST, 2018).
Uma das tarefas do Cientista de Dados é apresentar seus resultados. Ninguém melhor
que o profissional que faz a análise, desde a coleta, limpeza e armazenamento dos dados, até a
aplicação de modelos estatísticos, para explicar seus resultados. Uma visualização efetiva de
dados pode ser a diferença entre sucesso e falha nas decisões de negócio. Provavelmente, em
breve, a capacidade de comunicar e contar as histórias dos dados será uma das características
mais valorizadas e buscadas pelas empresas. Técnicas de apresentação são um dos skills que
fará a diferença na hora de contratar um Cientista de Dados, à medida que o conhecimento
técnico estiver difundido.
O Cientista de Dados deve ser um contador de histórias e deve ser capaz de contar a
mesma história de maneiras diferentes. O profissional que for capaz de unir as habilidades
técnicas necessárias para análise de dados, com a capacidade de contar histórias, será um
profissional único. Este é o verdadeiro conceito de unicórnio, atribuído aos Cientistas de Dados.
Diversas ferramentas possuem funcionalidades avançadas para visualização de dados: Tableau,
QlikView, Microsoft Excel, Microsoft Power BI, Microstrategy, Weka, NetworkX, Gephi,
bibliotecas Java Script (D3.js, Chart.js, Dygraphs), além de visualizações alto nível que podem
ser feitas em Python ou R.
É importante não apenas estar familiarizado com uma ou mais ferramentas para
visualizar dados, mas também os princípios por trás da codificação visual de dados e
comunicação de informações.
Passo 8: Pratique
Não há outra forma de aprender qualquer que seja o assunto. É preciso praticar, testar,
experimentar, cometer erros, aprender com eles, testar novamente, interagir com a
comunidade. Erros que devem ser evitados ao longo da caminhada:
14
será mais difícil, mas à medida que aprende e adquire experiência, o aprendizado de
novas ferramentas fica mais fácil.
Começar por problemas muito complexos – A solução de problemas mais complexos em
Data Science requer tempo e experiência. Não tente fazer isso no começo da sua
jornada.
Focar apenas na programação – Data Science não é apenas programação. Outros
conceitos são tão importantes quanto. Estatística é importante. Visualização de dados e
apresentação é importante. Tenha seu foco em outras áreas e não apenas programação.
Considerações Finais
15
UNIDADE 2 – Ferramentas de Data Science
Objetivos de aprendizagem
Entender o Jupyter Notebook
Aprender sobre o RStudio
Entender como ambas as ferramentas podem ser utilizadas para Ciência de Dados
Jupyter Notebook
16
derivado do IPython. IPython agora é o nome do back-end do Python, também conhecido como
kernel. Recentemente, a próxima geração de Notebooks Jupyter foi introduzida na
comunidade. Chama-se JupyterLab. Depois de tudo isso, você pode se perguntar de onde essa
ideia de notebooks se originou ou como surgiu para os criadores.
Uma breve pesquisa sobre a história desses notebooks descobre que Fernando Pérez e
Robert Kern estavam trabalhando em um notebook exatamente ao mesmo tempo em que o
notebook Sage era um trabalho em andamento. Como o layout do notebook Sage foi baseado
no layout dos notebooks do Google, você também pode concluir que o Google também
costumava ter um recurso de notebook nesse período. No que diz respeito à ideia do notebook,
parece que Fernando Pérez, assim como William Stein, um dos criadores do notebook Sage,
confirmaram que eram usuários ávidos dos notebooks Mathematica e das planilhas Maple. Os
notebooks Mathematica foram criados como front end ou GUI em 1988 por Theodore Gray.
Vamos utilizar a versão web disponibilizada pela comunidade do Jupyter. Para isso,
aponte seu navegador para o endereço a seguir:
https://jupyter.org/try
17
Depois disso, você terá acesso ao editor conforme mostrado na figura a seguir (Figura
2.2).
Vamos realizar nosso primeiro teste. Clique no ícone “+” e vai aparecer uma caixa com a
entrada de código em Python (Figura 2.3).
18
Figura 2.5 – Resultado de uma documentação de marcação
Depois disso, vamos fazer algo mais sofisticado. Vamos importar algumas bibliotecas e
criar uma estrutura de dados. Para isso, clique em “+” e digite o seguinte comando:
import pandas as pd
import numpy as np
Clique em “Run”. Isso vai importar as bibliotecas pandas e numpy. Depois disso, clique
em “+” novamente e digite o comando.
df = pd.DataFrame(data=np.array([[1,2,3],[4,5,6]]),dtype=int,columns=['A','B','C'])
df
Clique em “Run”. O resultado deve ser parecido com a figura a seguir (Figura 2.6).
Vamos ver como gerar um gráfico utilizando um data frame. Para isso, crie uma nova
célula de código clicando em “+”. Depois disso, digite a seguinte linha de código e clique em
“Run” (Figura 2.7):
#REFLITA#
O quanto a criação de gráficos pode ser útil ao seu trablho?
#REFLITA#
19
Figura 2.7 – Resultado da criação um gráfico
Dessa forma, aprendemos como acessar a ferramenta Jupyter, realizar imports, escrever
documentação, criar data frame e plotar gráficos. Agora que vimos como o Jupyter funciona,
vamos ver com detalhes as funcionalidades dessa ferramenta.
Estrutura de um documento
Células de código
Uma célula de código permite editar e escrever um novo código, com realce completo
da sintaxe e conclusão da guia. A programação A linguagem usada depende do kernel, e o
kernel padrão (IPython) executa o código Python. Quando uma célula de código é executada, o
código que ela contém é enviado ao kernel associado ao notebook. Os resultados que
retornados desse cálculo são exibidos no notebook como a saída da célula. A saída não está
limitada a texto, com muitas outras formas possíveis de saída também são possíveis, incluindo
figuras matplotlib e tabelas HTML (como usado, por exemplo, no pacote de análise de dados do
pandas). Isso é conhecido como o rico recurso de exibição do IPython.
20
Células de remarcação
Células brutas
As células brutas fornecem um local no qual você pode gravar a saída diretamente. As
células brutas não são avaliadas pelo notebook. Quando passadas pelo nbconvert, as células
brutas chegam ao formato de destino sem modificação. Por exemplo, você pode digitar LaTeX
completo em uma célula bruta, que só será renderizada pelo LaTeX após a conversão pelo
nbconvert.
21
separados com o comando% run magic. Normalmente, você trabalha em um problema
computacional em partes, organizando idéias relacionadas em células e avançando uma vez
que as peças anteriores funcionem corretamente. Isso é muito mais conveniente para a
exploração interativa do que dividir uma computação em scripts que devem ser executados
juntos, como anteriormente era necessário, especialmente se partes deles muito tempo para
correr.
Para interromper um cálculo que está demorando muito, use a opção de menu Kernel,
Interrupção ou o teclado i, i atalho. Da mesma forma, para reiniciar todo o processo
computacional, use a opção de menu Kernel, Reiniciar ou o atalho 0,0. Um bloco de notas pode
ser baixado como um arquivo.ipynb ou convertido para vários outros formatos usando a opção
de menu Arquivo, Baixar como.
Compatibilidade do navegador
O Notebook Jupyter visa oferecer suporte às versões mais recentes desses navegadores:
Chrome
Safari
Firefox
As versões atualizadas do Opera e Edge também podem funcionar, mas, se não, use um
dos navegadores suportados. O uso do Safari com HTTPS e um certificado não confiável é
conhecido por não funcionar (os websockets falharão).
22
verde, dependendo do notebook estar no modo de edição ou comando. Se você clicar dentro
de um na área de edição da célula, você entrará no modo de edição. Se você clicar na área de
prompt ou saída de uma célula, digite o comando modo.
A segunda ideia da navegação baseada em mouse é que as ações das células geralmente
se aplicam à célula atualmente selecionada. Assim, se Para executar o código em uma célula,
selecione-o e clique no botão na barra de ferramentas ou no item de menu “Cell: Run”. Da
mesma forma, para copiar uma célula, selecione-a e clique no botão na barra de ferramentas
ou no item de menu "Editar: Copiar". Com esse padrão simples, você poderá fazer quase tudo
você precisa com o mouse.
As células Markdown possuem outro estado que pode ser modificado com o mouse.
Essas células podem ser renderizadas ou não renderizado. Quando eles são renderizados, você
verá uma boa representação formatada do conteúdo da célula. Quando eles não são
renderizados, você verá a fonte de texto bruto da célula. Para renderizar a célula selecionada
com o mouse, clique no botão na barra de ferramentas ou no item de menu “Cell: Run”. Para
renderizar a célula selecionada, clique duas vezes na célula.
Para testar o poder de processamento do Jupyter vamos gerar uma lista de vários
números primos. Para isso, digite o seguinte comando (Figura 2.9):
for i in range(500)
print(2**i - 1)
#ATENÇÃO#
Cuidado com a identação do código. Isso pode gerar um erro de interpretação do Python.
#ATENÇÃO#
23
Figura 2.9 – Impressão dos primeiros 500 números primos
Esse comando gerou 500 números primos partindo de 0. Note que o Jupyter gerou a
barra de rolagem de maneira automática.
RStudio IDE
Dowload R e R Studio
24
R Básico
Script
O script é um documento para armazenar uma lista de comandos R. Esta janela pode
não aparecer quando você primeiro abra o RStudio. Para criar um script, clique em “Arquivo \
Novo \ Script R”.
Console
A saída aparece aqui. O sinal> (também chamado de "prompt") significa que R está
pronto para aceitar comandos. Você pode digitar comandos diretamente no console. No
entanto, é um bom hábito digitar na janela de script e execute comandos a partir daí. Nada no
console pode ser salvo. Você pode, no entanto, salvar seus comandos em um arquivo de script
e repetir suas análises posteriormente. Isso é especialmente útil se você está trabalhando em
um grande projeto ou se você deseja manter seu código para consultar mais tarde.
Área de trabalho
Essa janela da área de trabalho lista os objetos atualmente disponíveis para você.
Funções que fazem parte da "base R" ou os pacotes não aparecerão aqui (existem muitos para
tornar isso prático). Funções especiais que você escreve a si mesmo ou faz parte de um espaço
de trabalho salvo anteriormente aparecerá aqui.
Plot/Ajuda
A janela final possui várias guias, incluindo uma guia de ajuda com um recurso de
25
pesquisa. Quando você cria plotagens eles aparecerão nessa janela, que você pode
redimensionar para ter uma visão melhor. A guia "Arquivos" também mostra os arquivos no
seu computador como uma maneira de acessar os scripts R que você escreveu anteriormente.
Tenha cuidado ao excluir arquivos nesta janela os exclui do seu computador (Figura 2.10).
26
diretamente do URL. Agora você só precisa ter certeza de que a visualização do Data Frame
parece correta (Figura 2.11).
Pacotes
Embora muitas funções úteis estejam incluídas na “base R”, usuários e desenvolvedores
podem criar e enviar seus próprios pacotes complementares com funções e conjuntos de dados
especializados. O acesso a esses pacotes requer duas etapas: instalar o pacote no seu
computador (só precisa ser feito uma vez) e carregar a biblioteca no seu espaço de trabalho
(precisa ser feito toda vez que você abre o RStudio). Por exemplo, muitos especialistas As
funções de plotagem estão incluídas no ggplot2. Os pacotes podem ser instalados por ponto e
clique no RStudio. Primeiro clique em "Ferramentas" e selecione "Instalar pacotes" (Figura
2.12).
27
Figura 2.12 – Interface de importação de pacotes
Comece a digitar o nome do pacote. Você pode ver as opções de conclusão automática
aparecerão. Recomenda-se deixe a caixa "Instalar dependências” marcadas, pois isso instalará
automaticamente todos os pacotes necessários para execute o pacote desejado. Clique em
"Instalar".
Algumas mensagens de aviso podem aparecer se o pacote foi criado sob uma versão R
diferente ou se outros pacotes são instalados devido a dependências. Podem ocorrer erros
nesta etapa; leia a seção texto que aparece em vermelho. Quando o pacote for instalado com
sucesso, você verá uma mensagem no console que diz:
Para usar o pacote, você deve usar a biblioteca de funções () para carregar o pacote
desejado toda vez que reabra o RStudio. As bibliotecas não serão carregadas automaticamente
sempre que você usar o RStudio.
Exemplos básicos
R executa o código linha por linha. Ou seja, você diz uma coisa, e faz isso
imediatamente. (Às vezes, se a nossa “Linha” de código é longa, na verdade, será escrita como
várias linhas em uma página, mas R a trata como uma sentença de código muito longa). Com
números, podemos usar R como uma calculadora. A seguir, é apresentado um exemplo do que
aparece na janela do console quando digitamos 3 + 7 e pressionamos enter (Figura 2.13).
28
Figura 2.13 – Exemplo de operações em R
Também podemos armazenar objetos usando nomes. Vemos isso com mais frequência
nesta classe com quadros de dados nomeados (também conhecido como conjuntos de dados).
Também armazenaremos tabelas, saída de função ou valores únicos. Um exemplo simples é o
código a seguir:
Este é um exemplo em que posso querer armazenar o erro padrão para uma proporção
de amostra de 0,75 com 200 observações como "se" no meu espaço de trabalho. Isso é
conveniente se eu vou usá-lo repetidamente em equações Você notará que, se você executar
esta linha de código, nenhuma saída será exibida no seu console. Mas um novo "Valor" aparece
no seu espaço de trabalho, chamado se. Você também pode usar "=" para atribuir valores ao
invés de "←". O livro tende a usar "=", mas muitos preferem usar a seta como uma convenção;
enquanto você escreve mais código, você tenderá a desenvolver seu próprio estilo. Observe
que R diferencia maiúsculas de minúsculas. O objeto se não é o mesmo que SE.
Usando funções
Duas funções que comumente utilizadas são lm e plot. A função lm é usada para
regressão linear simples e múltipla e leva muitos argumentos ou entradas possíveis, embora
normalmente usemos apenas dois: a fórmula (declaração do modelo) e o conjunto de dados.
lm (fórmula, dados)
Ao usar as funções R, você pode especificar qual argumento é qual pelo nome ou com
29
base na ordem de inserindo informações. Para entradas de função, você também pode truncar
os nomes. Ou seja, todos os seguintes darão resultados equivalentes:
Uma lista de possíveis funções que começam com "l" será exibida. Informações sobre a
função selecionada aparecem à direita. Você também pode usar o preenchimento automático
quando não se lembrar dos nomes dos argumentos da função. Pressione Enter enquanto o
cursor estiver entre parênteses.
Pode ser realmente tentador digitar tudo diretamente no console - e se você estiver
executando apenas uma ou duas linhas de uma análise que você nunca repetirá isso pode ser
bom. No entanto, ao fazer trabalhos de casa e projetos, será essencial ter uma cópia do código
que você executou. É uma boa ideia mantê-las e até adicionar comentários e anotações de sua
preferência. Vantagens de escrever código na janela de script:
Os scripts têm a extensão de arquivo ".R". Se você não possui o R instalado no seu
computador, pode ver .R arquivos usando um editor de texto como o Bloco de notas (embora
você veja apenas texto sem formatação, não cores). Texto simples arquivos (.txt) também
podem ser abertos no RStudio como arquivos de script. Uma das grandes vantagens dos
arquivos de script é a capacidade de incluir comentários. Estas são notas inseridas junto com os
30
comandos R que não serão executados em R.
Os comentários podem ocupar uma linha inteira ou o final de uma linha. Qualquer coisa
após #, mas antes que uma nova linha seja comentou e não será executado quando você
pressionar "Ctrl + Enter" ou "Ctrl + R". E se você digitar algo no console e decidir que deseja
mantê-lo como parte do seu script? Em vez de redigitar tudo, copie e cole diretamente do
console OU use o Guia "Histórico", que está no mesmo painel da guia "Área de trabalho".
Clique onde deseja inserir a linha no seu script; destaque a linha desejada na guia "Histórico" e
clique em. A linha será copiada e colado onde seu cursor clicou pela última vez em seu script.
Isso é especialmente útil se você carregar um espaço de trabalho, pacote ou dados por apontar
e clicar. O RStudio gera uma linha de código que você pode usar para repita esta ação no
futuro.
Considerações Finais
Neste estudo abordamos duas ferramentas para trabalhar com as duas linguagens mais
conhecidas para ciência de dados R e Python. Para isso, aprendemos a utilizar as ferramentas
Jupyter Notebook e RStudio para trabalhar, respectivamente, com Python e R. Ambas as
ferramentas podem ser utilizadas para a aprendizagem, tanto em sala de aula, quanto em casa
ou laboratório. Podem ser utilizadas de maneira profissional para criação de análises ou
modelos. Além disso, essas ferramentas podem ser utilizadas no ambiente acadêmico para
pesquisa, escrita de relatórios e artigos científicos.
31
UNIDADE 3 – Business Intelligence
Objetivos de aprendizagem
Aprender sobre o Power BI
Aprender sobre o Tableau
Comparar as duas ferramentas
Microsoft Power BI
A Microsoft apresentou a ideia de autoatendimento Business Intelligence (BI) em 2009,
anunciando o Power Pivot para Microsoft Excel 2010. Estranhamente, naquela época, não fazia
grandes anúncios, realizar conferências ou realizar uma grande campanha de marketing para
isso. Tudo começou devagar, com alguns usuários entusiasmados adotando a nova tecnologia,
mas a vasta A maioria das pessoas nem sabia sobre o sua existência. Como parte da
comunidade de BI profissionais, ficamos muito surpresos com isso abordagem. Naquela época,
podíamos ver claramente as vantagens para os usuários começarem a adotar o Power Dinamize
como uma ferramenta para coletar informações de dados, então essa completa falta de
marketing foi um pouco decepcionante (RUSSO e FERRARI, 2019).
Assim, por vários anos nós (como comunidade) mantivemos perguntando à Microsoft o
que eles estavam esperando; qual foi o atraso na promoção do BI de autoatendimento para o
maior público de analistas de dados, dados cientistas, tomadores de decisão e entusiastas de
BI, todos sobre o planeta. Pedimos a capacidade de compartilhar relatórios com uma equipe, e
a resposta foi usar SharePoint, local ou online versão, com o primeiro lançamento do Power BI -
uma experiência que ainda não estava completamente satisfatório. Enquanto esperávamos
pela Microsoft corrigir os problemas com as versões anteriores e começar a anunciar os
produtos atuais, foi fazendo algo diferente que, com o benefício retrospectivamente, parece ter
sido a perfeita escolha. A Microsoft coletou o feedback de usuários, consideraram
cuidadosamente o que estava faltando mundo do BI do usuário final e, em seguida, criou a
versão do Power BI que está disponível para você hoje.
32
carregar dados de fontes de diferentes e construção da infraestrutura necessária para fornecer
a todos os entusiastas de BI uma estrutura com a qual eles podem crescer relatórios,
compartilhe-os com suas equipes e atualize os dados de uma maneira simples, mas eficaz.
Vamos iniciar com algo bem simples. Vamos inserir alguns dados no Power BI e realizar
algumas análises para ver o resultado. Essa é a interface padrão do Power BI. Ela é muito
parecida com todos os produtos Microsoft Office. Com isso, a curva de aprendizagem tende a
ser menor e mais simples. Para criarmos nosso primeiro exemplo com o Power BI, vamos inserir
alguns dados para testar as funcionalidades. Para isso, clique em “Inserir Dados” (Figura 3.1).
Uma interface parecida com a seguir deve aparecer. Coloque os dados conforme
indicado na figura e clique em carregar (Figura 3.2).
33
Figura 3.2 – Interface para inserção de dados
34
Podemos criar facilmente um gráfico de barras com os dados de entrada simplesmente
clicando no ícone de gráficos de barra (Figura 3.4).
Podemos facilmente criar um dashboard com o Power BI. Para isso, basta termos os
dados relacionados e escolher a melhor visualização para esses dados (Figura 3.6).
35
Figura 3.6 – Exemplo de dashboard
Você pode adicionar medidas aos seus dados para enriquecer o seu modelo. Digamos
que você queria saber qual a media de vendas de um determinado produto. Para isso, clique
sobre a relação Vendas com o botão diretito e adicione uma medida. Na caixa de dialogo que
surgir digite o seguinte comando (Figura 3.7):
Medida = AVERAGE(Vendas[Venda])
36
Clique em confirmar. Adicione uma tabela ao seu dashboard e vincule essa coluna a essa
tabela conforme a figura a seguir (Figura 3.8).
Dessa forma, com um pouco de criatividade você pode montar os mais variados
dashboards de maneira rápida e fácil. Veja um exemplo abaixo (Figura 3.8).
37
Claro que depois de tudo montado você vai desejar apresentar esses painéis para seus
usuários. O Power BI permite isso por meio do recurso de publicação. Para isso, clique em
Publicar. Uma janela parecida com a seguir deve aparecer (Figura 3.9).
Aqui você informa o seu servidor de relatórios para onde o seu dashboard será
publicado e a quaisquer alterações dos dados, as mesmas serão apresentados aos usuários
finais (RUSSO e FERRARI, 2019).
Tableau
O Tableau é uma plataforma incrível para ver, entender e tomar decisões importantes
com base nos seus dados. Com ele, você será capaz de alcançar uma incrível descoberta de
dados, análise e narração de dados. Você realizará essas tarefas e objetivos visualmente usando
uma interface projetada para um fluxo natural e contínuo de pensamento e trabalho. Para
aproveitar o poder do Tableau, você não precisa escrever scripts ou consultas complexas. Em
vez disso, você estará interagindo com seus dados em um ambiente visual onde tudo você
arrastar e soltar será traduzido nas consultas necessárias para você e depois exibido
visualmente. Você estará trabalhando em tempo real, para ver resultados imediatamente,
obter respostas o mais rápido que puder fazer perguntas e poder iterar através de dezenas de
maneiras de visualizar os dados para encontrar um insight importante ou contar uma parte da
história (SLEEPER, 2018).
38
Este capítulo apresenta os princípios fundamentais do Tableau. Vamos passar por uma série
de exemplos que introduzirão os conceitos básicos de conexão com dados, explorando e
analisando os visualmente os dados e, finalmente, reunindo tudo em um painel totalmente
interativo. Estes conceitos serão desenvolvidos muito mais extensivamente nos capítulos
subsequentes. Mas não pule isso capítulo, pois apresenta a terminologia e os conceitos-chave,
incluindo o seguinte:
O ciclo da análise
Conectando aos dados
Fundamentos para criar visualizações
Criando gráficos de barras
Criando gráficos de linhas
Criando visualizações geográficas
Usando o Show Me
Reunindo tudo através de um painel
O ciclo da análise
Como alguém que trabalha e procura entender dados, você se encontrará trabalhando
dentro do ciclo de análise. Esse ciclo pode ser ilustrado da seguinte maneira (Figura 3.10):
Descoberta
de Dados
Preparação
Storytelling Visualização dos Dados
Análise dos
Dados
O Tableau permite saltar para qualquer etapa do ciclo, mover-se livremente entre as etapas
e iterar através do ciclo muito rapidamente. Com o Tableau, você pode fazer o seguinte:
Descoberta de dados: você pode explorar muito facilmente um conjunto de dados
usando o Tableau e começar a entender quais dados você possui visualmente.
Preparação de dados: o Tableau permite conectar-se aos dados de diversas fontes e, se
necessário, crie uma estrutura que funcione melhor para sua análise. Na maioria das
vezes, isso é tão fácil quanto apontar o Tableau para um banco de dados ou abrir um
39
arquivo, mas o Tableau oferece as ferramentas para reunir mesmo complexos e
confusos dados de várias fontes.
Análise de dados: o Tableau facilita a visualização dos dados, para que você possa ver e
entender tendências, outliers e relacionamentos. Além disso, o Tableau tem um
conjunto cada vez maior de funções analíticas que permitem mergulhar profundamente
compreensão de relacionamentos, padrões e correlações complexos nos dados.
Contagem de histórias de dados: o Tableau permite criar painéis totalmente interativos
e histórias com suas visualizações e ideias para que você possa compartilhar a história
de dados com outros.
Tudo isso é feito visualmente. A visualização de dados é o coração do Tableau. Você pode
iterar através de inúmeras maneiras de visualizar os dados para fazer e responder perguntas,
criar perguntas e obter novas ideias. E você fará isso como um fluxo de pensamento. Vamos ver
alguns detalhes de como criar dashboards no Tableau. Para isso, vamos utilizar os mesmos
dados do exemplo do Power BI (Tabela 3.1).
O Tableau possui diversas maneiras de aquisição de dados que vão desde arquivos
textos até bancos de dados completos. Neste caso, vamos utilizar uma planilha do Excel como
fonte de dados. Coloque esses dados em uma planilha, vá ao Tableau e clique em conectar a
um arquivo do Microsoft Excel (SLEEPER, 2018) (Figura 3.11).
#REFLITA#
Quais seriam todas as fontes de dados possíveis a serem utilizadas?
#REFLITA#
40
Figura 3.11 – Interface principal do Tableau
Depois disso, selecione o seu arquivo e o resultado deve ser como a imagem a seguir
(Figura 3.12).
Note que neste momento temos algumas opções. Uma das mais interessantes é o tipo
de conexão que pode ser em tempo real (ou seja, alterações no arquivo refletem no Tableau) e
extração (ou seja, uma cópia dos dados será criada). Pronto, com isso temos nossos dados e
podemos começar nossas análises. Para isso, clique na planilha 1 conforme abaixo (Figura 3.13).
41
Figura 3.13 – Planilha para edição das análises
42
Agora clique na medida Vendas e arraste para cima da linha abaixo dos estados. O
resultado deverá ser algo do tipo (Figura 3.15):
43
Interessante, não? Vamos imaginar agora o seguinte, queremos mais visualizações
diferentes dos mesmos dados. Para isso, precisamos entender dois conceitos importantes: (a)
planilhas e (b) painéis (SLEEPER, 2018). As planilhas são onde construímos cada perspectiva do
dado. Por exemplo, na planilha anterior construímos uma visualização por mapa. Mas digamos
que queiramos ver um gráfico de pizza dessas vendas por estado, o resultado seria algo como a
imagem a seguir (Figura 3.17).
E imagine que não satisfeitos, gostáramos de um gráfico de boxplot (aqueles que são
utilizados para mostrar as cotações da bolsa de valores). Dessa forma, teríamos algo do tipo
(Figura 3.18):
44
Figura 3.18 – Criação do gráfico de boxplot
Agora, o segundo conceito, o painel serve para agrupar tudo isso. Vamos criar um
clicando em “Novo Painel”. Depois disso, vamos acomodar nossas planilhas neste painel de
acordo com nossa necessidade. O resultado deve ser algo como mostrado pela figura abaixo
(Figura 3.19).
Além disso, dispomos de um recurso de apresentação que pode ser explorado para sai
do modo edição para um modo mais limpo, destinado ao usuário final. Para isso, pressione F7.
O resultado deve ser como o da figura a seguir (Figura 3.20).
45
Figura 3.20 – Apresentação de um exemplo de dashboard
Perceba que você pode posicionar o mouse em cima de cada elemento e novas
informações serão exibidas. Tudo isso de uma maneira muito simples e direta. Agora, vamos
supor que nossos dados sejam atualizados, para digamos o mostrado na tabela abaixo (Tabela
2).
Vamos ver como o Tableau apresenta esses novos dados (Figura 3.21).
46
Figura 3.21 – Novos dados sendo apresentados no dashboard
Muito bom não? Da mesma forma que o Power BI, o Tableau possui a funcionalidade de
publicação dos painéis criados. Para isso, basta clicar em compartilhar a pasta de trabalho. Uma
janela como a seguir deve surgir (Figura 3.22):
Então basta você colocar o nome do servidor que será utilizado e o Tableau irá publicar
a análise para os demais usuários. Outro ponto importante do Tableau é a possibilidade de criar
filtros. Vamos criar uma nova planilha e adicionar uma tabela que mostre as vendas de um
produto por estado. Depois disso, adicione um filtro conforme a figura a seguir (Figura 3.23):
47
Figura 3.23 – Criação de um filtro de dados
Clique em “Ok”. Pronto, já podemos utilizar o filtro. Para isso, vá ao painel e adicione
essa planilha no mesmo conforme a figura a seguir (Figura 3.24).
48
Figura 3.24 – Edição do dashboard com o filtro de dados
Perceba o filtro ao lado direito disponível. Vamos ver ele em execução agora. Pressione
F7 e vamos para o modo apresentação. Desmarque o estado do PR no filtro e veja o resultado
(Figura 3.25).
49
Considerações de desempenho
O Tableau aplica muitas boas práticas visuais por padrão e, para análise rápida, você
provavelmente não se preocupará muito em alterar muitos desses padrões. No entanto, como
você considera como melhor comunicar a história de dados que você descobriu, convém
considerar como aproveite tudo, de fontes e texto a cores e design, para que você possa se
comunicar bem com o seu público. As opções de formatação do Tableau oferecem bastante
flexibilidade. Fontes, títulos, legendas, cores, faixas e linhas, rótulos, sombreamento, anotações
e muito mais, todos podem ser personalizado para fazer suas visualizações contarem uma
história impressionante.
50
Público: quem é o público e quais são as necessidades dele?
Objetivo: O objetivo é evocar uma resposta emocional ou expor os fatos de uma
decisão apaixonada? Você está destacando uma ação que precisa ser executada ou
simplesmente tentando gerar interesse em um tópico?
Configuração: este é o ambiente no qual a história de dados é comunicada. É uma
reunião formal de negócios em que o formato deve refletir um alto nível de
profissionalismo? Será compartilhado em um blog informalmente?
Modo: Como as visualizações serão apresentadas? Você quer ter certeza de linhas,
colunas, fontes e marcas são grandes o suficiente para um projetor ou compactas o
suficiente para um iPad. Se você estiver publicando no Tableau Server, Tableau Online
ou Tableau Público, então você selecionou fontes seguras para a web? Você precisará
usar o designer do dispositivo para criar versões diferentes de um painel?
Humor: certas cores, fontes e layouts podem ser usados para definir um clima. Os dados
contam uma história que deve invocar certa resposta do seu público? O vermelho, por
exemplo, pode denotar perigo, resultados negativos ou indicam que uma ação é
necessária. No entanto, você precisará estar sensível ao seu público e ao contexto
específico. As cores têm diferentes significados em diferentes culturas e em diferentes
contextos. Em algumas culturas, vermelho pode indicar alegria ou felicidade. Além
disso, o vermelho pode não ser uma boa opção para comunicar negatividade se for a cor
do logotipo da empresa.
Consistência: geralmente, use as mesmas fontes, cores, formas, espessura de linha e
formação de faixas em todas as visualizações. Isto é especialmente verdade quando eles
vão ser vistos juntos em um painel ou mesmo usados na mesma pasta de trabalho. Você
pode considerar também como permanecer consistente em toda a organização sem
sendo muito rígido.
Todas essas considerações informarão suas decisões de design e formatação. Como com
tudo o mais que você faz com o Tableau, pense no design como um processo iterativo. Buscar
feedback frequentemente do seu público-alvo e ajuste suas práticas conforme necessário para
garantir sua comunicação seja o mais clara e eficaz possível. Todo o objetivo da formatação é
comunicar com mais eficácia os dados.
51
completo. Em outros casos, você precisará trazer os instantâneos juntos para comunicar uma
história completa e convincente ao seu objetivo público (SLEEPER, 2018).
Considerações Finais
Neste estudo aprendemos duas das mais conhecidas ferramentas (e linguagens) para
Data Science; O Jupyter Notebook e O RStudio. Ambas as ferramentas podem ser utilizadas de
forma profissional, acadêmica ou para fins educacionais. Todas tem versão gratuita e pagas e
podem ser utilizadas nos mais variados cenários para a ciência de dados. Além disso, essas
ferramentas são muito demandadas pelos profissionais e empresas da área.
52
UNIDADE 4 – Ferramentas de Big Data
Objetivos de aprendizagem
Aprender sobre a análise com muitos dados
Aprender sobre o Apache Hadoop
Aprender sobre o DataCleaner
Apache Hadoop
Vivemos na era dos dados. Não é fácil medir o volume total de dados armazenados
eletronicamente, mas uma estimativa da IDC colocou o tamanho do "universo digital" em 0,18
zettabytes em 2006 e prevê um crescimento de dez vezes em 2020 para 1,8 zettabytes. Um
zettabyte é 1021 bytes, ou equivalente a mil exabytes, um milhão de petabytes ou um bilhão
terabyte. Essa é cerca da mesma ordem de magnitude que uma unidade de disco para cada
pessoa no mundo (WHITE, 2015).
Portanto, existem muitos dados por aí. Mas você provavelmente está se perguntando
como isso afeta você. A maioria dos dados está bloqueada nas maiores propriedades da web
(como mecanismos de pesquisa) ou instituições científicas, ou financeiras, não é? O advento do
"Big Data", como está sendo chamado, afeta organizações ou indivíduos menores? Argumento
que sim. Tirar fotos, por exemplo. O avô da minha esposa era um ávido fotógrafo e tirou
fotografias ao longo de sua vida adulta. Todo o seu corpus de médio formato, slide e filme de
35 mm, quando digitalizados em alta resolução, ocupam cerca de 10 gigabytes. Compare isso
com as fotos digitais que minha família tirou no ano passado, que ocupam cerca de 5 gigabytes
de espaço. Minha família está produzindo dados fotográficos 35 vezes a taxa do avô de minha
esposa, e a taxa está aumentando a cada ano fica mais fácil tirar mais e mais fotos.
De maneira mais geral, os fluxos digitais que os indivíduos estão produzindo estão
crescendo rapidamente. O projeto MyLifeBits da Microsoft Research oferece um vislumbre do
arquivamento de informações pessoais que podem se tornar comuns em um futuro próximo.
MyLifeBits foi um experimento onde as interações de um indivíduo - telefonemas, e-mails,
documentos - foram capturadas eletronicamente e armazenados para acesso posterior. Os
dados coletados incluíram uma foto tomada a cada minuto, o que resultou em um volume geral
de dados de um gigabyte por mês. Quando os custos de armazenamento diminuem o suficiente
para possibilitar o armazenamento contínuo áudio e vídeo, o volume de dados para um futuro
serviço MyLifeBits será muitas vezes maior (WHITE, 2015).
A tendência é que a pegada de dados de cada indivíduo aumente, mas talvez o mais
importante à quantidade de dados gerados por máquinas será ainda maior do que a gerada por
53
pessoas. Registros de máquinas, leitores RFID, redes de sensores, rastreamentos GPS de
veículos, varejo transações - tudo isso contribui para a crescente montanha de dados. O volume
de dados disponibilizados ao público também aumenta a cada ano. Organizações não precisam
mais apenas gerenciar seus próprios dados: o sucesso no futuro será ditado em grande parte
pela capacidade de extrair valor dos dados de outras organizações.
Embora ainda seja um serviço novo e experimental, mostra o tipo de coisas que são
possíveis quando dados (neste caso, imagens fotográficas marcadas) são disponibilizados e
usado para algo (análise de imagem) que não foi antecipado pelo criador. Já foi dito que "mais
dados geralmente superam algoritmos melhores", ou seja, para alguns problemas (como
recomendar filmes ou músicas com base em preferências anteriores), Por mais diabólicos que
sejam seus algoritmos, eles podem ser derrotados simplesmente por ter mais dados (e um
algoritmo menos sofisticado). A boa notícia é que o Big Data está aqui. A má notícia é que
estamos lutando para armazenar e analisar (WHITE, 2015).
É muito tempo para ler todos os dados em uma única unidade - e a gravação é ainda
mais lenta. A maneira óbvia de reduzir o tempo é ler vários discos ao mesmo tempo. Imagine se
tínhamos 100 unidades, cada uma contendo um centésimo dos dados. Trabalhando em
paralelo, poderíamos leia os dados em menos de dois minutos. Somente o uso de um
centésimo de disco pode parecer um desperdício. Mas podemos armazenar cem conjuntos de
dados, cada um com um terabyte, e fornecem acesso compartilhado a eles. Podemos imagine
54
que os usuários desse sistema ficariam felizes em compartilhar o acesso em troca de tempos de
análise mais curtos e, estatisticamente, que seus trabalhos de análise provavelmente seriam se
espalham ao longo do tempo, para que eles não interfiram demais. É possível ler e gravar dados
em paralelo para ou de vários discos. Apesar disso, o primeiro problema a ser solucionado é a
falha de hardware: assim que você começar a usar várias peças de hardware, a chance de um
fracassar é bastante alta. Uma maneira comum de evitar dados. A perda ocorre pela replicação:
cópias redundantes dos dados são mantidas pelo sistema para que em caso de falha, há outra
cópia disponível. É assim que o RAID funciona, por exemplo, embora o sistema de arquivos do
Hadoop, o Hadoop Distributed Filesystem (HDFS), adota uma abordagem um pouco diferente,
como você verá mais adiante (WHITE, 2015).
O segundo problema é que a maioria das tarefas de análise precisa ser capaz de
combinar os dados em de alguma maneira; os dados lidos de um disco podem precisar ser
combinados com os dados de qualquer dos outros 99 discos. Vários sistemas distribuídos
permitem combinar dados de várias fontes, mas fazer isso corretamente é notoriamente
desafiador. O MapReduce fornece um modelo de programação que abstrai o problema das
leituras e gravações do disco, transformando-o em uma computação sobre conjuntos de chaves
e valores. Vamos olhar para os detalhes desse modelo em capítulos posteriores, mas o ponto
importante para a presente discussão é que existem duas partes na computação, o mapa e a
redução, e é a interface entre os dois onde ocorre a "mistura". Como o HDFS, o MapReduce
tem confiabilidade embutida.
Em resumo, é isso que o Hadoop fornece: um armazenamento e análise compartilhados
confiáveis sistema. O armazenamento é fornecido pelo HDFS e a análise pelo MapReduce. Ha
outras partes para o Hadoop, mas esses recursos são seu kernel.
55
O Nutch foi iniciado em 2002, e um sistema de rastreamento e pesquisa em
funcionamento rapidamente emergiu. No entanto, eles perceberam que sua arquitetura não
chegaria a bilhões de páginas na web. A ajuda estava à mão com a publicação de um artigo em
2003 que descrevia a arquitetura do sistema de arquivos distribuído do Google, chamado GFS,
que estava sendo usado em produção no Google. # GFS, ou algo assim, resolveria suas
necessidades de armazenamento para os arquivos muito grandes gerados como parte do
processo de indexação e rastreamento da web. Em particular, O GFS liberaria tempo gasto em
tarefas administrativas, como gerenciamento de nós de armazenamento. Em 2004, eles
começaram a escrever uma implementação de código aberto, o Sistema de arquivos
distribuídos da Nutch (NDFS) (WHITE, 2015).
Em janeiro de 2008, o Hadoop fez seu próprio projeto de nível superior no Apache,
confirmando seu sucesso e sua comunidade diversificada e ativa. Por esse timem, o Hadoop
estava sendo usado por muitas outras empresas além do Yahoo!, como Last.fm, Facebook e
Nova York Times. Em uma façanha bem divulgada, o New York Times usou a nuvem de
computação EC2 de a Amazon analisar quatro terabytes de arquivos digitalizados do papel,
convertendo-os para PDFs para a Web. O processamento levou menos de 24 horas para ser
executado usando 100 máquinas, e o projeto provavelmente não teria sido iniciado sem a
combinação do modelo de pagamento por hora da Amazon (que permitia ao NYT acessar um
grande número de máquinas por um curto período) e a programação paralela fácil de usar do
modelo Hadoop.
Em abril de 2008, o Hadoop quebrou um recorde mundial para se tornar o sistema mais
rápido a classificar um terabyte de dados. Executando em um cluster de 910 nós, o Hadoop
classificou um terabyte em 209 segundos (pouco menos de 3½ minutos), superando o vencedor
do ano anterior, de 297 segundos (descrito em detalhes em “Classificação do TeraByte no
Apache Hadoop” na página 461). Em novembro No mesmo ano, o Google informou que sua
implementação do MapReduce classificou um terabyte em 68 segundos.§ Como este livro
estava sendo publicado (maio de 2009), foi anunciado que uma equipe do Yahoo! usou o
Hadoop para classificar um terabyte em 62 segundos (WHITE, 2015).
56
Hoje, o Hadoop é uma coleção de subprojetos relacionados que se enquadram no guarda-
chuva de infraestrutura para computação distribuída. Esses projetos são hospedados pelo
Apache Soft Foundation, que fornece suporte para uma comunidade de software de código
aberto. Embora o Hadoop seja mais conhecido pelo MapReduce e seu sistema de arquivos
distribuído (HDFS, renomeado para NDFS), os outros subprojetos fornecem serviços
complementares, ou desenvolva o núcleo para adicionar abstrações de nível superior. Os
subprojetos e onde eles na pilha de tecnologia, são mostrados a seguir e descritos brevemente
aqui (WHITE, 2015) (Figura 4.1):
Core - Um conjunto de componentes e interfaces para sistemas de arquivos distribuídos
e E/S geral (serialização, Java RPC, estruturas de dados persistentes).
Avro - Um sistema de serialização de dados para RPC eficiente, entre idiomas e
armazenamento de dados persistentes. (No momento da redação deste material, o Avro
havia sido criado apenas como um novo subprojeto, e nenhum outro subprojeto
Hadoop o estavam usando ainda).
MapReduce - Um modelo de processamento de dados distribuído e ambiente de
execução que são executados em grandes aglomerados de máquinas de mercadorias.
HDFS - Um sistema de arquivos distribuído que roda em grandes grupos de máquinas
comuns.
Pig - Uma linguagem de fluxo de dados e ambiente de execução para explorar conjuntos
de dados muito grandes. O Pig é executado nos clusters HDFS e MapReduce.
HBase - Um banco de dados distribuído, orientado a colunas. O HBase usa o HDFS como
base de armazenamento e suporta cálculos em estilo de lote usando MapReduce e
point consultas (leituras aleatórias).
ZooKeeper - Um serviço de coordenação distribuído e altamente disponível. O
ZooKeeper fornece primitivas como bloqueios distribuídos que podem ser usados para
criar aplicativos distribuídos.
Hive - Um armazém de dados distribuído. O Hive gerencia os dados armazenados no
HDFS e fornece um linguagem de consulta baseada em SQL (e traduzida pelo
mecanismo de tempo de execução para Tarefas MapReduce) para consultar os dados.
Chukwa - Um sistema de coleta e análise de dados distribuídos. Chukwa administra
colecionadores que armazenar dados no HDFS e usa o MapReduce para produzir
relatórios. (No momento desta Ao escrever, Chukwa havia acabado de se formar
recentemente de um módulo "contrib" no Core para seu próprio subprojeto)
57
Figura 4.1 – Arquitetura do Apache Hadoop
MapReduce
Para o nosso exemplo, escreveremos um programa que extrai dados dos discursos dos
presidentes brasileiros. A coleta de dados é feita via arquivos no formato texto (TXT) que
contem, de forma integral, os discursos dos presidentes brasileiros. Nosso objetivo é identificar
a quantidade de vezes que uma determinada palavra foi utilizada nos discursos. Além da
questão computacional temos uma questão prática, entender se os discursos são parecidos.
Formato de dados
Vamos analisar um dos arquivos utilizados. A seguir temos um excerto do discurso de
posse de um dos presidentes do Brasil.
Senhor presidente do Supremo Tribunal Federal, ministro Cezar
Peluso, Senhoras e senhores chefes das missões estrangeiras,
Senhoras e senhores ministros de Estado, Senhoras e senhores
governadores, Senhoras e senhores senadores, Senhoras e senhores
deputados federais, Senhoras e senhores representantes da
58
imprensa, Meus queridos brasileiros e brasileiras, Pela decisão
soberana do povo, hoje será a primeira vez que a faixa
residencial cingirá o ombro de uma mulher.
Passos para o processamento
O primeiro passo é obter o arquivo discurso.txt (ele está em seu material). Depois disso,
com o Apache Hadoop corretamente instalado e configurado, vamos criar os diretórios para
processamento. Assumindo que o seu diretório de instalação seja o C:\hadoop-3.2.1, crie um
diretório conforme abaixo:
C:\hadoop-3.2.1\data\dfs
mkdir namenode
mkdir datanode
Depois disso, vamos formatar o sistema de arquivos para permitir a leitura e escrita para
o processamento. O comando para a formatação é:
Feito isso, o sistema de arquivos está pronto para ser utilizado. Agora vamos iniciar o
ambiente do Hadoop para iniciar o processamento.
cd C:\hadoop-3.2.1\etc
.\hadoop\hadoop-env.cmd
cd C:\hadoop-3.2.1\sbin
.\start-dfs.cmd
Depois disso, vamos iniciar o gerenciador Yarn para permitir a visualização dos dados
processados e os eventuais logs de processamento.
.\start-yarn.cmd
Pronto! Nosso ambiente está configurado e pronto para a execução. Para isso, vamos
criar um diretório para a entrada de dados da seguinte forma:
Depois disso, copie o arquivo discurso.txt para o diretório input da seguinte forma:
59
Agora vem a parte mais legal de todas: vamos analisar o discurso e identificar quais são
as palavras mais utilizadas. O mapeamento se encarrega de identificar as palavras utilizadas
enquanto a redução em contar a quantidade de vezes. Isso é feito pelo comando a seguir:
Para visualizar o resultado, vamos verificar o que foi gerado no sistema de arquivos da
seguinte forma:
hdfs dfs -ls output
Agora podemos verificar o conteúdo de um dos arquivos gerados da seguinte forma:
hdfs dfs -cat output/part-r-00000
#ATENÇÃO#
Todos os comandos devem ser executados com permissão de administrador.
#ATENÇÃO#
Fluxo de dados
60
na configuração em formação. O Hadoop executa o trabalho dividindo-o em tarefas, das quais
existem dois tipos: mapeie tarefas e reduza tarefas.
Mesmo se as máquinas forem idênticas, processos com falha ou outros trabalhos sendo
executados simultaneamente tornar desejável o balanceamento de carga, e a qualidade do
balanceamento de carga aumenta à medida que as divisões se tornam mais refinadas. Por
outro lado, se as divisões forem muito pequenas, a sobrecarga de gerenciar as divisões e A
criação da tarefa de mapa começa a dominar o tempo total de execução da tarefa. Para a
maioria dos trabalhos, um bom tamanho de divisão tende a ser o tamanho de um bloco HDFS,
64 MB por padrão, embora isso possa ser alterado para o cluster (para todos os arquivos
criados recentemente) ou especificado quando cada arquivo é criado (WHITE, 2015).
O Hadoop faz o possível para executar a tarefa de mapeamento em um nó no qual os
dados de entrada residem HDFS. Isso é chamado de otimização da localidade dos dados. Agora
deve ficar claro porque o tamanho ideal de divisão é igual ao tamanho do bloco: é o maior
61
tamanho de entrada que pode ser garantido para ser armazenado em um único nó. Se a divisão
tivesse dois blocos, seriam improvável que qualquer nó do HDFS tenha armazenado os dois
blocos, portanto, parte da divisão teria que ser transferido pela rede para o nó que executa a
tarefa de mapa, que é claramente menos eficiente do que executar toda a tarefa do mapa
usando dados locais (WHITE, 2015).
As tarefas de mapa gravam sua saída no disco local, não no HDFS. Por que é isso? A
saída do mapa é saída intermediária: é processada reduzindo tarefas para produzir a saída final
e, uma vez concluídas o trabalho, a saída do mapa pode ser descartada. Então, armazená-lo no
HDFS, com replicação, seria um exagero. Se o nó que está executando a tarefa de mapa falhar
antes da saída do mapa foi consumido pela tarefa de redução, o Hadoop automaticamente
execute novamente a tarefa de mapa em outro nó para recriar a saída do mapa. Reduzir tarefas
não tem a vantagem da localização dos dados - a entrada para uma única redução tarefa é
normalmente a saída de todos os mapeadores. No presente exemplo, temos um único reduza a
tarefa alimentada por todas as tarefas do mapa. Portanto, as saídas do mapa classificado têm
para ser transferido pela rede para o nó em que a tarefa de redução está em execução, em que
eles são mesclados e depois passados para a função de redução definida pelo usuário. A saída
da redução é normalmente armazenada no HDFS para maior confiabilidade. Assim, escrever a
saída reduzida faz consomem largura de banda da rede, mas apenas o pipeline de gravação
HDFS normal consome. Todo o fluxo de dados com uma única tarefa de redução é ilustrado na
Figura 2-2. O pontilhado caixas indica nós, as setas leves mostram transferências de dados em
um nó e as setas mostram transferências de dados entre nós. O número de tarefas de redução
não é controlado pelo tamanho da entrada, mas é especificado independentemente (Figura
4.3).
62
Quando existem vários redutores, as tarefas de mapeamento particionam sua saída,
cada uma criando uma partição para cada tarefa de redução. Pode haver muitas chaves (e seus
valores associados) em cada partição, mas os registros para cada chave estão todos em uma
única partição. O particionamento pode ser controlado por uma função de particionamento
definida pelo usuário, mas normalmente o particionador padrão - que agrupa chaves usando
uma função hash - funciona muito bem.
O fluxo de dados para o caso geral de várias tarefas de redução é ilustrado na Figura 2-3.
Este diagrama deixa claro por que o fluxo de dados entre mapear e reduzir tarefas é
coloquialmente conhecido como "a reprodução aleatória", pois cada tarefa de redução é
alimentada por muitas tarefas de mapa. O embaralhamento é mais complicado do que este
diagrama sugere, e ajustá-lo pode ter um grande impacto no tempo de execução da tarefa. Por
fim, também é possível ter zero reduzir tarefas. Isso pode ser apropriado quando você não é
necessário embaralhar, pois o processamento pode ser realizado totalmente em paralelo.
Nesse caso, o único A transferência de dados fora do nó ocorre quando as tarefas do mapa são
gravadas no HDFS (WHITE, 2015).
DataCleaner
Data Quality (DQ) é um conceito e um termo comercial que cobre a qualidade dos dados
utilizados para uma finalidade específica. Muitas vezes, o termo DQ é aplicado à qualidade dos
dados usados nas decisões de negócios, mas também pode se referir à qualidade dos dados
usados em pesquisas, campanhas, processos e muito mais. Trabalhar com a qualidade dos
dados normalmente varia muito de projeto para projeto, assim como os problemas na
qualidade dos dados variam muito. Exemplos de problemas de qualidade de dados incluem:
Dados completos
Correção de dados
Duplicação de dados
Uniformidade / padronização de dados
Uma definição menos técnica de dados de alta qualidade é que esses dados são de alta
qualidade "se forem adequados para os usos pretendidos em operações, tomada de decisão e
planejamento" (WHITE, 2015).
63
A análise da qualidade dos dados (DQA) é o processo (humano) de examinar a qualidade
dos dados para um processo ou organização específico. O DQA inclui elementos técnicos e não
técnicos. Por exemplo, para fazer um bom DQA, você provavelmente precisará conversar com
usuários, pessoas de negócios, organizações parceiras e talvez clientes. Isso é necessário para
avaliar qual deve ser o objetivo do DQA. Do ponto de vista técnico, a principal tarefa em um
DQA é a atividade de criação de perfil de dados, que o ajudará a descobrir e medir o estado
atual dos dados.
A maneira como você cria os perfis geralmente dependem se você já tem algumas ideias
sobre a qualidade dos dados ou se não tem experiência com o armazenamento de dados
disponível. De qualquer maneira, recomendamos uma abordagem exploratória, porque,
embora você ache que há apenas certa quantidade de problemas que precisa procurar, é a
nossa experiência (e o raciocínio por trás de muitos dos recursos do DataCleaner) que é tão
importante quanto verifique esses itens nos dados que você acha que estão corretos!
Normalmente, é barato incluir um pouco mais de dados em sua análise e os resultados podem
surpreendê-lo e poupar tempo! O DataCleaner compreende (entre outros aspectos) um
aplicativo de desktop para criar perfis de dados em praticamente qualquer tipo de
armazenamento de dados (WHITE, 2015).
64
Figura 4.4 – Acessos a dados
65
medida específica ultrapassar os limites permitidos ou, em alguns casos, você pode tentar
descartar o problema completamente aplicando os princípios FTR (First-Time-Right-Right) que
validam dados no momento da entrada. Por exemplo, em formulários de registro de dados e
muito mais.
A Ferramenta DataCleaner
66
Vamos iniciar o trabalho com a ferramenta. Para isso, realize o download na pagina do
fabricante faca a instalação em seu computador. AO iniciar a aliccao você devera ter uma tela
parecida com a seguir (Figura 4.5).
Depois disso, clique em um dos exemplos prontos chamado Customers. Ele vai trazer
um conjunto de dados para analisarmos. O resultado deve ser como o da figura a seguir (Figura
4.6).
67
Figura 4.6 – Dados utilizados para análise
Feito isso, clique em cima desse conjunto de dados para ver sua estrutura. A figura deve
ser algo com a seguir (Figura 4.7).
68
Agora, vamos realizar uma das mais variadas análises disponíveis dentro da ferramenta.
Para isso, expanda o meu Analyzer (Figura 4.8).
69
Figura 4.10 – A conexão entre o conjunto de dados e a funcionalidade
Após a execução, você deve ter um resultado parecido com esse que mostra a
distribuição de caracteres dentro das colunas do conjunto de dados (Figura 4.11).
70
Vamos realizar outra análise. Selecione a funcionalidade Value distribution, conecte-a e
ciente em executar (Figura 4.12).
Você deve ter um resultado parecido com o da figura a seguir (Figura 4.14).
71
O DataCleaner permite o entendimento dos dados antes de iniciar propriamente a
analise, criação de modelos, etc. É uma ferramenta de grande utilidade e deve estar em sua
caixa de ferramenta como cientista de dados.
#REFLITA#
O quão importante é analisar os dados antes de iniciar projetos de ciência de
dados?
#REFLITA#
Considerações Finais
Neste estudo aprendemos sobre duas ferramentas para lidar com grandes quantidades
de dados; o Apache Hadoop e o DataCleaner. Ambas devem ser consideradas em projetos que
envolvam muitos dados para permitir o processamento e o tratamento das informações
coletadas.
72
UNIDADE 5 – Gerenciamento
Objetivos de aprendizagem
Todas as ferramentas que vimos devem fazer parte do seu conjunto de ferramentas.
Cada uma delas é aplicada a um cenário especifico e resolvem problemas focados. Entretanto,
elas desempenham um papel importante juntas e devem ser consideradas. Por exemplo,
quando falamos em tratamento de dados, utilizamos o DataCleaner. Quando falamos de
processamento massivo de dados, Apache Hadoop. Quando falamos da criação de Dashboards,
Tableau e Power BI. Quando falamos em ciência de dados, Jupyter e RStudio. Cada uma é
destinada a um tipo de aplicação.
A seguir, vamos listar alguns cenários comuns de cada uma das ferramentas que
estudamos. A ordem neste momento não é importante.
RStudio
o Análise de dados, criação de modelos, criação de gráficos em R
Jupyter Notebook
o Análise de dados, criação de modelos, criação de gráficos em Python
Apache Hadoop
o Mapeamento e redução, processamento em paralelo, fluxo de trabalho para grandes
volumes de dados
DataCleaner
o Entendimento dos dados, análise, limpeza, transformação e correção
Power BI
o Criação de dashboards, análises, publicações para usuários finais
Tableau
o Criação de dashboards, análises, publicações para usuários finais
73
Cenários comuns de gerenciamento
#REFLITA#
Processos e métodos são importantes para um cientista de dados?
#REFLITA#
Considerações Finais
Nesse estudo aprendemos sobre coo gerenciar esse conjunto de ferramentas e como
colocá-las em uma forma ordenada para que cada uma realize o seu trabalho. Ao longo de todo
o nosso estudo vimos muitas ferramentas e conceitos para a ciência de dados. Esperamos que
isso tenha sido útil para você e que permita aprofundar nos estudos.
74
Referências
WHITE, Tom; Hadoop: The Definitive Guide: Storage and Analysis at Internet Scale 4th Edição,
O'Reilly Media, 2015
RUSSO, Marco; FERRARI, Alberto; The Definitive Guide to DAX: Business intelligence for
Microsoft Power BI, SQL Server Analysis Services, and Excel 2nd Edição, Microsoft Press; Edição:
2, 2019
SLEEPER, Ryan; Practical Tableau: 100 Tips, Tutorials, and Strategies from a Tableau Zen Master
1st Edição, Editora: O'Reilly Media; Edição: 1, 2018
FAWCETT, Tom; PROVOST, Foster; Data Science para Negócios: O que você precisa saber sobre
mineração de dados e pensamento analítico de dados, Alta Books, 2018.
75
Recursos
Blogs:
Data Science Central: http://www.datasciencecentral.com
KDD Nuggets: http://www.kdnuggets.com
Artigos sobre R: http://www.r-bloggers.com
Python Brasil: http://python.org.br
Ciência e Dados: http://www.cienciaedados.com
Estatística:
Statistics: http://www.statistics.com
Simply Statistics: http://simplystatistics.org
Machine Learning:
Deep Learning Book: http://deeplearning.net/
Deep Learning Book Brasil: http://www.deeplearningbook.com.br
76