Você está na página 1de 19

Projeto ‐ Entrega Final

Luis Eduardo, Leo Carlos, Maria Eduarda e Eric


Nunes
Índice

1 Introdução 2
1.1 Explorando os dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 Importando os dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Conhecendo os dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1.3 Limpando os dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Visualizando os dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Conclusões preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 Desenvolvimento 7
2.1 Definição de objetivos SMART . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Modelagem supervisionada usando Tidymodels . . . . . . . . . . . . . . . . . . . . . 8
2.2.1 Método 1: Regressão Logística . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2.2 Método 2: Random Forest . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.3 Método 3: Decision Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.2.4 Método 4: XGBoost . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.3 Escolha do modelo e Predição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3 Conclusão 18

1 INTRODUÇÃO
Esse trabalho tem por objetivo fazer uma análise preditiva aplicando o ciclo da ciência de dados.
O material base é um dataframe disponibilizado online que dispõe informações bancárias sobre
os clientes. Entre elas, podemos encontrar dados característicos das pessoas e também dados
relacionados com o banco, como salário e se abandonaram ou não o serviço em questão.O capítulo
1 deste trabalho apresenta as etapas de importação de dados, tidy e, ainda, dentro da parte
exploratória, tem uma primeira limpeza e visualização de dados. Por fim, retiram‐se as conclusões
preliminares que servirão de base para os capítulos seguintes.

1.1 EXPLORANDO OS DADOS


O primeiro passo para realização das análises é entender melhor o dataframe disponibilizado, para
isso, podemos importar ele e visualizar suas informações.

1.1.1 IMPORTANDO OS DADOS

Sendo assim, importamos o arquivo em formato CSV para o RStudio, através das funções
disponibilizadas pela biblioteca tidyverse:

library(dplyr)
library(tidyverse)
library(tidymodels)

EPS 7008 ‐ Gestão Estratégica da TI 2


library(doParallel)
library(xgboost)

df_churn <- read_csv("Churn_Cases.csv")

1.1.2 CONHECENDO OS DADOS

library(tidyverse)
library(knitr)

data(mtcars)

mtcars %>%
head() %>%
kable(caption = "Exemplo de Tabela com dados")

Tabela 1: EXEMPLO DE TABELA COM DADOS

mpg cyl disp hp drat wt qsec vs am gear carb

Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4


Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4
Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1
Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1
Hornet 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2
Sportabout
Valiant 18.1 6 225 105 2.76 3.460 20.22 1 0 3 1

A partir da primeira análise dos dados, de forma a entender sua estrutura e relevância, é possível
definir alguns aspectos e características que precisam ser realizadas a fim de simplificar e melhorar
o dataset.

1.1.3 LIMPANDO OS DADOS

Com os dados acima, algumas alterações podem ser feitas para facilitar a análise:

• O nome das variáveis mistura letras maiúsculas com minúsculas.


Objetivo 1: transformar todas letras em minúsculas.

• Dentre as variáveis do tipo character, suas análises nos serão úteis se as considerarmos como
factors.
Objetivo 2: transformar as variáveis Geography e Gender em factor.

• As variáveis RowNumber e customerid não serão úteis à análise.


Objetivo 3: remover coluna RowNumber e customerid.

EPS 7008 ‐ Gestão Estratégica da TI 3


• A variável de maior interesse, ou seja, a coluna Exited, deve ser tratada como factor também.
Objetivo 4: transformar Exited em factor.

1.2 VISUALIZANDO OS DADOS


Agora, podemos fazer análises gráficas para tentar entender melhor qual a relação entre os dados.

Utilizando a biblioteca ggplot2:

Visualizando a porcentagem total de clientes que abandonaram o serviço VS. a que manteve:

Proporção da permanência dos clientes


80%

60%

40%

20%

0%
Manteve Abandonou

exited Manteve Abandonou

Visualizando a correlação entre permanência e país de origem:

Permanência por localidade


100%

75%

50%

25%

0%
France Germany Spain

exited Manteve Abandonou

EPS 7008 ‐ Gestão Estratégica da TI 4


Visualizando a correlação entre permanência e o gênero:

