Uma última árvore usando mais opções
Neste exercício, você vai usar alguns argumentos finais discutidos no vídeo. Algumas especificações na função rpart.control() serão alteradas e alguns pesos serão incluídos usando o argumento weights em rpart(). O vetor case_weights já foi construído para você e está carregado no seu ambiente. Esse vetor contém pesos de 1 para os não inadimplentes no conjunto de treino e pesos de 3 para os inadimplentes no conjunto de treino. Ao definir pesos maiores para inadimplência, o modelo passa a dar mais importância para classificar corretamente os casos de inadimplência.
Este exercício faz parte do curso
Modelagem de Risco de Crédito em R
Instruções do exercício
- Defina a semente como 345.
- Complete o código fornecido passando
case_weightspara o argumentoweightsderpart(). - Altere o número mínimo de divisões permitidas em um nó para 5 e o número mínimo de observações permitidas em nós folha para 2 usando os argumentos
minspliteminbucketemrpart.control, respectivamente. - Use a função plotcp() para investigar onde a taxa de erro com validação cruzada pode ser minimizada.
- Use
which.min()para identificar a linha com o mínimo"xerror"emtree_weights$cp. Atribua isso aindex. - Use o código fornecido para selecionar o
cppara o qual o erro com validação cruzada é minimizado - Faça a poda da árvore usando o parâmetro de complexidade no ponto em que a taxa de erro com validação cruzada é minimizada. Armazene a árvore podada em
ptree_weights. - Plote a árvore podada usando a função
prp(). Inclua um segundo argumentoextrae defina-o igual a 1.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# set a seed and run the code to obtain a tree using weights, minsplit and minbucket
set.seed(345)
tree_weights <- rpart(loan_status ~ ., method = "class",
data = training_set,
control = rpart.control(minsplit = ___, minbucket = ___, cp = 0.001))
# Plot the cross-validated error rate for a changing cp
# Create an index for of the row with the minimum xerror
index <- which.min(___$___[ , "xerror"])
# Create tree_min
tree_min <- tree_weights$cp[index, "CP"]
# Prune the tree using tree_min
# Plot the pruned tree using the rpart.plot()-package