A4 - Ciencia de Dados
A4 - Ciencia de Dados
A4 - Ciencia de Dados
e Classificação
Aplicações em R
Revisão Textual:
Prof.ª Dr.ª Luciene Oliveira da Costa Granadeiro
Aplicações em R
• Introdução;
• Fluxo de Trabalho;
• Ambiente;
• Importar;
• Transformar;
• Visualizar e Modelar;
• Comunicar.
OBJETIVO
DE APRENDIZADO
• Criar produtos de dados aplicando modelagem preditiva em R.
UNIDADE Aplicações em R
Introdução
Nesta unidade, você será apresentado à prática da análise e classificação de da-
dos. Você construirá uma aplicação passando por todas as etapas da modelagem
preditiva. Ao final da unidade, você terá construído um produto de dados usando a
linguagem R e as ferramentas que ela ofecerá para isso.
Para que você possa trabalhar com todos os elementos da análise preditiva na lin-
guagem R, vamos escolher um problema e apresentá-lo de maneira didática. Perceba
que, tendo como base um projeto específico, tomaremos algumas decisões ao longo
do caminho que farão sentido apenas para o projeto no qual estivermos trabalhando
no momento.
Fluxo de Trabalho
Embora as aplicações de ciência de dados não dependam de uma ferramenta
específica ou linguagem de programação, é importante que você, como analista e
solucionador do problema analítico, conheça como a ferramenta funciona e decida,
como tomador de decisões técnico, o melhor caminho a ser traçado para a resolução
do problema.
Visualizar
Modelar
Conforme a abordagem que seguiremos nas próximas seções e que você deverá
aplicar em projetos de ciência de dados que usem R, você deverá:
1. Importar os dados para o R: estejam eles armazenados em um arquivo,
um base de dados ou disponíveis na web;
2. Arrumar os dados carregados: organizando-os de forma consistente
e combinando a semântica da base de dados com a maneira em que
são organizados;
3. Transformar os dados: limitando os dados a observações de interesse,
criando novas variáveis e calculando estatísticas de resumo;
4. Visualizar e modelar os dados;
5. Comunicar os resultados a outras pessoas.
Você está preparado(a) para conhecer todas essas etapas em detalhes e na prática?
8
Ambiente
Para que você possa executar todo fluxo de trabalho sem dificuldades, vamos
preparar o seu ambiente de programação. Você vai precisar do R, do RStudio, da
coleção de pacotes tidyverse e de muitos outros pacotes que serão indicados durante
a realização do projeto.
Assim que você tiver instalado o R e o RStudio, rode uma dessas plataformas e
execute a seguinte linha de comando para instalar o tidyverse diretamente do CRAN:
install.packages(“tidyverse”)
Para verificar que a instalação do pacote deu certo, execute a linha abaixo:
library(tidyverse)
A partir das próximas seções, você vai usar o ambiente do RStudio para construir
aplicações de análise preditiva e classificação. Em cada seção, você verá um tipo de
aplicação de ciência de dados. Lembre-se de incluir os códigos no documento de
script do RStudio um abaixo do outro, conforme eles forem sendo apresentados
para você nesta unidade.
9
9
UNIDADE Aplicações em R
Importar
Em todo projeto de análise e modelagem preditiva, sobretudo em R, o primeiro
passo é o de importar a base de dados que será utilizada. Porém, antes disso, vale a
pena conhecermos um pouco mais sobre o problema que iremos trabalhar e sobre o
que os dados desse problema falam.
Para esta seção, você utilizará a base de dados mpg e tentaremos responder à
pergunta: “carros com motores maiores usam mais combustível que carros com
motores menores?”. Talvez você já tenha uma ideia da resposta, mas nesta unidade
provaremos com conhecimento analítico o que você imagina.
Essa amostra de dados pode ser obtida por meio da execução do seguinte co-
mando: head(mpg, 5)
Entre as variáveis que esse conjunto de dados apresenta, estão:
• displ (double): corresponde ao tamanho do motor, em litros;
• hwy (int): corresponde à eficiência do combustível de um carro na estrada, em
milhas por galão.
10
Figura 3 – Relação entre o tamanho do motor e a eficiência de combustível.
Usando o ggplot, você pode construir esse gráfico executando este código:
ggplot(data = mpg) +
Arrumar
Nosso próximo passo é arrumar os dados. Em R, a arrumação de dados pode ser
realizada usando as funções do pacote tidyr, que segue a filosofia tidy data (WICKHAM
et al., 2019). Nessa filosofia, os conjuntos de dados estão arranjados de tal forma que
cada variável é uma coluna e cada observação é uma linha. Entre as vantagens de se
trabalhar com essa filosofia, estão a consistência dos dados armazenados, que mantêm
a uniformidade, e a natureza vetorizada de R, que trabalha com vetores de valores.
Na prática:
• Coloque cada conjunto de dados em um tibble; e
• Coloca da variável em uma coluna.
11
11
UNIDADE Aplicações em R
Transformar
Na transformação de dados, estamos interessados em limitar o nosso conjunto
de dados a observações que sejam do nosso interesse. Por exemplo, se temos um
conjunto com dados de todo o país, pode ser de nosso interesse estudar apenas uma
das cidades. Outra atividade da transformação é a criação de novas variáveis a par-
tir de outras já existentes, como o cálculo da idade a partir da data de nascimento.
Por fim, é importante que algumas estatísticas sejam coletadas durante esta etapa.
Juntas, a arrumação e a transformação de dados são conhecidas de data wrangling
(WICKHAM; GROLEMUND, 2019).
12
• filter: seleciona as observações por seus valores;
• arrange: reordena as linhas;
• select: seleciona variáveis por seus nomes;
• mutate: cria novas variáveis com funções de variáveis existentes;
• summarize: reúne muitos valores em um único resumo.
Para demonstrar o uso dessas funções, vamos utilizar o conjunto flights, do pa-
cote nycflights13. Caso você não tenha esse pacote, faça a instalação e carregue-o:
install.packages(“nycflights13”)
library(nycflights13)
13
13
UNIDADE Aplicações em R
Função filter
Essa função permite que você crie um subconjunto de dados a partir dos valores.
Ele possui basicamente dois parâmetros:
• O nome do data frame que você vai transformar; e
• A expressão (ou expressões) que filtram o conjunto de dados.
No conjunto de dados nycflights13, você pode filtrar todos os voos que ocorreram
no dia 12 de dezembro. Como retorno, obterá 968 registros. Para fazer isso usando
a linguagem R, execute o seguinte código:
Função arrange
Em vez de selecionar as linhas do conjunto de dados como faz a função filter, a
função arrange alterna a ordem das linhas. Essa função recebe como entrada um
tibble e um conjunto de nomes de colunas na ordem desejada para rearranjá-las.
Por exemplo, para reordenar o conjunto de dados e ver os últimos voos nas pri-
meiras posições, acrescente a função desc para apresentar em ordem decrescente:
arrange(flights, desc(month))
Função select
A função select é uma das principais desse conjunto de funções que você está
estudando neste momento. O propósito dela é escolher as variáveis que farão parte
dos dados que serão trabalhados por você.
Usando o conjunto de dados flights, você pode selecionar apenas as colunas day,
month e year:
select(flights, year:day)
Você também pode selecionar todas as colunas, exceto year, month e day:
Função mutate
A função mutate permite que você adicione novas colunas que sejam funções de
colunas existentes. Ela sempre adiciona novas colunas ao final do conjunto de dados.
14
Vamos começar criando um subconjunto de dados para poder visualizar todas
as colunas:
distance, air_time)
Em seguida, você vai reutilizar new_flights para construir a variável gain no con-
junto de dados:
Função summarize
A função summarize reduz o data frame a uma única linha. Para conhecer a
média dos valores não ausentes da variável dep_delay (correspondente ao tempo de
atraso do voo), execute:
Para tornar a função mais útil, devemos combiná-la com a função group_by, que
muda a unidade da análise de todo o conjunto de dados para os grupos individuais.
Por exemplo, se você quiser saber o atraso médio por data, execute:
15
15
UNIDADE Aplicações em R
Visualizar e Modelar
Na modelagem de dados, o objetivo é fornecer um resumo simples de baixa
dimensão do conjunto de dados (WICKHAM; GROLEMUND, 2019). Como R é es-
sencialmente um software estatístico e com características voltadas para estatísticos,
construiremos modelos para particionar os dados em padrões e resíduos. Como pa-
drões mais fortes tendem a esconder tendências, usaremos os modelos construídos
para retirar as camadas de estrutura enquanto exploramos o conjunto de dados.
16
library(lubridate) # pacote para manipulação de datas
group_by(data) %>%
summarize(quantidade = n())
Para visualizar os dados, construa o gráfico diário, que deverá ficar igual à Figura 6:
geom_boxplot()
Você deve ter observado no gráfico que a maior parte dos voos acontece durante
a semana, o que nos leva a crer que as viagens realizadas são feitas com finalidades
de negócio.
Assim, devemos remover esse padrão ajustando um modelo aos dados exibindo
as previsões sobrepostas aos dados originais:
data_grid(semana) %>%
add_predictions(modelo, “quantidade”)
17
17
UNIDADE Aplicações em R
geom_boxplot() +
18
Figura 9 – Boxplot de voos diários ajustado ao modelo
Comunicar
Nas seções anteriores, você viu como utilizar gráficos para fazer explorações de
dados. Ao usar gráficos na análise exploratória, você sabe quais variáveis o gráfico
exibirá, descartando-o logo em seguida. Como o intuito é explorar e descobrir ten-
dências, assim que você as descobre, os gráficos de exploração deixam de ser úteis
por eles mesmos, nos conduzindo à modelagem.
Por outro lado, os gráficos podem ser extremamente úteis na comunicação dos
insights que você percebeu ao longo do desenvolvimento do projeto analítico ao pú-
blico não técnico. Na verdade, a comunicação por gráficos pode ajudar até mesmo
os técnicos que não fizeram parte do seu projeto e não o acompanharam durante o
desenvolvimento. Assim, a ideia desta seção é ajudar você a construir modelos men-
tais a partir dos seus modelos estatísticos usando gráficos.
19
19
UNIDADE Aplicações em R
Material Complementar
Indicações para saber mais sobre os assuntos abordados nesta Unidade:
Leitura
Tidy Data
https://bit.ly/34nxLnv
Recursos de Visualização do R com ggplot2
https://bit.ly/2FQ2n7u
Gráficos com ggplot2
https://bit.ly/2FRc5Xn
Modelagem com modelr
https://bit.ly/34iuPbF
Manipulando Dados com dplyr e tidyr
https://bit.ly/3okbX3R
20
Referências
WICKHAM, H. Advanced R. Estados Unidos: CRC press, 2019.
________. R packages: organize, test, document, and share your code. Estados
Unidos: O’Reilly Media, Inc., 2015.
21
21