Permanência por gênero


100%

75%

50%

25%

0%
Female Male

exited Manteve Abandonou

Visualizando a correlação entre permanência em relação ao cartão de crédito:

Permanência VS cartão de crédito


100%

75%

50%

25%

0%
Sem cartão Com cartão

exited Manteve Abandonou

Visualizando a correlação entre abandono e se é um membro ativo ou não:

EPS 7008 ‐ Gestão Estratégica da TI 5


Membro ativo
100%

75%

50%

25%

0%
Inativo Ativo

exited Manteve Abandonou

Visualizando a correlação entre a permanência e as outras variáveis numéricas do dataset:

Variáveis numéricas e a relação com a permanência do cliente


age balance creditscore
250000 800
80 200000
60 150000 700
100000 600
40 50000 500
20 0 400
ManteveAbandonou ManteveAbandonou ManteveAbandonou

estimatedsalary hascrcard isactivemember


200000 1.00 1.00
value

150000 0.75 0.75


100000 0.50 0.50
50000 0.25 0.25
0 0.00 0.00
ManteveAbandonou ManteveAbandonou ManteveAbandonou

numofproducts tenure
4 10.0
3 7.5
5.0
2 2.5
1 0.0
ManteveAbandonou ManteveAbandonou
exited

1.3 CONCLUSÕES PRELIMINARES


Com os gráficos acima, pode‐se obter as seguintes análises:

• Localidade: clientes da Alemanha são mais propensos a abandonar do que os clientes da


França e da Espanha;

• Gênero: mulheres tendem a abandonar mais do que homens;

• Cartão de crédito: Não há diferença aparente entre clientes com ou sem cartão de crédito;

EPS 7008 ‐ Gestão Estratégica da TI 6


• Membro ativo: membros inativos tendem a abandonar mais do que membros ativos;

• Idade: parece haver uma relação de que os clientes que abandonam são, em média, mais
velhos do que os clientes que não o fazem;

• Saldo: O saldo médio de clientes que saem e permanecem são semelhantes. No entanto,
aqueles que abandonam a empresa tendem a ter um saldo maior;

• Pontuação de crédito: não parece haver muita diferença em relação à pontuação de crédito;

• Salário estimado: novamente, não parece haver muita diferença em relação ao salário;

• Quantidade de produtos: mais uma vez, não há diferença aparente;

• Posse: há uma distribuição mais ampla de estabilidade entre os clientes que mudam, parece
que clientes novos e antigos podem ter maior probabilidade de desistir.

2 DESENVOLVIMENTO
O capítulo 2, Desenvolvimento, apresenta ainda a fase exploratória, aplicando os modelos sugeridos
a partir dos objetivos já apresentados. São eles: regressão logística, random forest, Árvore de
Decisão e XGBoost para previsão de churn. Para a aplicação dos métodos, é importante destacar
que os dados precisarão ser divididos entre dataframes de teste e outros de análise para que
possamos identificar acurácia dos modelos. Sendo assim será utilizado a função split dentro do
cronograma como o primeiro passo para a organização dos dados.

• Remover variáveis indesejadas;

• Converter de variáveis nominais em numéricas;

• Eliminar variáveis de correlação 100%;

• Remover variáveis insignificantes para o modelo.

Ainda, define‐se os objetivos para as análises seguintes. Para realizar as previsões visadas por este
trabalho, o método aplicado será o das etapas de um projeto de Data Science, proposto por H.
Wickham e g. Grolemund (2017).

2.1 DEFINIÇÃO DE OBJETIVOS SMART


• Aplicar 4 modelos estatísticos para previsão de churn.

• Identificar aquele que melhor se encaixa de acordo com os dados e o problema a partir da
comparação das métricas de classificação.

• Prever, com a maior acuracidade possível, os fatores geradores de abandono

• Comunicar os resultados alcançados por meio de relatório

EPS 7008 ‐ Gestão Estratégica da TI 7


