#' Logistic Regression example 01
#'
#' based on https://www.r-bloggers.com/how-to-perform-a-logistic-regression-in-r/
#' @export
logit_example_02 <- function() {
training.data.raw <- read.csv('./data/logit/k-titanic/train.csv',header=T,na.strings=c(""))
nrow(training.data.raw)
sapply(training.data.raw,function(x) sum(is.na(x)))
sapply(training.data.raw, function(x) length(unique(x)))
missmap(training.data.raw, main = "Missing values vs observed")
# drop column
data <- subset(training.data.raw,select=c(2,3,5,6,7,8,10,12))
head(data, n=10)
data$Age[is.na(data$Age)] <- mean(data$Age,na.rm=T)
is.factor(data$Sex)
is.factor(data$Embarked)
contrasts(data$Sex)
contrasts(data$Embarked)
data <- data[!is.na(data$Embarked),]
rownames(data) <- NULL
train <- data[1:800,]
test <- data[801:889,]
model <- glm(Survived ~ ., family=binomial(link='logit'),data=train)
summary(model)
anova(model, test="Chisq")
# predict
fitted.results <- predict(model,newdata=subset(test,select=c(2,3,4,5,6,7,8)),type='response')
fitted.results <- ifelse(fitted.results > 0.5,1,0)
fitted.results
misClasificError <- mean(fitted.results != test$Survived)
print(paste('Accuracy',1-misClasificError))
# ROC & AUC
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.