<h3 class = "no-margin-top">Programação em R</h3>
<hr style = "background-color: #3bb44a;"/>
<p><a href = "https://www.curso-r.com/cursos/r4ds-1/">R para Ciência de dados I</a></p>
<p><a href = "https://www.curso-r.com/cursos/r4ds-2/">R para Ciência de dados II</a></p>
<h3 class = "no-margin-top">Modelagem</h3>
<hr style = "background-color: #996699;"/>
<p><a href = "https://www.curso-r.com/cursos/regressao/">Regressão Linear</a></p>
<p><a href = "https://www.curso-r.com/cursos/intro-machine-learning/">Machine Learning</a></p>
<p><a href = "https://www.curso-r.com/cursos/xgboost/">XGBoost</a></p>
<p><a href = "https://www.curso-r.com/cursos/deep-learning/">Deep Learning</a></p>
]
.pull-right[<h3 class = "no-margin-top">Extração de dados</h3>
<hr style = "background-color: #eeba30;"/>
<p><a href = "https://www.curso-r.com/cursos/web-scraping-1/">Web scraping I</a></p>
<p><a href = "https://www.curso-r.com/cursos/web-scraping-2/">Web scraping II</a></p>
<h3 class = "no-margin-top">Comunicação e automação</h3>
<hr style = "background-color: #ff6699;"/>
<p><a href = "https://www.curso-r.com/cursos/dashboards/">Dashboards com R</a></p>
<p><a href = "https://www.curso-r.com/cursos/deploy/">Deploy</a></p>
]
Introdução
XGBoost - Teoria
XGBoost - passo a passo
Hiperparâmetros/Estratégias
.pull-left[ ### Aulas 1 e 2 - Intro e Teoria
]
.pull-right[
# XGBoost
modelo_xgb <- boost_tree(
min_n = tune(),
mtry = tune(),
trees = tune(),
tree_depth = tune(),
learn_rate = tune(),
loss_reduction = tune(),
sample_size = tune()
)
.pull-left[
Bom para dados tabulares. Preparado para bases arbitrariamente grandes.
Bom para quando precisamos de boas previsões.
Implementado nas principais ferramentas de ciência de dados.
Open Source.
]
.pull-right[
Possui mais hiperparâmetros do que os demais algoritmos.
Difícil de explicar ao gestor como funciona em poucas palavras.
Menos interpretável do que regressão linear e árvore de decisão.
]
Ao final do dia, o aluno
Saberá explicar como o XGBoost funciona.
Terá mais uma opção de escolha além da regressão logística/linear, random forest, redes neurais, knn, entre outras.
Ficará a vontade em propor o uso de XGBoost em seu trabalho.
class: sem-padding
.pull-left[
]
.pull-right[
Cada “step” é uma árvore
]
class: inverse, middle, center
class: inverse, middle, center
XGBoost trata missing automaticamente dentro dele, não precisa tratar. Porém, sempre vale técnicas de imputação para tentar aprimorar o modelo!
Multicolinearidade não é um problema grave para modelos de árvore. Mas é sempre bom filtrar variáveis explicativas muito correlacionadas. Ler esse post para exemplo.
Variável resposta precisa ir como factor. Não pode ser character nem 0/1.
As variáveis categóricas precisam ser “dummyficadas” antes. XGBoost só aceita explicativas numéricas.
A escala das variáveis explicativas não atrapalham modelos de árvores.
A assimetria das variáveis explicativas não atrapalham modelos de árvores.
#Intuição dos hiperparâmetros
#Intuição dos hiperparâmetros
.pull-left[
modelo <- boost_tree(
mtry = 1,
trees = 100,
min_n = 1,
tree_depth = 1,
learn_rate = 1,
sample_size = 1,
loss_reduction = 1
)
]
.pull-right[
]
.pull-left[
modelo <- boost_tree(
mtry = 1,
trees = 100,
min_n = 1,
tree_depth = 2, #<<
learn_rate = 1,
sample_size = 1,
loss_reduction = 1
)
]
.pull-right-abaixo[
]
#Intuição dos hiperparâmetros
.pull-left[
modelo <- boost_tree(
mtry = 1,
trees = 100,
min_n = 1,
tree_depth = 1,
learn_rate = 0.1, #<<
sample_size = 1,
loss_reduction = 1
)
]
.pull-right[
]
.pull-left[
modelo <- boost_tree(
mtry = 1,
trees = 100,
min_n = 1,
tree_depth = 1,
learn_rate = 1,
sample_size = 0.5, #<<
loss_reduction = 1
)
]
.pull-right-abaixo[
]
#Intuição dos hiperparâmetros
.pull-left[
modelo <- boost_tree(
mtry = 1,
trees = 100,
min_n = 1,
tree_depth = 1,
learn_rate = 1,
sample_size = 1,
loss_reduction = 0.1 #<<
)
]
.pull-right[
]
.pull-left[
modelo <- boost_tree(
mtry = 1,
trees = 100,
min_n = 1,
tree_depth = 2, #<<
learn_rate = 0.1, #<<
sample_size = 0.5, #<<
loss_reduction = 0.1 #<<
)
]
.pull-right-abaixo[
]