2.2 MODELAGEM SUPERVISIONADA USANDO TIDYMODELS
A validação cruzada é uma técnica para avaliar a capacidade de generalização de um modelo, a partir
de um conjunto de dados. Esta técnica é amplamente empregada em problemas onde o objetivo
da modelagem é a predição, como é o caso. Nela, se busca então estimar o quão preciso é este
modelo na prática, ou seja, o seu desempenho para um novo conjunto de dados.

O conceito central das técnicas de validação cruzada é o particionamento do conjunto de dados em


subconjuntos mutuamente exclusivos, e posteriormente, o uso de alguns destes subconjuntos para
a estimação dos parâmetros do modelo (dados de treinamento), sendo os subconjuntos restantes
(dados de validação ou de teste) empregados na validação do modelo.

No presente trabalho, utilizaremos o Método k‐fold para o particionamento, consiste em dividir


o conjunto total de dados em dois subconjuntos mutuamente exclusivos, um para treinamento
(estimação dos parâmetros) e outro para teste (validação). Após o particionamento, a estimação
do modelo é realizada e, posteriormente, os dados de teste são aplicados e o erro de predição
calculado.

O pacote tidymodels é uma evolução do caret e procura facilitar a construção de modelos de


machine learning, seguindo um padrão que independe do modelo a ser construído (regressão linear,
árvores de decisão, etc.).

Para isto, vamos selecionar apenas algumas colunas de interesse e criar um novo objeto
denominado churn_df_mod.

EPS 7008 ‐ Gestão Estratégica da TI 8


churn_df_mod <- df_churn %>%
select(
exited, geography, gender, isactivemember, age, balance,
tenure
)

Vamos dividir o dataset em treino e teste:

set.seed(1234)
churn_split <- initial_split(churn_df_mod, strata=exited)

churn_train <- training(churn_split)


churn_test <- testing(churn_split)

Como previamente já explicado, para aprimorar a robustez das nossas estimações, iremos usar um
procedimento denominado k‐fold cross validation ou validação cruzada.

churn_fold <- vfold_cv(churn_train)

churn_rec <- recipe(exited ~ ., data = churn_train) %>%


step_dummy(all_nominal(), -all_outcomes()) %>%
step_normalize(all_numeric())

churn_wf <- workflow() %>%


add_recipe(churn_rec)

Vamos treinar um modelo de Regressão Logística (usando glm), logo um de Árvore de Decisão
(usando rpart), um modelo XGBoost (usando xgboost) e finalmente um de Random Forest (usando
ranger).

glm_spec <- logistic_reg() %>%


set_engine("glm")

tree_spec <- decision_tree() %>%


set_engine("rpart") %>%
set_mode("classification")

rf_spec <- rand_forest(trees=1000) %>%


set_engine("ranger") %>%
set_mode("classification")

xgb_spec <-
boost_tree() %>%

EPS 7008 ‐ Gestão Estratégica da TI 9


set_engine("xgboost") %>%
set_mode("classification")

2.2.1 MÉTODO 1: REGRESSÃO LOGÍSTICA

Como em diversos outros métodos matemáticos de previsão, na regressão logística usa‐se da


relação entre duas variáveis para poder criar métricas e previsões condizentes com a realidade dos
dados de amostra. A regressão logística é muito utilizada quando temos uma variável de saída
binária, o que pode é o caso apresentado neste trabalho onde deseja‐se entender quais clientes
estarão deixando a empresa.

Segue os resultados do modelo de Regressão Logística:

glm_rs <- churn_wf %>%


add_model(glm_spec) %>%
fit_resamples(resamples=churn_fold,
metrics=metric_set(roc_auc, accuracy, sensitivity, specificity),
control=control_resamples(save_pred=TRUE))

collect_metrics(glm_rs)

# A tibble: 4 x 6
.metric .estimator mean n std_err .config
<chr> <chr> <dbl> <int> <dbl> <chr>
1 accuracy binary 0.809 10 0.00422 Preprocessor1_Model1
2 roc_auc binary 0.767 10 0.00433 Preprocessor1_Model1
3 sensitivity binary 0.962 10 0.00242 Preprocessor1_Model1
4 specificity binary 0.208 10 0.00960 Preprocessor1_Model1

glm_rs %>%
conf_mat_resampled()

