ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Defina a semente como 345.
  • Complete o código fornecido passando case_weights para o argumento weights de rpart().
  • 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 minsplit e minbucket em rpart.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" em tree_weights$cp. Atribua isso a index.
  • Use o código fornecido para selecionar o cp para 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 argumento extra e 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
Editar e executar o código