30 lines
1.2 KiB
R
30 lines
1.2 KiB
R
|
|
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]
|
||
|
|
|