Submuestreo del conjunto de entrenamiento
En el vídeo viste que, para afrontar el problema de datos desbalanceados, puedes usar submuestreo o sobremuestreo. Ya hemos aplicado submuestreo al conjunto de entrenamiento para ti, de modo que 1/3 del conjunto son impagos y 2/3 no impagos. El conjunto resultante está disponible en tu espacio de trabajo con el nombre undersampled_training_set, y contiene menos observaciones (6570 en lugar de 19394). En este ejercicio, crearás un árbol de decisión usando este conjunto submuestreado.
Verás que los árboles de este y el siguiente ejercicio son muy grandes, tanto que resulta difícil leerlos. No te preocupes: en el próximo vídeo te mostraremos cómo hacerlos más manejables.
Este ejercicio forma parte del curso
Modelización del riesgo de crédito en R
Instrucciones del ejercicio
- El paquete rpart ya está instalado. Cárgalo en tu espacio de trabajo.
- Modifica el código proporcionado para construir un árbol de decisión usando el conjunto de entrenamiento submuestreado en lugar de
training_set. Además, añade el argumentocontrol = rpart.control(cp = 0.001).cp, el parámetro de complejidad, es el umbral de disminución del error global de ajuste requerido para realizar una partición. Si no se cumplecp, no se seguirán buscando más particiones. El valor por defecto decpes 0.01, pero para problemas complejos se recomienda relajarlo. - Dibuja el árbol de decisión usando la función plot y el nombre del objeto del árbol. Añade un segundo argumento
uniform = TRUEpara que las ramas tengan el mismo tamaño. - El comando anterior solo dibuja un árbol con nodos y aristas, pero sin texto (o “etiquetas”). Usa la función
text()con el único argumentotree_undersamplepara añadir etiquetas.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# Load package rpart in your workspace.
# Change the code provided in the video such that a decision tree is constructed using the undersampled training set. Include rpart.control to relax the complexity parameter to 0.001.
tree_undersample <- rpart(loan_status ~ ., method = "class",
data = training_set)
# Plot the decision tree
# Add labels to the decision tree