library(readxl)
datos_rotacion = read_excel("C:/Users/Luisa/Desktop/metodos estadisticos para toma de decisiones/Unidad 3/Datos_Rotación.xlsx")
attach(datos_rotacion)
names(datos_rotacion)
## [1] "Rotación" "Edad"
## [3] "Viaje de Negocios" "Departamento"
## [5] "Distancia_Casa" "Educación"
## [7] "Campo_Educación" "Satisfacción_Ambiental"
## [9] "Genero" "Cargo"
## [11] "Satisfación_Laboral" "Estado_Civil"
## [13] "Ingreso_Mensual" "Trabajos_Anteriores"
## [15] "Horas_Extra" "Porcentaje_aumento_salarial"
## [17] "Rendimiento_Laboral" "Años_Experiencia"
## [19] "Capacitaciones" "Equilibrio_Trabajo_Vida"
## [21] "Antigüedad" "Antigüedad_Cargo"
## [23] "Años_ultima_promoción" "Años_acargo_con_mismo_jefe"
# Categoricas
# 1.Viaje de Negocios:Si se viaja demasiado puede que haga que las personas quieran irse, ya que no permitiria para muchos tener vida social y en el caso de tener familias probablemente descuidarlas.
# 2.Horas Extras: la personas pueden estar rotando porque no tienen suficiente horas extras.
# 3.Estado civil: dependiendo del trabajo puede que una persona soltera que no tenga obligaciones decida rotar mas hasta que encuentre un lugar que le llame mas la atencion y cumpla con sus expectativas.
# Cuantitativas.
# 1.Distancia casa: si una persona vive muy lejos de la compañia y esta se gasta gran cantidad de tiempo en el viaje, ademas de que la empresa no le paga biaticos, entonces para una situacion de estas, puede existir bastante rotacion debido al costo-beneficio.
# 2.Ingreso mensual:probablemente el ingreso mensual no era suficiente para cubrir necesidades y decide irse a buscar mejores oportunidades.
# 3.% Aumento salarial: la persona lleva tiempo en la compañia y cuando revisa sus ingresos en diferentes años, nota que el aumento que ha tenido en su salario es muy poco para el trabajo que debe realizar.
require(ggplot2)
require(ggpubr)
attach(datos_rotacion)
#Variables Caategoricas:
# Interpretacion: Logramos ver que en esta compañia, los empleados en su mayoria viajan raramente. Tambien que la mayoria no tiene horas extras y que una gran cantidad de trabajadores estan casados.
g1_viaje=ggplot(datos_rotacion,aes(x=`Viaje de Negocios`))+geom_bar()+theme_bw()+theme(axis.text.x = element_text(angle = 90))
g2_horas=ggplot(datos_rotacion,aes(x=Horas_Extra))+geom_bar()+theme_bw()
g3_estado=ggplot(datos_rotacion,aes(x=Estado_Civil))+geom_bar()+theme_bw()
graf_cat=ggarrange(g1_viaje, g2_horas, g3_estado,labels = c("A", "B","C"), ncol = 3, nrow = 1)
graf_cat
#Variables Cuantitativas:
# Interpretacion: para las variables cuantitativas, se noto que: Las personas que trabajan en la compañia viven en su mayoria cerca de la empresa y estas reciben aproximadamente de 0 a 15% de aumento en el salario. Ademas que en promedio los trabajodores ganan 6 millones y medio.
g1_distancia= ggplot(datos_rotacion,aes(x=Distancia_Casa))+geom_histogram()+theme_bw()
g2_ingreso= ggplot(datos_rotacion,aes(x=Ingreso_Mensual))+geom_histogram()+theme_bw()
ingreso_promedio= round(mean(datos_rotacion$Ingreso_Mensual),0)
ingreso_promedio
## [1] 6503
g3_aumento_salario= ggplot(datos_rotacion,aes(x=Porcentaje_aumento_salarial))+geom_histogram()+theme_bw()
graf_cual=ggarrange(g1_distancia, g2_ingreso, g3_aumento_salario,labels = c("D", "E","F"), ncol = 3, nrow = 1)
graf_cual
# Interpretacion: Para empezar podemos ver que dentro de la rotación,la cantidad de personas que rotaron fue mucho menor a las que no. En la tabla nos muestra que entre el total de las personas solo un 16% roto.
g_rotacion=ggplot(datos_rotacion,aes(x=Rotación))+geom_bar()+theme_bw()
g_rotacion
round(prop.table(table(datos_rotacion$Rotación))*100,digits = 0)
##
## No Si
## 84 16
attach(datos_rotacion)
datos_rotacion$y=as.numeric(datos_rotacion$Rotación=="Si")
require(CGPfunctions)
require(ggpubr)
require(plotly)
#Variables Categoricas
# Interpretacion:
# 1. Se vio claramente que las personas que viajan mas son las que deciden rotar y esto se noto con la grafica donde se muestra como hay aumento en las rotaciones cuando hay mas viajes.
# 2.Se vio que las personas que si tienen horas extras tienden a rotar mas que las personas que no tienen las mismas.
# 3. Se vio que las personas solteras rotan mucho mas que las persona que estan casadas o divorcidas, ya que en estas dos ultimas no se encuentra una importante diferencia.
datos_rotacion$Viaje_de_Negocios=factor(datos_rotacion$`Viaje de Negocios`,levels = c("Frecuentemente","Raramente","No_Viaja"))
tabla1=table(datos_rotacion$`Viaje de Negocios`,datos_rotacion$Rotación)
round(prop.table(tabla1,margin = 1)*100,0)
##
## No Si
## Frecuentemente 75 25
## No_Viaja 92 8
## Raramente 85 15
g1_rot_viaje=PlotXTabs2(datos_rotacion,`Viaje de Negocios`, y, plottype = "percent" )
g2_rot_horas=PlotXTabs2(datos_rotacion,Horas_Extra, y, plottype = "percent" )
g3_rot_estado=PlotXTabs2(datos_rotacion,Estado_Civil, y, plottype = "percent" )
g1_rot_viaje
g2_rot_horas
g3_rot_estado
#Variables Cuantitativas
# Interpretacion:
# 1.En el caso de la variable rotación contra la distancia en donde la persona vive, si se logro diferenciar que las personas entre mas lejos viven tambien deciden irse de la compañia.
# 2.se muestra como la variable de ingreso mensual, si influye en la decision de rotacion para las personas, ya que se ve que para quienes estan ganando menos, son quienes han rotado. Lo que comprueba la primera hipotesis que se realizo.
# 3.En caso de la variable rotación relacionada con el % en el aumento del salario, la hipotesis no se muestra claramente en la grafica, ya que las diferencias entre las personas que rotaron y no rotaron no es muy grande, lo que nos puede decir que para el caso de la rotación el porcentaje en el aumento salarial, no es una variable significativa en el analisis.
g1_rot_distancia=ggplot(datos_rotacion,aes(x=y, y=Distancia_Casa, fill=Rotación))+geom_boxplot()+theme_bw()
g2_rot_ingreso=ggplot(datos_rotacion,aes(x=y, y=Ingreso_Mensual, fill=Rotación))+geom_boxplot()+theme_bw()
g3_rot_salario=ggplot(datos_rotacion,aes(x=y, y=Porcentaje_aumento_salarial, fill=Rotación))+geom_boxplot()+theme_bw()+ylab("%Aumento salario")
g1_rot_distancia
g2_rot_ingreso
g3_rot_salario
4.Realizar la estimación de un modelo de regresión logistico en el cual la variable respuesta es rotación (y=1 es si rotación, y=0 es no rotación) y las covariables las 6 seleccionadas. Interprete los coeficientes del modelo y la significancia de los parametros.
attach(datos_rotacion)
#Variables Cuantitativas
# Interpretacion:
# 1.Si la distancia es mas grande entonces hay mayor posibilidad de rotar.
# 2.A mayor ingreso hay menos posibilidad que los empleados roten.
# 3.Si el aumento del salario es mayor, la posibilidad de rotacion es menor.
#Variables Categoricas
# Interpretacion:
# 1.Si el trabajador no viaja o viaja raramente, es mas probable que este no rote.
# 2. Si los trabajadores tienen mas horas extra, la probabilidad de que estos roten es mayor.
# 3. Si el trabajador esta divorciado hay mas posibilidades de que este decida no rotar.
# 4. Si el trabajador es soltero hay mayor posibilidad de que el mismo rote.
mod1_rotacion=glm(y~Distancia_Casa+Ingreso_Mensual+Porcentaje_aumento_salarial+Viaje_de_Negocios+Horas_Extra+Estado_Civil,data = datos_rotacion,family = "binomial")
mod1_rotacion
##
## Call: glm(formula = y ~ Distancia_Casa + Ingreso_Mensual + Porcentaje_aumento_salarial +
## Viaje_de_Negocios + Horas_Extra + Estado_Civil, family = "binomial",
## data = datos_rotacion)
##
## Coefficients:
## (Intercept) Distancia_Casa
## -1.3386232 0.0320273
## Ingreso_Mensual Porcentaje_aumento_salarial
## -0.0001335 -0.0132273
## Viaje_de_NegociosRaramente Viaje_de_NegociosNo_Viaja
## -0.6033788 -1.3049766
## Horas_ExtraSi Estado_CivilDivorciado
## 1.4460795 -0.2726669
## Estado_CivilSoltero
## 0.9115714
##
## Degrees of Freedom: 1469 Total (i.e. Null); 1461 Residual
## Null Deviance: 1299
## Residual Deviance: 1095 AIC: 1113
#Interpretacion significancia de paramentros: Se logro ver que todas las variables son significantivas a excepcion de la variable de aumento salarial y el estado civil de divorciado.
summary(mod1_rotacion)
##
## Call:
## glm(formula = y ~ Distancia_Casa + Ingreso_Mensual + Porcentaje_aumento_salarial +
## Viaje_de_Negocios + Horas_Extra + Estado_Civil, family = "binomial",
## data = datos_rotacion)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -1.4747 -0.5981 -0.4068 -0.2390 3.0773
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -1.339e+00 4.020e-01 -3.330 0.000869 ***
## Distancia_Casa 3.203e-02 9.198e-03 3.482 0.000498 ***
## Ingreso_Mensual -1.335e-04 2.309e-05 -5.782 7.37e-09 ***
## Porcentaje_aumento_salarial -1.323e-02 2.121e-02 -0.624 0.532887
## Viaje_de_NegociosRaramente -6.034e-01 1.791e-01 -3.370 0.000753 ***
## Viaje_de_NegociosNo_Viaja -1.305e+00 3.501e-01 -3.728 0.000193 ***
## Horas_ExtraSi 1.446e+00 1.569e-01 9.219 < 2e-16 ***
## Estado_CivilDivorciado -2.727e-01 2.293e-01 -1.189 0.234361
## Estado_CivilSoltero 9.116e-01 1.702e-01 5.356 8.50e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1298.6 on 1469 degrees of freedom
## Residual deviance: 1095.4 on 1461 degrees of freedom
## AIC: 1113.4
##
## Number of Fisher Scoring iterations: 5
attach(datos_rotacion)
#ROC
library(ROCR)
prediccion_1= predict.glm(mod1_rotacion, newdata = datos_rotacion, type = "response")
resultado_1=table(datos_rotacion$y, ifelse(prediccion_1>0.2,1,0))
resultado_1
##
## 0 1
## 0 971 262
## 1 86 151
prediccion_rotacion= ROCR::prediction(prediccion_1,datos_rotacion$y)
perf= performance(prediction.obj = prediccion_rotacion, "tpr", "fpr")
plot(perf)
abline(a = 0, b = 1,col="red")
grid()
#AUC
AUC_1= performance(prediccion_rotacion,measure = "auc")@y.values[[1]]
cat("AUC: ",AUC_1,"n")
## AUC: 0.7666492 n
#Interpretacion: El Área bajo la curva de 0.77 indica que el modelo es aceptable y puede servir para predecir.
attach(datos_rotacion)
# Viaja: Frecuentemente.
# Horas extras: si.
# Estado civil: Soltero.
# Distancia casa: 30.
# Ingreso mensual: 2000.
# %Aumento salarial:11
nueva_data1 <- data.frame(Viaje_de_Negocios= "Frecuentemente", Horas_Extra= "Si", Estado_Civil="Soltero", Distancia_Casa=30, Ingreso_Mensual=2000, Porcentaje_aumento_salarial=11 )
nueva_data1$Probabilidad <- predict(mod1_rotacion, newdata = nueva_data1, type = "response")
nueva_data1
| Viaje_de_Negocios | Horas_Extra | Estado_Civil | Distancia_Casa | Ingreso_Mensual | Porcentaje_aumento_salarial | Probabilidad |
|---|---|---|---|---|---|---|
| Frecuentemente | Si | Soltero | 30 | 2000 | 11 | 0.8273979 |
# Interpretacion: El corte que defini para mi modelo es el del 60% por lo que se debe intervenir al empleado para motivar al mismo y que este decida no rotar, es decir que con las condiciones propuestas anteriormente nos da una probabilidad del 83% aproximadamente. Lo que nos asegura que el empleado decida rotar. Para este caso se deben realizar ajustes al mismo para mejorar su condicion laboral.
#Estrategias
# Brindar la opcion de trabajo remoto para que esta persona no tenga que viajar largas distancias.
# Ofrecerle mejores beneficios en cuanto a ingresos y distribuir la carga laboral de una mejor manera.
# Aumento de capacitaciones para que esta persona crezca personal y profesionalmente, creando asi un sentido de pertenencia con la compañia.
# Brindarle la oportunidad de participar en actividades recreativas.
##ESTRATEGIAS.
# Redistribución de carga laboral.
# Creación de modelo de trabajo remoto para personas que viven alejadas a la compañia.
# Mejores incentivos economicos.
# Aumento de capacitaciones para que las personas crezcan personal y profesionalmente, creando asi un sentido de pertenencia con la compañia.
# Creación de actividades recreativas para los trabajadores.
Con base en los datos de créditos proponga un modelo de regresión logístico múltiple que permita predecir el riesgo de default en función de las covariables que considere importantes y seleccionándolas de acuerdo con un proceso adecuado. Tenga en cuenta realizar una evaluación de la significancia de los parámetros, interpretación y proponga un método de evaluación por medio de validación cruzada. Presente métricas apropiadas como el AUC y la curva ROC.
library(readxl)
datos_credito <- read_excel("C:/Users/Luisa/Desktop/metodos estadisticos para toma de decisiones/Unidad 3/Datos_Creditos.xlsx")
datos_credito$DEFAULT = as.factor(datos_credito$DEFAULT)
attach(datos_credito)
#Modelo de Regresión Logistico Multiple.
mod1_credito=glm(DEFAULT~EDAD+INGRESOS+ANTIUEDAD+CUOTA_TOTAL,data = datos_credito,family = "binomial")
mod1_credito
##
## Call: glm(formula = DEFAULT ~ EDAD + INGRESOS + ANTIUEDAD + CUOTA_TOTAL,
## family = "binomial", data = datos_credito)
##
## Coefficients:
## (Intercept) EDAD INGRESOS ANTIUEDAD CUOTA_TOTAL
## -3.193e+00 2.229e-02 -2.615e-07 -4.616e-02 1.013e-06
##
## Degrees of Freedom: 779 Total (i.e. Null); 775 Residual
## Null Deviance: 309.7
## Residual Deviance: 287.5 AIC: 297.5
summary(mod1_credito)
##
## Call:
## glm(formula = DEFAULT ~ EDAD + INGRESOS + ANTIUEDAD + CUOTA_TOTAL,
## family = "binomial", data = datos_credito)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.9181 -0.3672 -0.2873 -0.1917 3.1332
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -3.193e+00 9.306e-01 -3.431 0.000601 ***
## EDAD 2.229e-02 1.932e-02 1.154 0.248641
## INGRESOS -2.615e-07 1.057e-07 -2.474 0.013348 *
## ANTIUEDAD -4.616e-02 2.353e-02 -1.961 0.049849 *
## CUOTA_TOTAL 1.013e-06 2.473e-07 4.098 4.16e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 287.49 on 775 degrees of freedom
## AIC: 297.49
##
## Number of Fisher Scoring iterations: 6
# Interpretacion:
# 1. Según lo visto con el modelo, podemos decir que la unica variable que no es significativa es la de la edad, lo mismo que la antiguedad. Por otro lado, nos muestra que aunque los ingresos son importantes, lo que es mas determinante dentro del modelo es la cuota que las personas pagan por el credito.
# 2. Se puede decir tambien que: si la edad es mayor, el riesgo de default seria mas alto. Entre mas alto sean los ingresos hay menos posibilidad de default, lo mismo con la antiguedad, entre mas antiguedad menor posibilidad de default. En cuanto a la cuota, entre esta sea mas alta, hay mayor probabilidad de default.
#Correlacion
library(GGally)
library(dplyr)
ggpairs(select_if(datos_credito, is.numeric), lower = list(continuous = "smooth"), diag = list(continuous = "barDiag"), axisLabels = "none")
# Interpretacion: De acuerdo a la correlacion podemos ver que puede existir multicolinealidad entre la variable de edad y antiguedad, por lo que se realizara un analisis para saber que variable no deberia estar dentro del modelo.
# Modelo mejorado
mod1_credito_mejorado = step(mod1_credito)
## Start: AIC=297.49
## DEFAULT ~ EDAD + INGRESOS + ANTIUEDAD + CUOTA_TOTAL
##
## Df Deviance AIC
## - EDAD 1 288.79 296.79
## <none> 287.49 297.49
## - ANTIUEDAD 1 291.28 299.28
## - INGRESOS 1 294.76 302.76
## - CUOTA_TOTAL 1 304.34 312.34
##
## Step: AIC=296.78
## DEFAULT ~ INGRESOS + ANTIUEDAD + CUOTA_TOTAL
##
## Df Deviance AIC
## <none> 288.79 296.79
## - ANTIUEDAD 1 291.37 297.37
## - INGRESOS 1 295.61 301.61
## - CUOTA_TOTAL 1 304.95 310.95
mod1_credito_mejorado
##
## Call: glm(formula = DEFAULT ~ INGRESOS + ANTIUEDAD + CUOTA_TOTAL, family = "binomial",
## data = datos_credito)
##
## Coefficients:
## (Intercept) INGRESOS ANTIUEDAD CUOTA_TOTAL
## -2.244e+00 -2.542e-07 -2.817e-02 9.860e-07
##
## Degrees of Freedom: 779 Total (i.e. Null); 776 Residual
## Null Deviance: 309.7
## Residual Deviance: 288.8 AIC: 296.8
summary(mod1_credito_mejorado)
##
## Call:
## glm(formula = DEFAULT ~ INGRESOS + ANTIUEDAD + CUOTA_TOTAL, family = "binomial",
## data = datos_credito)
##
## Deviance Residuals:
## Min 1Q Median 3Q Max
## -0.8147 -0.3724 -0.2868 -0.1938 3.1088
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -2.244e+00 3.933e-01 -5.707 1.15e-08 ***
## INGRESOS -2.542e-07 1.059e-07 -2.400 0.0164 *
## ANTIUEDAD -2.817e-02 1.803e-02 -1.562 0.1183
## CUOTA_TOTAL 9.860e-07 2.456e-07 4.014 5.96e-05 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 309.68 on 779 degrees of freedom
## Residual deviance: 288.78 on 776 degrees of freedom
## AIC: 296.78
##
## Number of Fisher Scoring iterations: 6
# Interpretacion: De acuerdo a lo que nos muestra el modelo mejorado debemos sacar la variable de edad ya que puede que exista multicolinealidad entre la variable de antiguedad y la de edad.
#Graficos
attach(datos_credito)
require(CGPfunctions)
require(ggpubr)
require(plotly)
#GRAFICO DEFAULT
g_default=ggplot(datos_credito,aes(x=DEFAULT))+geom_bar()+theme_bw()
g_default
round(prop.table(table(datos_credito$DEFAULT))*100,digits = 0)
##
## 0 1
## 95 5
# Interpretacion:Para empezar podemos ver que dentro del riesgo de default,la cantidad de personas con mayor riesgo son menores que las de menor riesgo. En la tabla nos muestra que entre el total de las personas solo un 5% tiene riesgo de default.
#GRAFICO ANALISIS UNIVARIADO
g1_edad= ggplot(datos_credito,aes(x=EDAD))+geom_histogram()+theme_bw()
g2_ingreso_c= ggplot(datos_credito,aes(x=INGRESOS))+geom_histogram()+theme_bw()
ingreso_promedio_credito= round(mean(datos_credito$INGRESOS),0)
ingreso_promedio_credito
## [1] 5366430
summary(INGRESOS)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 633825 3583324 5038962 5366430 6844098 22197021
g3_antiguedad= ggplot(datos_credito,aes(x=ANTIUEDAD))+geom_histogram()+theme_bw()
summary(ANTIUEDAD)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.2548 7.3767 15.1192 18.0353 30.6637 37.3178
g4_cuota= ggplot(datos_credito,aes(x=CUOTA_TOTAL))+geom_histogram()+theme_bw()
summary(CUOTA_TOTAL)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 387 328516 694460 885206 1244126 6664588
graf_variables=ggarrange(g1_edad, g2_ingreso_c, g3_antiguedad,g4_cuota,labels = c("A", "B","C","D"), ncol = 2, nrow = 2)
graf_variables
# Interpretacion:
# 1.Para empezar podemos ver que, las personas con credito se encuentran en su mayoria en un rango de edad de entre 50 a 70 años.
# 2. Los ingresos promedio de las personas con credito son de $5.366.430.
# 3. La cuota total promedio de las personas es de $885.206.
# 4. En cuanto a la antiguedad con el credito se logra ver que en promedio las personas llevan con ellos 18 años.
#GRAFICO ANALISIS BIVARIADO.
g1_credito_ingresos=ggplot(datos_credito,aes(x=DEFAULT, y=INGRESOS, fill=DEFAULT))+geom_boxplot(outlier.colour = "red", outlier.shape = 1)+theme_bw()+geom_jitter(width = 0.1)
g1_credito_ingresos
g2_credito_antiguedad=ggplot(datos_credito,aes(x=DEFAULT, y=ANTIUEDAD, fill=DEFAULT))+geom_boxplot(outlier.colour = "red", outlier.shape = 1)+theme_bw()+geom_jitter(width = 0.1)
g2_credito_antiguedad
g3_credito_cuota=ggplot(datos_credito,aes(x=DEFAULT, y=CUOTA_TOTAL, fill=DEFAULT))+geom_boxplot(outlier.colour = "red", outlier.shape = 1)+theme_bw()+geom_jitter(width = 0.1)
g3_credito_cuota
g4_credito_edad=ggplot(datos_credito,aes(x=DEFAULT, y=EDAD, fill=DEFAULT))+geom_boxplot(outlier.colour = "red", outlier.shape = 1)+theme_bw()+geom_jitter(width = 0.1)
g4_credito_edad
# Interpretacion: Lo que nos muestran los graficos es que claramente el ingreso y la antiguedad si son bastante significativos, ya que entre menor sea el ingreso existe mayor default y entre mayor sea la antiguedad hay menor default.
ROC Y AUC
attach(datos_credito)
#ROC
library(ROCR)
prediccion_1credito= predict.glm(mod1_credito_mejorado, newdata = datos_credito, type = "response")
resultado_1credito=table(datos_credito$DEFAULT, ifelse(prediccion_1credito>0.2,1,0))
resultado_1credito
##
## 0 1
## 0 738 3
## 1 38 1
prediccion_default= ROCR::prediction(prediccion_1credito,datos_credito$DEFAULT)
perf_credito= performance(prediction.obj = prediccion_default, "tpr", "fpr")
plot(perf_credito)
abline(a = 0, b = 1,col="red")
grid()
#AUC
AUC_1credito= performance(prediccion_default,measure = "auc")@y.values[[1]]
cat("AUC: ",AUC_1credito,"n")
## AUC: 0.6922385 n
#Interpretacion: <0.6 malo, 0.6-0.7 regular,0.7-0.8 aceptable, 0.8-0.9 bueno, y 1 es muy bueno.
# De acuerdo con el Área bajo la curva de 0.69 indica que el modelo es regular y no se recomendaría para realizar predicciones.