# A tibble: 4 x 3
Prediction Truth Freq
<fct> <fct> <dbl>
1 Manteve Manteve 575.
2 Manteve Abandonou 121
3 Abandonou Manteve 22.5
4 Abandonou Abandonou 31.7

glm_rs %>%
collect_predictions() %>%
group_by(id) %>%
roc_curve(exited, .pred_Manteve) %>%

EPS 7008 ‐ Gestão Estratégica da TI 10


autoplot()

1.00
id
Fold01

0.75 Fold02
Fold03
sensitivity

Fold04

0.50 Fold05
Fold06
Fold07
0.25 Fold08
Fold09
Fold10
0.00
0.00 0.25 0.50 0.75 1.00
1 − specificity

2.2.2 MÉTODO 2: RANDOM FOREST

A Randon Forest nada mais é do que uma extensão do modelo de Decision Tree. De forma prática,
esse modelo cria inúmeras árvores de decisão de maneira aleatória dentro das diversas variáveis
para tomada de decisão e previsão. A partir disso, cada uma dessas árvores é utilizada como escolha
no resultado, sendo definida aquela que apresentar o melhor resultado.

Segue os resultados do modelo de Regressão Logística:

rf_rs <- churn_wf %>%


add_model(rf_spec) %>%
fit_resamples(resamples=churn_fold,
metrics=metric_set(roc_auc, accuracy, sensitivity, specificity),
control=control_resamples(save_pred=TRUE))

collect_metrics(rf_rs)

# A tibble: 4 x 6
.metric .estimator mean n std_err .config
<chr> <chr> <dbl> <int> <dbl> <chr>
1 accuracy binary 0.837 10 0.00436 Preprocessor1_Model1
2 roc_auc binary 0.795 10 0.00388 Preprocessor1_Model1
3 sensitivity binary 0.971 10 0.00244 Preprocessor1_Model1
4 specificity binary 0.310 10 0.00776 Preprocessor1_Model1

EPS 7008 ‐ Gestão Estratégica da TI 11


rf_rs %>%
conf_mat_resampled()

# A tibble: 4 x 3
Prediction Truth Freq
<fct> <fct> <dbl>
1 Manteve Manteve 580
2 Manteve Abandonou 105.
3 Abandonou Manteve 17.2
4 Abandonou Abandonou 47.4

rf_rs %>%
collect_predictions() %>%
group_by(id) %>%
roc_curve(exited, .pred_Manteve) %>%
autoplot()

1.00
id
Fold01

0.75 Fold02
Fold03
sensitivity

Fold04

0.50 Fold05
Fold06
Fold07
0.25 Fold08
Fold09
Fold10
0.00
0.00 0.25 0.50 0.75 1.00
1 − specificity

2.2.3 MÉTODO 3: DECISION TREE

Como o próprio nome referência, a árvore de decisão é um método estatístico de previsão que
estima um mapa dos possíveis resultados de uma série de possíveis resultados. De forma geral,
esse modelo leva em conta diversas variáveis condizentes com uma previsão e caracteriza, a partir
de diferentes métricas, o peso para cada ação condizente com um resultado. De forma geral, o
modelo atua com diferentes “nós”, onde cada um deles define diferentes resultados. Dentro de
cada um desses “nós” existem probabilidades atreladas a uma decisão ou a uma variável que podem
se ramificar em mais variáveis ou decisões e dessa forma uma “árvore” de decisão é criada

EPS 7008 ‐ Gestão Estratégica da TI 12


Segue os resultados do modelo de Regressão Logística:

tree_rs <- churn_wf %>%


add_model(tree_spec) %>%
fit_resamples(resamples=churn_fold,
metrics=metric_set(roc_auc, accuracy, sensitivity, specificity),
control=control_resamples(save_pred=TRUE))

collect_metrics(tree_rs)

# A tibble: 4 x 6
.metric .estimator mean n std_err .config
<chr> <chr> <dbl> <int> <dbl> <chr>
1 accuracy binary 0.833 10 0.00408 Preprocessor1_Model1
2 roc_auc binary 0.711 10 0.00583 Preprocessor1_Model1
3 sensitivity binary 0.976 10 0.00366 Preprocessor1_Model1
4 specificity binary 0.271 10 0.0127 Preprocessor1_Model1

