-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathQ4.R
More file actions
51 lines (33 loc) · 1.36 KB
/
Q4.R
File metadata and controls
51 lines (33 loc) · 1.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
read data
rm(list = ls())
setwd("G:/My Drive/Chantelle Bambie/")
bank_data <- read.csv("bank_data.csv", sep=";")
bank_data <-read.csv("~/Documents/BIA715/bank_data.csv",header=TRUE, sep=",")
names(bank_data)
library(dplyr)
# log1p transformation
log1p(bank_data)
for(x in 2:ncol(bank_data))
{
bank_data[,x] <- log1p(bank_data[,x])
bank_data[,x] <- ifelse(bank_data[,x]==-Inf,NA,bank_data[,x])
}
rm(x)
#removing NAs
bank_data <- na.omit(bank_data)
bank_data <- bank_data %>% dplyr::mutate(acquire = as.numeric(acquire))
set.seed(3973098)
# selecting my data
bank_data <- bank_data[sample(1:nrow(bank_data),2000,replace = F),]
# Partitioning 70:30
train <- sample(1:nrow(bank_data), 2000*0.7 , replace = FALSE)
training <- bank_data[train,]
validation <- bank_data[-train,]
# full logistic regression:
logistic_reg <- glm(acquire~ atmct+adbdda+ddatot+ddadep+income+invest+atres+savbal, family = binomial(link = "logit"), data = training)
training <- training %>% mutate(predicted = round(predict(logistic_reg,type = "response")))
misclass_rate_training = sum(training$acquire!=training$predicted)/nrow(training)
misclass_rate_training
validation <- validation %>% mutate(predicted = round(predict(logistic_reg,newdata = validation,type = "response")))
misclass_rate_validation = sum(validation$acquire!=validation$predicted)/nrow(validation)
misclass_rate_validation