EmpezarEmpieza gratis

Un último árbol usando más opciones

En este ejercicio, vas a usar algunos argumentos finales que se comentaron en el vídeo. Se cambiarán algunas especificaciones en la función rpart.control(), y se incluirán pesos usando el argumento weights en rpart(). El vector case_weights ya está construido para ti y cargado en tu espacio de trabajo. Este vector contiene pesos de 1 para los no impagos en el conjunto de entrenamiento y pesos de 3 para los impagos en los conjuntos de entrenamiento. Al especificar pesos más altos para el impago, el modelo dará mayor importancia a clasificar correctamente los impagos.

Este ejercicio forma parte del curso

Modelización del riesgo de crédito en R

Ver curso

Instrucciones del ejercicio

  • Fija una semilla de 345.
  • Completa el código proporcionado pasando case_weights al argumento weights de rpart().
  • Cambia el número mínimo de divisiones permitidas en un nodo a 5 y el número mínimo de observaciones permitidas en nodos hoja a 2 usando los argumentos minsplit y minbucket en rpart.control, respectivamente.
  • Usa la función plotcp() para investigar dónde se minimiza la tasa de error validada cruzadamente.
  • Usa which.min() para identificar la fila con el mínimo "xerror" en tree_weights$cp. Asígnalo a index.
  • Usa el código proporcionado para seleccionar el cp para el que el error validado cruzadamente es mínimo.
  • Poda el árbol usando el parámetro de complejidad donde la tasa de error validada cruzadamente es mínima. Guarda el árbol podado en ptree_weights.
  • Dibuja el árbol podado usando la función prp(). Incluye un segundo argumento extra y asígnale el valor 1.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código