tree_rs %>%
conf_mat_resampled()

# A tibble: 4 x 3
Prediction Truth Freq
<fct> <fct> <dbl>
1 Manteve Manteve 583.
2 Manteve Abandonou 111.
3 Abandonou Manteve 14.3
4 Abandonou Abandonou 41.5

tree_rs %>%
collect_predictions() %>%
group_by(id) %>%
roc_curve(exited, .pred_Manteve) %>%
autoplot()

EPS 7008 ‐ Gestão Estratégica da TI 13


1.00
id
Fold01

0.75 Fold02
Fold03
sensitivity

Fold04

0.50 Fold05
Fold06
Fold07
0.25 Fold08
Fold09
Fold10
0.00
0.00 0.25 0.50 0.75 1.00
1 − specificity

2.2.4 MÉTODO 4: XGBOOST

Este modelo é definido como um algoritmo de aprendizado máquina baseado em árvores de decisão
aplicando uma estrutura de regressões na realização dos seus cálculos. Sua aplicação envolve desde
os conceitos básicos de regressão até o mais complexo de árvores de decisão, todos esses modelos
são a base que com a técnicas de otimização de software e hardware resultam nesse modelo
complexo de previsão.

Segue os resultados do modelo de Regressão Logística:

doParallel::registerDoParallel()

xgb_rs <- churn_wf %>%


add_model(xgb_spec) %>%
fit_resamples(resamples=churn_fold,
metrics=metric_set(roc_auc, accuracy, sensitivity, specificity),
control=control_resamples(save_pred=TRUE))

collect_metrics(glm_rs)

# A tibble: 4 x 6
.metric .estimator mean n std_err .config
<chr> <chr> <dbl> <int> <dbl> <chr>
1 accuracy binary 0.809 10 0.00422 Preprocessor1_Model1
2 roc_auc binary 0.767 10 0.00433 Preprocessor1_Model1
3 sensitivity binary 0.962 10 0.00242 Preprocessor1_Model1
4 specificity binary 0.208 10 0.00960 Preprocessor1_Model1

EPS 7008 ‐ Gestão Estratégica da TI 14


xgb_rs %>%
conf_mat_resampled()

# A tibble: 4 x 3
Prediction Truth Freq
<fct> <fct> <dbl>
1 Manteve Manteve 573
2 Manteve Abandonou 98.5
3 Abandonou Manteve 24.2
4 Abandonou Abandonou 54.2

xgb_rs %>%
collect_predictions() %>%
group_by(id) %>%
roc_curve(exited, .pred_Manteve) %>%
autoplot()

1.00
id
Fold01

0.75 Fold02
Fold03
sensitivity

Fold04

0.50 Fold05
Fold06
Fold07
0.25 Fold08
Fold09
Fold10
0.00
0.00 0.25 0.50 0.75 1.00
1 − specificity

2.3 ESCOLHA DO MODELO E PREDIÇÃO

log_metrics <-
glm_rs %>%
collect_metrics(summarise = TRUE) %>%
mutate(model = "Logistic Regression")

rf_metrics <-

EPS 7008 ‐ Gestão Estratégica da TI 15


rf_rs %>%
collect_metrics(summarise = TRUE) %>%
mutate(model = "Random Forest")

xgb_metrics <-
xgb_rs %>%
collect_metrics(summarise = TRUE) %>%
mutate(model = "XGBoost")

tree_metrics <-
tree_rs %>%
collect_metrics(summarise = TRUE) %>%
mutate(model = "Decision tree")

model_compare <- bind_rows(


log_metrics,
rf_metrics,
xgb_metrics,
tree_metrics,
# nnet_metrics
)

model_comp <-
model_compare %>%
select(model, .metric, mean, std_err) %>%
pivot_wider(names_from = .metric, values_from = c(mean, std_err))

# show mean F1-Score for every model


