You are on page 1of 2

install.packages(c("rpart", "caret", "e1071", "rpart.

plot"))
library(rpart); library(caret) ;library(readr); library(e1071)
library(rpart.plot)
prueba_xy <- read_csv("C:/Users/Adm/Downloads/Prueba_Tecnica_Tigo.csv")

prueba_xy$Churn <- ifelse(prueba_xy$Churn == "Yes", 1, 0)

# modelo_logistico <- glm(Churn~., data= prueba_xy, family ="binomial")

arbol_clasif <- rpart(formula = Churn~ ., data = prueba_xy,


control = rpart.control(cp = 0), method = "class")

png("C:/Users/Adm/Downloads/arbol_completo.png")
rpart.plot(arbol_clasif, extra = 2)
dev.off()

pred_compl <- predict(arbol_clasif, newdata = prueba_xy, type = 'class')

eval_compl <- caret::confusionMatrix(factor(prueba_xy$Churn),factor(pred_compl))

arbol_clasif$

___________________________________________________________________________________
_____

install.packages(c("rpart", "caret", "e1071", "rpart.plot"))


library(rpart); library(caret) ;library(readr); library(e1071)
library(rpart.plot)
prueba_xy <- read_csv("C:/Users/Adm/Downloads/Prueba_Tecnica_Tigo.csv")

prueba_xy$Churn <- ifelse(prueba_xy$Churn == "Yes", 1, 0)

modelo_logistico <- glm(Churn~., data= prueba_xy[, -1], family ="binomial")

summary(modelo_logistico) -> resumen_log

rownames(resumen_log$coefficients)[resumen_log$coefficients[, 4] < 0.1]

formula_sig <- as.formula(Churn ~ SeniorCitizen + Dependents + tenure +


MultipleLines +
InternetService + StreamingTV +
StreamingMovies + Contract +
PaperlessBilling + PaymentMethod + TotalCharges)

arbol_clasif <- rpart(formula = Churn~ ., data = prueba_xy[, -1],


control = rpart.control(cp = 0), method = "class")

pdf("C:/Users/Adm/Downloads/arbol_completo.pdf")
rpart.plot(arbol_clasif, extra = 2)
dev.off()

pred_compl <- predict(arbol_clasif, newdata = prueba_xy, type = 'class')

eval_compl <- caret::confusionMatrix(factor(prueba_xy$Churn),factor(pred_compl))


eval_compl

arbol_clasif$cptable[which.min(arbol_clasif$cptable[, "xerror"]), "CP"] -> min_cp

arbol_poda <- rpart(formula = Churn~ ., data = prueba_xy[, -1],


control = rpart.control(cp = min_cp), method = "class")

pdf("C:/Users/Adm/Downloads/arbol_poda.pdf")
rpart.plot(arbol_poda, extra = 2)
dev.off()

pred_poda <- predict(arbol_poda, newdata = prueba_xy, type = 'class')

eval_poda <- caret::confusionMatrix(factor(prueba_xy$Churn),factor(pred_poda))


eval_poda

arbol_sig <- rpart(formula = formula_sig, data = prueba_xy,


control = rpart.control(cp = 0), method = "class")

pdf("C:/Users/Adm/Downloads/arbol_sig.pdf")
rpart.plot(arbol_sig, extra = 2)
dev.off()

pred_sig <- predict(arbol_sig, newdata = prueba_xy, type = 'class')

options(scipen = 999)
eval_sig <- caret::confusionMatrix(factor(prueba_xy$Churn),factor(pred_sig))
eval_sig$overall[1]*100
eval_compl$overall[1]*100
eval_poda$overall[1]*100

eval_sig$table
eval_compl$table
eval_poda$table

You might also like