Especificar un umbral
Te hemos mostrado cómo la elección de un umbral puede marcar la diferencia para obtener una buena matriz de confusión. Ahora, aprenderás a transformar el vector de predicciones en un vector de valores binarios que indiquen el estado del préstamo. La función ifelse() de R puede ayudarte.
Aplicando ifelse() en el contexto de un umbral, tendrías algo como:
ifelse(predictions > 0.3, 1, 0)
En el primer argumento, compruebas si cierto valor del vector de predicciones es mayor que 0.3. Si es TRUE, R devuelve "1" (especificado en el segundo argumento); si es FALSE, R devuelve "0" (especificado en el tercer argumento), que representan "default" y "no default", respectivamente.
Este ejercicio forma parte del curso
Modelización del riesgo de crédito en R
Instrucciones del ejercicio
- En tu consola tienes el código del modelo de regresión logística completo junto con el vector de predicciones.
- Usando un umbral de 0.15, crea el vector
pred_cutoff_15con la funciónifelse()ypredictions_all_full. - Consulta la matriz de confusión con
table()(introduce los valores verdaderos, es decir,test_set$loan_status, en el primer argumento).
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# The code for the logistic regression model and the predictions is given below
log_model_full <- glm(loan_status ~ ., family = "binomial", data = training_set)
predictions_all_full <- predict(log_model_full, newdata = test_set, type = "response")
# Make a binary predictions-vector using a cut-off of 15%
# Construct a confusion matrix