model_comp %>%
arrange(mean_roc_auc) %>%
mutate(model = fct_reorder(model, mean_roc_auc)) %>%
ggplot(aes(model, mean_roc_auc, fill=model)) +
geom_col() +
coord_flip() +
scale_fill_brewer(palette = "Blues") +
geom_text(
size = 3,
aes(label = round(mean_roc_auc, 2), y = mean_roc_auc + 0.08),
vjust = 1
)

EPS 7008 ‐ Gestão Estratégica da TI 16


Random Forest 0.8

model
XGBoost 0.79 Decision tree
model

Logistic Regression
XGBoost
Logistic Regression 0.77
Random Forest

Decision tree 0.71

0.00 0.25 0.50 0.75


mean_roc_auc

Com os gráficos realizados podemos fazer uma comparação direta da performance entre os
modelos. A partir dessas visualizações e dos KPIs aplicados, pode‐se perceber o modelo que
apresenta os melhores resultados.

Dentro da análise gráfica, as curvas que se mostrarem mais distribuídas ao longo do seu eixo X
apresenta uma maior constância para predição dos dados, bem como aquela que apresentar o maior
KPI de acurácia para o modelo.

Dessa forma pode‐se perceber que o melhor modelo para este problema é o Random Forest ,
portanto o usaremos para realizar as estimações finais no dataset de teste. A função last_fit()
realiza um último ajuste (fit) usando os dados de treino (dentro da especificação rf_spec) e
automaticamente uma última estimação, usando os dados de teste (a função reconhece os dados
de treino e teste no objeto churn_split)

modelo_final <- churn_wf %>%


add_model(rf_spec) %>%
last_fit(churn_split)

collect_metrics(modelo_final)

# A tibble: 2 x 4
.metric .estimator .estimate .config
<chr> <chr> <dbl> <chr>
1 accuracy binary 0.833 Preprocessor1_Model1
2 roc_auc binary 0.797 Preprocessor1_Model1

EPS 7008 ‐ Gestão Estratégica da TI 17


collect_predictions(modelo_final) %>%
conf_mat(exited, .pred_class)

Truth
Prediction Manteve Abandonou
Manteve 1933 359
Abandonou 58 151

collect_predictions(modelo_final) %>%
roc_curve(exited, .pred_Manteve) %>%
ggplot(aes(x = 1 - specificity, y = sensitivity)) +
geom_line(size = 1.5, color = "midnightblue") +
geom_abline(
lty = 2, alpha = 0.5,
color = "gray50",
size = 1.2
) +
coord_equal()

1.00

0.75
sensitivity

0.50

0.25

0.00
0.00 0.25 0.50 0.75 1.00
1 − specificity

3 CONCLUSÃO
Por fim, o capítulo 3, abrange a etapa de comunicação, elencando os resultados obtidos e auxiliando
a organização a direcionar o processo de tomada de decisões estratégicas.

Hoje a maioria das organizações que lideram em seus campos já utiliza o Machine Learning
para resolver problemas de negócios. O Machine Learning beneficia a visualização de dados

EPS 7008 ‐ Gestão Estratégica da TI 18


porque ajuda a lidar com o fluxo deles. Como a tecnologia permite encontrar padrões em dados
automaticamente, ela diminui o tempo necessário para se analisar dados e torna os resultados
obtidos mais precisos e relevantes.

Podemos listar, como as principais vantagens da utilização desse conjunto de técnicas, estão:

• Aprendizado e melhoria contínua: há o aprimoramento a partir da repetição ou do histórico


de tentativas;

• Processamento de dados ilimitados: o machine learning torna possível ler conteúdos de


tamanhos e formatos distintos;

• Eficiência operacional: a automatização possibilita aumentar o nível de precisão;

• Agilidade e adaptabilidade: leitura de dados mais rápida e capaz de ser adaptada a diferentes
situações.

Com isso, fica nítido a relevância do entendimento de diferentess métodos de aplicação em Machine
Learning para realizar a predição de variáveis. Dessa forma, todo e qualquer modelo de negócios
pode se beneficiar, seja desde a predição de demanda até mesmo para predições de erros em
equipamentos.

EPS 7008 ‐ Gestão Estratégica da TI 19

Você também pode gostar