diff --git a/Dropout LogReg.R b/Dropout LogReg.R new file mode 100644 index 0000000..ca55e57 --- /dev/null +++ b/Dropout LogReg.R @@ -0,0 +1,29 @@ +library(tidyverse) +library(caret) + +dropout_clean <- read.csv("C:/Users/Mark/Desktop/Grad School/PDAT630/dropout_clean.csv") +factor_cols=c("Marital.status","Scholarship.holder","Tuition.fees.up.to.date","Gender","Displaced","Daytime.evening.attendance","Course","Previous.qualification","Mother.s.qualification","Father.s.qualification","Mother.s.occupation","Father.s.occupation","International","Target") +dropout_clean[factor_cols] <- lapply(dropout_clean[factor_cols], factor) +dropout_clean_lg=mutate(dropout_clean, Target = as.factor(ifelse(Target == "Dropout", 0, 1))) +str(dropout_clean_lg) + +df.train <- sample_frac(dropout_clean_lg, size = .85) +df.test <- setdiff(dropout_clean_lg, df.train) + +## Logistic Regression +logreg = glm(Target~., family = "binomial", data = df.train) +coef(logreg) +summary(logreg) +pred=predict(logreg, df.test, type="response") +pred=as.factor(ifelse(pred>.5, 1, 0)) +confusionMatrix(as.factor(df.test$Target), pred)$overall[1] + + +## Stepwise +logreg.step=step(logreg) +coef(logreg.step) +summary(logreg.step) +pred.step=predict(logreg.step, df.test, type="response") +pred.step=as.factor(ifelse(pred.step>.5, 1, 0)) +confusionMatrix(as.factor(df.test$Target), pred.step)$overall[1] +