Por que eu devo ler este artigo:Esse artigo é útil para estudantes e profissionais que desejam conhecer mais sobre a área de análise de dados, tanto na teoria como na prática. Análise de dados é utilizada em diferentes setores de nossas vidas, como saúde, segurança, eleições, marketing entre outras.
Este artigo irá tratar os principais conceitos sobre big data, big data analytics (análise de dados) e estatística descritiva. Além disso, irá discorrer sobre uma das ferramentas open source existentes no mercado para realizar análise de dados, o R Studio.
As empresas estão investindo cada vez mais nesse segmento e em profissionais, para melhorar seus processos e facilitar tomadas de decisão. A análise de dados também é muito utilizada para algoritmos de aprendizado de máquina.
O volume de dados gerados,
coletados e armazenados cresce constantemente, assim, novos métodos,
tecnologias e ferramentas são desenvolvidas para possibilitar que as empresas e
gestores possam analisar essa grande quantidade de registros coletados, auxiliando
nas tomadas de decisão, estratégias de marketing ou até mesmo na identificação
de fraudes entre outros casos.
Atualmente existem diferentes
ferramentas para análise de dados, tanto softwares privados, como SAS, SAP,
QlikView entre outras, quanto softwares livres, como Pentaho, Talend,
Jaspersoft, R entre outras. Uma observação a ser feita é sobre o R. Essa
ferramenta durante muito tempo foi utilizada por especialistas na área de
estatística, isso porque o objetivo desse software era atender a essa classe.
Mas, com o passar dos anos, diversos desenvolvedores começaram a utilizar essa
ferramenta, tornando-a atualmente uma das ferramentas mais utilizada para
analisar grandes quantidades de dados.
Pelo alto preço das ferramentas pagas
nessa área, empresas, desenvolvedores entre outros profissionais procuram
ferramentas open source bem sólidas
para realizar suas análises. Nessa imensidão de opções de softwares livres,
muitas vezes a maior dificuldade que se tem é em escolher e surge a seguinte
pergunta: “qual a melhor? ”. Como todo profissional sabe, não existe a melhor
ferramenta ou a melhor linguagem de programação, mas sim, as mais ideais para
os objetivos a serem alcançados.
Para analisar dados, apenas conhecer
linguagens de programação ou ferramentas não é o suficiente, o estudante ou
profissional que deseja atuar nessa área deve saber um pouco de cada coisa, além
de conhecer as ferramentas já citadas, banco de dados, metodologias, regras de
negócios e estatística. Ter conhecimentos de métodos estatísticos, gráficos,
entre outros, é essencial para realizar uma boa investigação dos dados, mesmo
as ferramentas muitas vezes possuindo funções para realizar os diferentes cálculos
existentes, o profissional deve saber quais métodos irá utilizar para cada
situação que se encontra.
A
estatística para análise de dados, algoritmos de aprendizado de máquina,
algoritmos de inteligência artificial entre outras áreas em ciência de dados, é
essencial. O profissional que atua nessa área irá a todo momento se deparar com
situações em que irá precisar aplicar métodos e/ou gráficos estatísticos, seja
para tomar alguma decisão, ou para identificar o que acontecer em determinado
caso, ou para ir mais adiante, como aplicar métodos de aprendizado de máquina.
O surgimento das linguagens de
programação, ferramentas e o crescente uso da estatística para analisar os
dados, deu-se por conta do constante crescimento do volume dos dados. Essa
grande quantidade de dados pode ser um big data, um conceito bem antigo, mas
que vem sendo divulgado e utilizado muito fortemente nos últimos anos. Muitos
ainda confundem do que realmente se trata big
data, se a empresa realmente possui um big
data ou possui apenas um grande conjunto de dados armazenados.
Esse artigo tem como objetivo
apresentar os principais conceitos de big data, análise de dados, estatística
descritiva e a ferramenta a ser utilizada para análise de dados, nesse caso a
linguagem de programação R, através da IDE RStudio.
Big Data
As empresas armazenam dados muito
antes de o termo big data explodir mundialmente. O que diferencia antigamente dos
dias atuais é a capacidade de trabalhar com esses dados, transformá-los em
conhecimentos úteis para as organizações.
Muitos confundem o fato de que se ter
muitos dados armazenados já se pode dizer que se tem um big data, e essa ideia muitas vezes está errada. Big data é uma
estratégia de gerenciamento de informações holística que incluem e integra
muitos tipos de dados e gerenciamentos de dados juntamente com dados
tradicionais. Doug Laney, um famoso analista que articulou a definição de big data, define que big data possui três V’s:
Volume:
coleta de dados de uma grande variedade de fontes, por exemplo, transações
comerciais, redes sociais, informações de sensores, e-mails entre outras;
Velocidade:
dados são gerados e coletados em uma velocidade sem precedentes e devem ser
tratados online, por exemplo, já existem alguns aplicativos de internet das
coisas (IoT) que possuem ramificações de saúde e segurança, então estes
requerem uma avaliação em tempo real;
Variedade:
os dados são gerados em todos os tipos de formatos, por exemplo, dados
estruturados (como aqueles presentes em banco de dados), dados não estruturados
(como e-mail, vídeos), comentários em redes sociais, transações financeiras entre
outros.
Essas três características são os
principais pilares para possuir um conjunto de dados do tipo big data, ou seja, quando se apenas
possui um grande volume de dados armazenados nem sempre se tem um big data, mas sim apenas um conjunto de
dados grande.
Com o crescente número de
dispositivos que irão fazer parte do “mundo” IoT, a utilização do big data irá crescer consideravelmente,
assim, a utilização de técnicas, ferramentas e profissionais para análise de
dados também irá crescer.
Data Analytics (Análise de dados)
Com o crescente número de dados
armazenados, troca de informações constantes e diferentes tipos de dados, é
necessário ter ferramentas e técnicas para analisá-los. Análise de dados é a atividade
de transformar um conjunto de dados em informações, com o objetivo de poder
conhecê-los melhor. Ao analisar os dados, tem-se uma melhor compreensão deles, então,
ao aplicar técnicas de análise para predição ou descrição, é possível verificar
o volume de dados disponível, a sua qualidade, os ruídos e até mesmo dados que
estão faltando para obter insights de qualidade.
O objetivo de data analytics é simples e direto, utilizar um conjunto de
ferramentas e métodos para coletar, organizar e analisar os dados, para obter insights valiosos sobre tendências,
comportamento e melhorar os processos de trabalho. Assim, é possível que as
organizações tomem decisões mais precisas e, sobretudo, antecipadas à
concorrência.
Ainda dentro do campo de análise de
grande conjunto de dados, há quatro tipos de análise que se destacam pela
usabilidade e potencialidade dos resultados, são elas: preditiva, prescritiva,
descritiva e diagnóstica. Em seguida, cada tipo será exemplificado:
Análise
preditiva: esse tipo de análise é conhecido por analisar os dados para
descobrir possibilidade futuras. Assim, ao identificar padrões passados na base
de dados, é possível aos gestores mapearem definições futuras em suas áreas de
atuação. Essa análise possibilita que os gestores tomem decisões mais precisas,
e não somente em intuição, conseguindo estabelecer um prognóstico mais sólido
para cada ação. Esse tipo de análise utiliza de técnicas de mineração de dados,
métodos estatísticos e dados históricos para conhecer futuras tendências. Um
exemplo do uso de análise preditiva foi um trabalho realizado por uma empresa de
Big Data, a Hekima, para analisar as redes sociais durante a copa do mundo. O
objetivo era prever as manifestações, saber quais estariam mais cheias, que
teriam o teor mais violento e quais seriam mais pacíficas. Então, era possível
que as autoridades competentes tomassem decisões mais exatas, aumentando as
chances sucesso em suas operações;
Análise
prescritiva: esse tipo de análise se assemelha com a análise preditiva, mas
com objetivo de traçar as possíveis consequências de cada ação (a análise
preditiva identifica tendências futuras). Esse tipo de análise é muito pouco
utilizado, de acordo com um artigo publicado pela Gartner, apenas 3% das
empresas fazem uso dela. Na maioria das vezes, utiliza-se pouco essa análise
por falta de conhecimento. Um exemplo de uso desse tipo de análise é na área de
saúde, quando gestores mapeiam e traçam padrões de um determinado grupo de
pacientes e doenças e, assim, analisam possíveis impactos de ações sobre esse
grupo, investigando qual seria a melhor opção de gestão para eles;
Análise
descritiva: essa análise possibilita a compreensão dos dados e dos
acontecimentos, de preferência em tempo real. É uma maneira de visualizar os
dados, entender como uma base de dados se organiza e o que significa, sem
necessariamente relacioná-los com padrões passados e futuros. Um exemplo do uso
na análise descritiva ocorre nas instituições financeiras para empréstimo: as
empresas a utilizam para realizar a análise de crédito dos clientes, assim, investigam
as informações coletadas de um cliente para compreender os riscos envolvidos na
concessão de empréstimo, definição de taxas de juros entre outros;
Análise
diagnóstica: esse tipo de análise tem como objetivo compreender de maneira
causal, ou seja, quem, quando, como, onde e por que, todas as possibilidades.
Um exemplo do uso dessa análise é nas campanhas de marketing: a análise diagnóstica
oferece um caminho mais curto e eficiente para que os profissionais avaliem os
impactos e o alcance das campanhas de marketing após sua realização.
Além desses conhecimentos, o
estudante ou profissional que tem interesse em ingressar na área de análise de
dados e as áreas correlatas, como BI, aprendizado
de máquina etc., tem que possuir um bom conhecimento em estatística. A seguir, serão
apresentados os principais conceitos de estatística e alguns dos métodos mais
utilizados na hora de realizar análise de um banco de dados.
Estatística
Estatística é a ciência que faz a
coleta, organização e interpretação de dados e, a partir deles, permite conhecer
quais são os mais influentes antes de tomar decisões importantes. Na
estatística descritiva, os dados se dividem em variáveis qualitativas
(categóricos) e variáveis quantitativas (numéricos):
Qualitativos
(categóricos): variável que descreve uma categoria, qualidade dos dados,
não assumem valores numéricos, pois relaciona situações como cor da pele, nomes
entre outros. Esse tipo de variável ainda se divide em: o
Ordinais:
essas variáveis obedecem a uma relação/ordenação, podem ser medidos, mesmo não
sendo numéricas. Por exemplo, escolaridade, classe social, avaliações (ruim,
regular e bom) entre outros; o
Nominais:
essas variáveis não estão relacionadas a uma relação/ordenação. Por exemplo, cores,
nome de cidades, profissão etc.;
Quantitativos
(numéricos): são variáveis numéricas, elas podem passar por cálculos
numéricos como soma, multiplicação, média entre outros. Essas variáveis se
dividem em: o
Discretas:
valores baseados em observações, normalmente representados por números inteiros
e situações limitadas. Por exemplo, quantidade de filhos, quantidade de
revistas vendidas, quantidade de acesso ao determinado site entre outros. o
Contínuas:
essas variáveis são valores baseados em observações com intervalo que são
representados por números decimais. Por exemplo, altura, peso, velocidade etc.
Outros conceitos importantes a se
saber na área de estatística são população e amostra. A população é o conjunto inteiro dos dados, seja ele em bancos de
dados, arquivos entre outros. A amostra
é uma parte da população, ou seja, divide-se a população para se ter apenas
alguns dados para atender a algum objetivo, manipulando-se apenas essa parte
dos dados. Exemplo: considerando que uma base de dados com todos os
funcionários de uma determinada empresa é uma população, ao se desejar ter
apenas dados dos funcionários com idade entre 30 e 40 anos, tem-se uma amostra
dela.
Após conhecer esses conceitos,
apresentaremos agora alguns dos principais cálculos utilizados para descrever
os dados:
Medidas
de tendência central: utilizado quando se deseja resumir os dados de uma
distribuição utilizando apenas números, assim, recorre-se a medidas de
tendência central:
Média:
valor que aponta para onde mais se concentram os dados de uma distribuição. A
média é calculada pela soma de todos seus elementos divido pela quantidade de
elementos no conjunto de dados, conforme a equação a seguir:
x ̅= ( x1 + x2 + ⋯ + xn) / n
Onde x ̅é o valor da
média, x1, x2, xn são os valores a
se somar e n quantidade de elementos no conjunto de dados. Exemplo de média:
ao se ter em um conjunto de dados os seguintes valores: 4, 5, 6, 2, 9, 1. Para
saber a média desse conjunto de dados aplica-se a equação 1.
então,
a média desse conjunto de dados é 4.5.
Moda:
é o valor que ocorre com mais frequência em um conjunto de dados, ou seja, o
valor mais comum. Em um conjunto de dados no qual se tem os valores: {2, 3, 5,
5, 5, 8}, a moda é igual a 5, que possui três repetições;
Mediana:
é o valor numérico que separa a metade superior de um conjunto de dados, seja
ela a população ou amostra. É importante estar atento ao fato de que para
identificar o valor da mediana, os valores devem estar ordenados. Por exemplo,
em um conjunto de dados com valores {13, 5, 3, 8, 11}, tem-se de ordenar esse
conjunto de dados, então ficando {3, 5, 8, 11, 13} e em seguida identificar a
mediana, que neste caso é 8. Um detalhe importante a ser notado, quando a quantidade
de elementos do conjunto de dados for par, neste caso não existe um valor médio
único, então a mediana é a média dos dois valores do meio. Por exemplo, em um
conjunto de dados com os valores {3, 4, 8,11}, os valores do meio são 5 e 8,
então a mediana é definida com (4+8) / 2
= 6.
Outro recurso estatístico muito
utilizado é a tabela de frequência. Essa tabela é utilizada para resumir o
conjunto de dados de forma simples para entendimento. Essa tabela organiza e
resume as categorias de valores juntamente com a contagem (ou frequência) dos
números de valores que se enquadram em cada categoria ou classe. Por exemplo, podemos
ter uma tabela com a quantidade de funcionários dividido por nível de
escolaridade, conforme a Tabela 1.
Nível escolaridade
Frequência (quantidade)
Nível
fundamental
7
Nível
médio
10
Nível
superior
8
Pós-graduação
5
Tabela 1.
Exemplo de tabela de frequência.
Estes são alguns dos conceitos
necessários para se trabalhar com análise de dados. Por ser uma área
relativamente nova e que está em constante crescimento, com frequência são
descobertos novos algoritmos, novas técnicas, novas ferramentas que surgem para
acrescentar mais agilidade e facilidade ao se trabalhar com ela. Também é importante
citar que há uma grande quantidade de conceitos, ferramentas, métodos estatísticos
e probabilidade, que são necessárias serem estudadas. Em seguida será
apresentado um exemplo prático do que foi discutido até o momento.
Analisando dados com R Studio
Nesse tutorial serão realizadas todas
as etapas necessárias para realizar análise de dados, ou seja, coleta/seleção
dos dados, organização, transformações, aplicação dos métodos estatísticos,
análise e apresentação através de gráficos. Para realizar esse processo será
utilizada a ferramenta open source
RStudio, uma ferramenta que está sendo muito utilizada por analistas de BI,
cientista de dados entre outros profissionais.
O software RStudio utiliza a
linguagem R, uma linguagem de programação para geração de gráficos e cálculos
estatísticos. O RStudio foi desenvolvido por JJ Allaire. O software está
disponível em duas edições: RStudio Desktop, executado localmente na máquina
como um aplicativo desktop e RStudio Server, que permite acessá-lo remotamente
via um navegador web. O RStudio está disponível para diferentes SOs (sistemas
operacionais), como Microsoft Windows, Mac OS X e GNU/Linux. O RStudio é
desenvolvido na linguagem de programação C++.
Antes de instalar o aplicativo
RStudio, é necessário instalar o R. Para isso, é necessário acessar o site
oficial do R, cran.r-project (ver seção Links).
Esse site possui a documentação da linguagem de programação R, das bibliotecas
do R, links dos repositórios entre outros itens importantes para os usuários.
Para fazer o download, basta acessar o site r-project, ir em download R for
Windows, em seguida, em base e, por fim, em Download R “versão” for Windows,
conforme demonstra a Figura 1. Na
elaboração deste artigo, a versão mais atual era a 3.3.2. A instalação do R é
bem intuitiva, proceda com a instalação padrão.
Figura 1. Página de download do R para Windows
Após finalizar o download e a
instalação do R, será realizado o download e instalação do RStudio. Para
realizar isso, basta acessar o site oficial e clicar em RStudio “versão” –
Windows vista/7/8/10, conforme a Figura 2.
Na elaboração deste artigo, a versão mais atual do programa era a 1.0.44.
Figura 2. Página oficial para download do RStudio
Na tela inicial do RStudio, conforme mostra
a Figura 3, temos no lado direito a
aba console, onde são apresentadas
as informações da versão do R sendo utilizada, informações sobre licença e
alguns comandos de auxilio como help(),
q() entre outros. É nesse espaço que
iremos executar nossos comandos. Ainda na Figura
3, na parte superior à direita, tem-se uma aba environment, que
apresenta todos os objetos, variáveis e funções criadas e uma outra aba history,
que armazena todos os comandos executados pelo usuário. Por fim, na parte inferior
direita da figura, tem-se várias abas: file (mostra todos os arquivos do
diretório), plots (aba para apresentar os gráficos gerados), packages
(lista de pacotes disponíveis para baixar), help (aba para apresentar
documentação de alguma função, quando se utilizar o comando de help) e viewer
(aba para visualização de determinados gráficos).
Figura 3. Tela inicial do software RStudio
Como citado anteriormente, na aba console é possível executar comandos,
por exemplo, somar dois números. Para executar o comando é necessário apenas
digitar e teclar enter. Logo abaixo do
comando será apresentado o resultado do código executado, conforme mostra a Figura 4.
Figura 4. Resultado após executar comando na aba console
Há outra opção de se executar
comandos no RStudio. Na aba console é possível executar um comando por vez, ou
seja, o usuário deve digitar cada comando que deseja executar. A outra opção é
criar um script, assim, é possível inserir diversos comandos e posteriormente
executar todos de uma vez. Para iniciar um script é necessário ir na opção
file, em seguida em R Script.Após
executar esses passos, será aberta uma aba em branco, ela será o espaço para
inserir os comandos a serem executados.
Antes de se iniciar a criação de um
script, salve-o em um diretório de preferência. Após salvar o script, insira o
mesmo comando que foi utilizado na Figura
4, para somar dois números. Para executar tem-se a opção de clicar em Run.
Para executar o script, devemos estar atentos a algumas observações:
O cursor deve estar na linha que desejamos
executar;
Para executar mais de uma linha, devemos
selecionar todas elas, e o resultado é impresso na aba console, conforme mostra a Figura
5.
Figura 5. Execução de várias linhas ao mesmo tempo.
Em seguida será realizada uma análise
de dados utilizando o RStudio, realizando as etapas de coleta, organização e
exploração dos dados. Os dados utilizados neste artigo estão disponíveis no
site Kaggle (BOX 1). O conjunto de
dados trata sobre os personagens do desenho Pokémon, possuindo os nomes, tipo,
valores de poder de ataque e defesa, se é um Pokémon lendário entre outras
informações (ver seção Links).
BOX 1. Site Kaggle O site Kaggle é um dos
mais conhecidos no mundo para competições de modelagem/análise preditiva. Funciona
da seguinte maneira: empresas postam problemas que gostariam de resolver para
seus negócios e, diversos usuários, incluindo de estudantes a analistas sênior,
tentam solucionar esses problemas. Essas empresas fornecem prêmios para a
melhor solução, sendo esses prêmios de diferentes valores, já houve casos com
premiação de US$ 30.000,00 à US$ 100.000,00. Além disso, o site também possui diferentes
bases de dados abertas para download, resoluções de problemas em diferentes
linguagens de programação, dentre elas, R e Python. Além disso, os usuários postam
suas soluções para diferentes análises.
Existem diferentes maneiras para
realizar a importação dos dados, pode ser diretamente de um arquivo na máquina,
ou de um banco de dados, ou diretamente do site, etc. Neste artigo será
demonstrada a extração dos dados diretamente de um arquivo local.
No código a seguir é demonstrada a
exportação dos dados de um arquivo CSV:
## Ler dados e inserindo-os em um obj
pokemon <- read.csv("caminhoPasta/Pokemon.csv",header = T, sep = ",")
Nessa listagem está sendo utilizada
a função read.csv() e os argumentos
passados são: o caminho onde está armazenado o arquivo, se o arquivo possui
cabeçalho (TRUE/FALSE) e o tipo de separador do arquivo, neste caso a vírgula
(“ , ”).
Ao executar esse comando, os dados
serão armazenados em um objeto chamado pokemon.
Mesmo o objeto não existindo, o próprio R cria o objeto ao executar algum
comando. Em seguida será executada a função head(). Essa função apresenta as primeiras linhas do objeto, assim
poderemos visualizar o nome das colunas e seus dados, conforme a Figura 6.
Figura 6. Resultado após executar comando head
Para visualizar todos os registros do
objeto, temos duas maneiras: executando a função View (nomeObjeto), ou clicando em cima do objeto na aba Environment.
Após executar qualquer um dos dois procedimentos, será aberta uma nova aba com
todos os registros do objeto, como é demonstrado na Figura 7.
Figura 7. Visualização completa do objeto pokemon
Criar uma tabela de frequência é
simples e rápido utilizando o RStudio. Só é necessário selecionar a coluna do
objeto que se deseja quantificar e executar a função table(), como é mostrado no código a seguir:
## criar tabela de frequência
table(pokemon$Type.1)
Nesse código, foi selecionada a
coluna Type.1 para criar a tabela de frequência, ao executar o código, será
criada uma tabela na aba console, conforme mostra a Figura 8. Nesse caso, como foram gerados poucos registros para
tabela de frequência, dezoito no total, o resultado pode ser de fácil leitura e
entendimento. Contudo, podem haver casos nos quais podem ser gerados 100, 200,
500 e muito mais registros, então a leitura e entendimento dessa tabela diretamente
na aba console pode ser difícil de
ser feita e, caso o desenvolvedor necessite utilizar algum desses valores da
tabela, ele terá que anotar os valores e precisará reexecutar a função toda vez
que precisar de algum valor dessa tabela. Assim, esse não é o método mais
dinâmico e prático.
Figura 8. Resultado após executar o comando table()
Também é possível salvar essa tabela
em um objeto, conforme é demonstrado na Listagem
1. Nela é utilizada uma função chamada as.data.frame,
que converte o resultado em forma de tabela. Ao abrir esse objeto, teremos
colunas com o nome padrão criadas pela própria função. Para renomeá-las basta
executar o código.
Listagem
1. Código para gerar tabela de frequência, salvando em um
objeto e renomear as colunas
## salvar tabela de frequencia em um objeto
tabFreq <- as.data.frame(table(pokemon$Type.1))
## renomear nome de colunas da tabela
names(tabFreq) <- c("tipoPokemon","frequencia")
Ainda na Listagem 1, temos a função names(),
que indica que desejamos selecionar os nomes das colunas e o “c(“...”)”
permitirá definir os novos nomes das colunas. É importante citar que ao alterar
o nome das colunas do objeto, a quantidade dos valores em c(“nome”,”nome”...)
deve ser a mesma da quantidade de colunas do objeto, se houver um número
diferente acontecerá um erro.
No RStudio existem algumas funções
que já vem instaladas, como as que foram utilizadas até aqui, mas existem
outras em que há necessidade de baixar, instalar e habilitar o pacote para
poder utilizar as funções, por exemplo, o pacote ggplot2 para construir gráficos.
A função install.packages() realiza
o download e a instalação do pacote. A função library() habilita o pacote para utilizar as funções dele.
A partir de agora iremos criar alguns
gráficos da base de dados que está sendo utilizada. O primeiro gráfico a ser
gerado será um gráfico de barra a partir do objeto da tabela de frequência que
foi criado anteriormente:
## criando gráfico de barra
ggplot() + geom_bar(data = tabFreq, aes(x = tipoPokemon, y = frequencia), stat = "identity")
A função ggplot() indica que desejamos criar gráfico utilizando função do
pacote ggplot2, instalado anteriormente. A função geom_bar() é o tipo de gráfico que será gerado e possui alguns
parâmetros: data, qual objeto será utilizado, aes(x = ..., y =...) – essa função
faz um mapeamento dos dados para o eixo X e Y - , stat indica a posição da
barra no gráfico. Existem diversos gráficos com geom, como geom_abline(),
geom_area() e geom_boxplot(). O
sinal de mais (+) indica concatenação da função ggplot() e geom_bar().
Na Figura 9 é possível observar o
gráfico gerado após executar o comando informado.
Figura 9. Gráfico de barras
O gráfico apresentado não está muito
legível, isso acontece porque são muitos atributos no eixo X e a dimensão da
aba plot é pequena para gerar esse gráfico. Para solucionar esse problema, o
RStudio possibilita aplicar um zoom no gráfico, através do botão ZOOM na parte
superior da tela. Nela é possível observar uma grande variação da quantidade
por tipo de Pokémon. Ao analisar esse gráfico, é possível notar uma grande
quantidade de Pokémon do tipo water, seguido
por Pokémon do tipo normal. E o tipo
de Pokémon que tem menos quantidade é do tipo fying.
O software também permite salvar o
gráfico em uma imagem ou PDF, para isso basta clicar no botão export,
e será aberta uma janela com as opções para salvar o gráfico. Na Figura 10, as opções disponíveis ao
exportar o gráfico para imagem são: image
format (formato que será salva a imagem), width/height (dimensões de largura e altura da imagem), directory (pasta onde a imagem será
salva), file name (nome da imagem).
Após configurar todas essas opções, basta clicar em save.
Figura 10. Janela de configuração para exportar gráfico
Em seguida serão gerados gráficos
utilizando os conceitos já abordados até o momento sobre médias. Para gerar a média
de um campo, pode-se utilizar a função mean():
conforme o código a seguir:
## media
mean(pokemon$Attack)
Neste exemplo, está sendo gerada a
média do campo Attack, mas o que será feito em seguida é um pouco diferente. O
objetivo agora é gerar a média do campo Attack por tipo do Pokémon, coluna Type.1. Antes de gerar essa média, é
necessário instalar um pacote. A função ddply()
não vem instalada por padrão, então é necessário baixar, instalar e ativar o
pacote plyr, conforme a Listagem 2.
Listagem
2. Código para baixar, instalar e ativar pacote
## instalar pacotes a serem utilizados
install.packages("plyr")
## ativar pacote que ser utilizado
library(plyr)
Após realizar o procedimento de
instalação e habilitar o pacote que será utilizado, todas as funções que estão
nesse pacote estarão disponíveis. Após isso, somente é necessário digitar o
nome da função e inserir seus parâmetros, então será gerada a média por tipo do
Pokémon:
## media de ataque por tipo de pokemon
mediaAtaque <- ddply(pokemon, ~Type.1, summarise, mean = mean(Attack))
A função ddply() aplica uma determinada função, nesse caso será a média,
para uma coluna da tabela, nesse caso a Type.1
do Pokémon. Essa função recebe como parâmetros o objeto com os registros e o
campo/colunas do objeto que se deseja. Antes do nome da coluna tem-se o sinal (~),
utilizado para indicar para a função que é uma coluna que pertence ao objeto,
nesse caso pokemon. Tem-se ainda os parâmetros: o tipo de agrupamento nesse
caso summarise
e a função a ser aplicada, a média da coluna Attack. Então, será calculada a
média de ataque para cada tipo de Pokémon do objeto que está sendo utilizado.
Ao selecionar a opção view no objeto,
é possível observar que há uma coluna Type.1 e outra coluna mean, ou seja, a
média de ataque para cada tipo de Pokémon, como é demonstrado na Figura 11.
Figura 11. Visualização
do objeto mediaAtaque
Em seguida será criado um gráfico com
a média de ataque para cada tipo de Pokémon. O código a seguir realiza essa
tarefa:
## grafico para média de ataque por tipo de pokemon
ggplot() + geom_bar(data = mediaAtaque, aes(x = Type.1, y = mean),
stat = "identity") + ggtitle("Media de ataque por Tipo de pokemon")
Observe que estamos utilizando o
parâmetro data e também estamos
inserindo o título na parte superior do gráfico utilizando a função ggtitle(“titulo”). O resultado dessa função pode ser observado na Figura 12.
Figura 12. Gráfico
de média de ataque por tipo de Pokémon
Ao realizar a análise desse
gráfico, é possível observar que o valor de média de ataque por tipo de Pokémon
é bem semelhante, somente um se destaca dentre todas as médias de ataque, o
tipo Dragon.
Recomendamos para esse artigo que o
leitor crie nesse momento a média de defesa por tipo de Pokémon. Esse processo
é semelhante ao feito anteriormente, média de ataque por tipo de Pokémon. De
toda forma, a resolução do desafio encontra-se no final do artigo.
Após criar a média de ataque e defesa
por tipo de Pokémon, iremos combinar os dois objetos em um único objeto. A
função para realizar esse procedimento é a cbind(obj1,
obj2). Essa função combina dois objetos por colunas, ou seja, se um objeto
possui duas colunas e outro possui duas colunas também, ao utilizar a função
cbind, o objeto final terá quatro colunas. O código a seguir realiza esse
procedimento combinando os objetos mediaAtaque e mediaDefesa em um único
objeto. A mediaDefesa foi gerada no desafio, ou seja, o nome desse objeto será
o que o você escolher, então, ao executar os códigos seguintes, apenas troque o
nome mediaDefesa pelo o nome que você utilizou.
## Inserindo mediaAtaque e medidaDefesa em um mesmo objeto media
<- cbind(mediaAtaque, mediaDefesa[,2])
Esse procedimento não é trivial,
dependerá do objetivo de quem está analisando os dados. Como o objetivo nesse
momento será fazer algumas comparações de ataque e defesa, isso se fez
necessário. Na função cbind(), observa-se
uma diferença de sintaxe no objeto mediaDefesa[,2],
essa sintaxe significa que se deseja recuperar todas as linhas e somente a
segunda coluna do objeto mediaDefesa. Esse procedimento se chama slice, e é muito realizado para analisar
dados, aplicar algoritmos de aprendizado de máquina entre outras atividades na
área de ciência de dados. Também é possível fazer o slice do objeto pelas linhas, bastando para isso inserir o número
da linha que se deseja, então a sintaxe ficaria objeto[2,], indicando que se deseja recuperar a linha dois e todas
as colunas do objeto, ou objeto[10,2], indicando
que se deseja recuperar a linha dez e a coluna dois do objeto.
Esse procedimento se faz necessário,
porque a primeira coluna de ambos os objetos é idêntica, ou seja, não há
necessidade de possuir no mesmo objeto duas colunas com os mesmos valores. Após
executar o código, o objeto final
ficará como é demonstrado na Figura 13.
Figura 13. Visualização
do objeto com média de ataque e defesa
É possível observar nessa figura que os
nomes das colunas não são nada intuitivos, então, é necessário modificar o nome
delas para facilitar futuros procedimentos, seja para criar novos objetos,
cálculos ou para gerar gráficos. Este é outro procedimento muito utilizado ao
realizar análise de grandes quantidades de dados. Para alterar o nome das
colunas do objeto, o código a seguir pode ser utilizado:
## Alterando o nome das colunas do objeto
names(media) <- c("tipo", "mediaAtaq","mediaDef")
O objetivo agora é gerar um gráfico
com as duas médias, ataque e defesa, que estão em um único objeto, chamado media. Mas para isso é necessário
alterar este objeto. A alteração consiste em transformar as colunas em linhas.
No RStudio, existe um função para fazer esse processo de forma fácil e rápida,
a função chamada melt(). Para
utilizar essa função é necessário baixar, instalar e habilitar outro pacote, o reshape2, conforme as linhas 2 e 3 da Listagem 3. Ainda nessa listagem, na
linha 4, é demonstrado o código para realizar procedimento de transformar as
colunas em linhas do objeto que se deseja, neste caso o objeto media.
Listagem
3. Código para instalar e habilitar pacote reshape2 e
transformar as colunas em linhas
1 ##instalando e habilitando pacote
2 install.packages("reshape2")
3 library(reshape2)
4
5 ## transformando colunas em linhas
6 mediaAtqDef <- melt(media, id = c("tipo"))
A função melt() recebe alguns parâmetros: o objeto que se deseja realizar a
alteração e o id.Esse campo indica qual coluna
desejamos preservar e vai alterar todas as outras, transformando-as em linhas.
Em seguida, o resultado será salvo em um novo objeto, o mediaAtqDef. Ao abrir o objeto é possível observar que o objeto
possui três colunas: tipo, variable e
value. Em seguida será alterado o
nome das colunas do novo objeto criado conforme o código a seguir:
##Alterando nome colunas do objeto mediaAtqDef
names(mediaAtqDef) <- c("tipo","ataq_def", "valor")
A Listagem 4 possui o código para gerar um gráfico com ambas médias,
ataque e defesa. A função é semelhante à que já utilizamos anteriormente, com
uma alteração nos argumentos, o fill que
define a cor das barras. Nesse caso serão duas cores, uma para média de ataque
e outra para média de defesa. Em nosso exemplo, foi inserido o nome da coluna
que se deseja, assim, o próprio R definirá as cores automaticamente. Temos
também o argumento position que
define a posição das barras, se ficarão uma em cima da outra, conforme a Figura 14 ou uma ao lado da outra,
conforme a Figura 15. Na Listagem 4 é demonstrado o código para
gerar o gráfico com uma barra em cima da outra e na Listagem 5 temos o código para gerar o gráfico com uma barra ao
lado da outra.
Listagem
4. Código para gerar gráfico com barras uma em cima da outra
## grafico de barra com media de ataque e defesa por tipo de pokemon. Modelo
## com uma barra em cima da outra
ggplot(data = mediaAtqDef) +
geom_bar(aes(x = tipo, y = valor,fill = ataq_def), stat = "identity") +
ggtitle("Media de ataque e defesa por Tipo de pokemon")
Listagem
5. Código para gerar gráfico com barras uma ao lado da outra
## grafico de barra com media de ataque e defesa por tipo de pokemon. Modelo
## com uma barra ao lado da outra
ggplot(data = mediaAtqDef) +
geom_bar(aes(x = tipo, y = valor,fill = ataq_def),
stat = "identity",position=position_dodge()) +
ggtitle("Media de ataque e defesa por Tipo de pokemon")
Figura 14. Gráfico 1 por média de ataque e defesa por tipo de Pokémon
Ao realizar análise do gráfico da Figura 14, é possível notar um pouco de
dificuldade para se realizar uma comparação de média de ataque e defesa. Por
exemplo, se desejarmos identificar quais tipos de Pokémon possuem a média de
ataque e defesa semelhantes, esse gráfico traria dificuldade para a análise. Então,
ao menos para realizar esse exemplo, o mais ideal é gerar o gráfico com barras
uma ao lado da outra, conforme a Figura
15.
Figura 15. Gráfico 2 por média de ataque e defesa por tipo de Pokémon
<Resolução
Desafio>
Agora será apresentada a resolução
do desafio proposto. A lógica e a função para obter a média de defesa por tipo
de Pokémon é a mesma que foi aplicada para gerar a média de ataque por tipo de
Pokémon. No código a seguir, é demonstrado o uso da função necessária para
gerar a média desejada e essa média será armazenada no objeto mediaDefesa.
## media de defesa por tipo de pokemon
mediaDefesa <- ddply(pokemon, ~Type.1, summarise, mean = mean(Defense))
Se desejar gerar o gráfico para
visualizar o resultado obtido ao executar esse código,o processo também é semelhante ao já aplicado para gerar o gráfico
para média de ataque. Na Listagem 6 é
demonstrado o código para gerar esse gráfico.
Listagem
6. Código para gerar gráfico de média de defesa por tipo de
pokemon.
## grafico para média de defesa por tipo de pokemon
ggplot(data = mediaDefesa) +
geom_bar(aes(x = Type.1, y = mean), stat = "identity") +
ggtitle("Media de defesa por Tipo de pokemon")
Análise de dados vem crescendo motivada
pelo crescente número de dados gerados a todo momento. Neste artigo foi
analisado um conjunto de dados pequeno, embora dificilmente fosse possível
realizar a mesma análise manualmente. O propósito foi demonstrar, na prática, o
que é e como é feito o processo de análise de dados para aplicar em grandes
conjuntos de dados, com 500 mil ou até 8 milhões de registros.
Além disso, o artigo também teve o
propósito de demonstrar as diferentes operações realizadas no conjunto de dados
até chegar à parte de analisar. Existem várias outras opções de procedimentos a
realizar, o que irá definir cada cálculo, cada slice, cada transformação no conjunto de dados, será o objetivo
estabelecido, ou seja, não é um processo trivial.
Ainda é possível elaborar outros
gráficos diferentes com R, gráficos mais dinâmicos e personalizados, mudando
cores, formatos, tamanho de texto entre outras configurações. O R ainda possui
pacotes que possibilitam desenvolver sistemas web com gráficos.
Como criar o primeiro game com Unity 3D:
Nesse curso, criaremos um game simples, mas completo, utilizando a plataforma de desenvolvimento de jogos Unity 3D. Para isso, faremos uso de diversos assets disponíveis tanto na Unity Asset Store como no próprio Unity 3D, os chamados "Standard Assets".
Curso de SQL:
A linguagem SQL é amplamente utilizada em diversos tipos de aplicações que utilizem bancos de dados relacionais. Neste curso conheceremos os primeiros comandos da linguagem SQL (Structured Query Language).
Curso de Django:
Neste curso conheceremos o Django, um poderoso framework web escrito em Python que tem chamado muita atenção da comunidade por sua facilidade de implementação, sua organização de código e suas funcionalidades.
Saiba mais sobre Big Data ;)
Modelagem de Dados:
Essa guia terá como objetivo apresentar a modelagem de dados, desde seus primeiros passos com banco pequenos até a modelagem para bancos Big Data.
Big Data com Java:
Neste Guia de Consulta você encontrará todo o conteúdo que precisa para entender a que se refere o termo Big Data, bem como sua importância, da perspectiva de um programador Java.
Recomendamos começar pelo Plano de Estudo Carreira Programador Front-End. Essa área da programação é mais visual e intuitiva, tornando-a ideal para iniciantes. No Front-End, você aprenderá a criar a parte visual dos sites, como layout, cores e interatividade. Depois de dominar o Front-End, você pode avançar para Programador Back-End, onde aprenderá a lidar com a lógica e o funcionamento interno dos sites, e, finalmente, para Programador Mobile, focando no desenvolvimento de aplicativos para smartphones. Nossa metodologia é estruturada de forma progressiva para garantir que você desenvolva confiança e experiência ao criar projetos reais, como sites estáticos e dinâmicos.
Em quanto tempo vou me tornar um programador?
O tempo necessário para se tornar um programador varia de acordo com a dedicação de cada estudante. Com nossa metodologia, que inclui um Plano de Estudo detalhado e suporte contínuo, você pode se tornar um programador de 6 meses a um ano, dependendo do seu ritmo e esforço. Nossa abordagem prática e orientada a projetos ajudará a acelerar seu aprendizado.
Eu preciso de um diploma de faculdade para começar a atuar como programador?
Não. Ser programador é uma excelente oportunidade para quem não possui diploma de faculdade. Muitas empresas contratam baseadas nas habilidades técnicas e experiência prática, não necessariamente em diplomas. Após conquistar uma vaga, você pode optar por complementar sua formação com um diploma.
Por que a programação se tornou a profissão mais promissora da atualidade?
A necessidade de programadores cresceu exponencialmente, especialmente após a pandemia de Covid-19, que forçou muitas empresas a se adaptarem ao digital. Com o crescimento das empresas de tecnologia, a demanda por programadores aumentou. Atualmente, há mais de 200 mil vagas abertas no Brasil devido à falta de profissionais qualificados.
Metodologia
Quais são os principais diferenciais da DevMedia?
Didática e Metodologia
Com mais de 20 anos de experiência, nossa metodologia foca em menos aulas e mais prática. Desenvolvemos dezenas de projetos e exercícios para ajudar você a se tornar um programador completo. Nossos projetos são desafiadores e autênticos, não apenas exercícios repetitivos.
Projetos reais e exercícios
Você desenvolverá diversos projetos práticos em cada carreira (Front-End, Back-End e Mobile), recebendo mentoria e suporte contínuo. A prática é essencial, e oferecemos milhares de exercícios para ajudar você a fixar o conteúdo e melhorar sua posição no ranking.
Suporte ao aluno
Nossa plataforma oferece suporte dedicado com professores experientes, respondendo suas dúvidas em menos de uma hora. Isso garante que você receba a ajuda necessária durante toda a sua jornada de aprendizado.
Gamificação
A DevMedia utiliza gamificação para tornar o aprendizado mais envolvente e motivador. Você acumula pontos e moedas por acertos, que podem ser trocados por produtos e customizações no seu card pessoal. Além disso, o sistema de ranking mensal incentiva a competição amigável e a melhoria contínua.
O que eu irei aprender estudando pela DevMedia?
Ao estudar conosco, você se tornará um programador Full Stack, dominando Front-End, Back-End e Mobile. Utilizamos a linguagem JavaScript, a mais utilizada no mercado, preparando você para criar sistemas webs e aplicativos celulares. Nossa abordagem prática inclui exercícios para fixar o conhecimento e desenvolvimento de projetos reais que te preparam, para o mercado de trabalho.
Quais as vantagens de aprender programação através da linguagem JavaScript?
Ela é Multiplataforma, ela vai te permitir programar para web e para celulares utilizando praticamente a mesma sintaxe.
Elá é Full Stack. Ela te permite criar aplicações Front-end, Back-end e Mobile. Isso acelera muito sua carreira e aumenta suas possibilidades de pegar trabalhos autônomos e conquistar uma vaga no mercado.
Ela é fácil de aprender. Como ela não exige conhecimento inicial em “Orientação a Objetos” ela se torna mais simples com uma curva de aprendizado suave e vai te permitir começar a programar mais rápido do que outras linguagens
A plataforma oferece certificados?
Sim, oferecemos dois tipos de certificados: o certificado de conclusão, que você adquire ao consumir o conteúdo, e o certificado de autoridade, que você obtém ao acertar exercícios. Ambos possuem carga horária, que pode ser utilizada para fins acadêmicos, como atividades complementares na faculdade, e também para comprovações em processos seletivos ou no seu currículo.
A plataforma tem suporte ao aluno, como funciona?
Sim, temos uma equipe de programadores pronta para ajudar com todas as suas dúvidas! Durante o horário comercial, o tempo médio de resposta é de até 10 minutos. E não se preocupe, também oferecemos suporte à noite e nos finais de semana, com um prazo de resposta um pouco maior.
A DevMedia me forma como programador Full Stack?
Sim! Oferecemos uma formação completa, do zero até Full Stack. Nosso foco é na prática, então você vai encontrar muitos exercícios e projetos reais ao longo do curso. Garantimos que você sairá com a autonomia necessária para desenvolver seus próprios projetos com confiança!
Tem horário para as aulas?
Não, não temos horários fixos para as aulas. Todo o nosso conteúdo está disponível para você acessar a qualquer momento, permitindo que você estude conforme sua própria disponibilidade e ritmo. Dessa forma, você pode integrar o aprendizado à sua rotina de maneira mais flexível e eficaz.
Por que a DevMedia não usa videoaulas em sua didática?
Nosso foco principal é formar programadores de verdade. Sabemos que o dia a dia de um programador envolve muita leitura, interpretação e escrita de código. Por isso, nosso conteúdo é desenvolvido para ambientar você nesse processo desde o início, proporcionando mais autonomia e acelerando seu aprendizado.
Na vídeo-aula é o professor que está lendo, interpretando e escrevndo o código para você, isso limita o seu progresso. Ao ler e interagir diretamente com o conteúdo, você exercita sua capacidade de leitura e concentração, além de poder avançar no seu próprio ritmo. Dessa forma, você se torna um programador mais independente e preparado para os desafios reais do mercado.
Preciso de um computador específico para estudar na DevMedia?
Não é necessário nada específico. Qualquer computador com processador atual e memória de 8 GB é suficiente.
Eu consigo estudar pelo celular?
Sim, a DevMedia possui um aplicativo que te permite seguir com seus estudos de qualquer lugar.
A DevMedia tem aplicativo?
Sim, nosso aplicativo está disponível na Play Store e na Apple Store, permitindo que você estude de forma prática e conveniente em qualquer lugar.
Preciso estar na faculdade para acompanhar os estudos na DevMedia?
Não, a faculdade não é necessária. Você não precisa de nenhum conhecimento prévio para iniciar os estudos na nossa plataforma.
Assinatura e Pagamentos
Quais são os planos de assinatura disponíveis?
Oferecemos dois tipos de planos: o plano recorrente e o plano anual. No plano recorrente, a cobrança é lançada mensalmente no cartão de crédito, necessitando apenas do limite para uma parcela. No plano anual, o valor total é lançado no cartão de crédito, parcelado em 12 vezes, e você precisa dispor do valor total no limite do seu cartão. Você também pode optar por pagar no PIX ou no Boleto parcelado (sujeito à analise de crédito)
Adquirindo o plano, terei acesso a todo o conteúdo?
Sim, ao assinar nossa plataforma, você desbloqueia acesso total a todo o nosso conteúdo, sem precisar comprar nada separadamente.
A plataforma tem planos vitalícios?
Não, nossos planos são anuais, garantindo que você tenha acesso contínuo às atualizações mais recentes e aos novos conteúdos. A tecnologia evolui rapidamente, e um plano vitalício oferece um conteúdo estático que se tornará ultrapassado em pouco tempo. Com nossos planos anuais, você está sempre à frente, aprendendo as novidades e tendências mais atuais no mundo da programação.
A DevMedia tem fidelidade?
Sim, nosso plano tem uma fidelidade de 12 meses, o que garante o tempo ideal para você explorar nosso conteúdo e desenvolver a autonomia necessária para trabalhar com programação.
Como funciona o cancelamento?
Nós garantimos seu direito de cancelamento com reembolso total dentro dos primeiros 7 dias, tanto no plano anual quanto no plano recorrente. Após esse período, se você estiver no plano recorrente e optar por cancelar antes de completar 12 meses, há uma taxa de 10% sobre o valor total. No plano anual, não há multas adicionais, mas o valor pago não é reembolsável.
Para que você aproveite ao máximo seu investimento, oferecemos suporte personalizado para orientá-lo na utilização da plataforma. Também temos a opção de transferência de titularidade do plano, permitindo que outra pessoa aproveite o restante do seu período de assinatura.
A renovação é automática?
Sim, nosso plano anual renova automaticamente após 12 meses, proporcionando conveniência e continuidade no seu aprendizado. Na renovação automática não é debitado do seu cartão as 12 parcelas. Para facilitar e não prejudicar o seu limite, a renovação é feita no modelo recorrente, cobrando uma mensalidade a cada mês.
Além disso, a renovação não tem fidelidade, oferecendo total flexibilidade. Você também tem a liberdade de desativar a renovação automática a qualquer momento, garantindo controle absoluto sobre sua assinatura.
Cadastro
Como excluir meus dados da plataforma?
Para excluir seus dados da plataforma, acesse o link : https://www.devmedia.com.br/fale-conosco/ e abra um protocolo de 'Exclusão de dados'. Nossa equipe processará a solicitação e removerá todas as informações do seu cadastro.
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com
vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa
bagagem consegui um estágio logo no início do meu primeiro
período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo. Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento! Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a
pena, pois a plataforma é bem intuitiva e muuuuito
didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito
obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento
front-end, tinha coisas que eu ainda não tinha visto. A
didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado,
adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É
um passo a passo incrível. Só não aprende quem não quer.
Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido
bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da
programação, irei assinar meu contrato como programador
graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana,
aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem
como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de
seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com
React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo
muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na
área.