Lab-8 17mis7172
Lab-8 17mis7172
17MIS7172
library(plyr)
library(randomForest)
library(rpart)
library(rpart.plot)
library(caret)
library(ggplot2)
library(gridExtra)
library(olsrr)
dataset = read.csv('C:/Users/Abhishek/Downloads/train.csv')
test1=read.csv('C:/Users/Abhishek/Downloads/test.csv')
summary(dataset)
sum(is.na(dataset$State))
sum(is.na(dataset$Account.length))
sum(is.na(dataset$Area.code))
sum(is.na(dataset$International.plan))
sum(is.na(dataset$Voice.mail.plan))
sum(is.na(dataset$Number.vmail.messages))
sum(is.na(dataset$Total.day.minutes))
sum(is.na(dataset$Total.day.calls))
sum(is.na(dataset$Total.day.charge))
sum(is.na(dataset$Total.eve.minutes))
sum(is.na(dataset$Total.eve.calls))
sum(is.na(dataset$Total.eve.charge))
sum(is.na(dataset$Total.night.minutes))
sum(is.na(dataset$Total.night.charge))
sum(is.na(dataset$Total.night.calls))
sum(is.na(dataset$Total.intl.minutes))
sum(is.na(dataset$Total.intl.calls))
sum(is.na(dataset$Total.intl.charge))
sum(is.na(dataset$Customer.service.calls))
sum(is.na(dataset$Churn))
str(dataset)
table(dataset$State)
table(test1$State)
str(dataset)
dataset$State=as.integer(as.factor(dataset$State))
dataset$International.plan=as.integer(as.factor(dataset$International.plan))
dataset$International.plan[dataset$International.plan<=1]<-0
dataset$International.plan[dataset$International.plan==2]<-1
dataset$Voice.mail.plan=as.integer(as.factor(dataset$Voice.mail.plan))
dataset$Voice.mail.plan[dataset$Voice.mail.plan<=1]<-0
dataset$Voice.mail.plan[dataset$Voice.mail.plan==2]<-1
dataset$Churn=as.integer(as.factor(dataset$Churn))
dataset$Churn[dataset$Churn<=1]<-0
dataset$Churn[dataset$Churn==2]<-1
test1$State=as.integer(as.factor(test1$State))
test1$International.plan=as.integer(as.factor(test1$International.plan))
test1$Voice.mail.plan=as.integer(as.factor(test1$Voice.mail.plan))
test1$Churn=as.integer(as.factor(test1$Churn))
test1$Churn[test1$Churn<=1]<-0
test1$Churn[test1$Churn==2]<-1
# Building correplot to visualize the correlartion matrix
library(corrplot)
cor(dataset,dataset$Churn)
ols_step_forward_p(model)
ols_step_backward_p(model)
str(dataset)
#decision tree
library(rpart)
library(rpart.plot)
library(ROSE)
library(Metrics)
library(caret)
f<-rpart(Churn ~ International.plan
+Customer.service.calls+Total.day.charge+Voice.mail.plan+Total.intl.charge+
Total.intl.calls+Total.eve.minutes+Total.night.charge+Number.vmail.messages,method =
"class",data = dataset)
testnew<-test1[c(4,19,9,5,18,17,10,15,6)]
testnew$International.plan[testnew$International.plan<=1]<-0
testnew$International.plan[testnew$International.plan==2]<-1
testnew$Voice.mail.plan[testnew$Voice.mail.plan<=1]<-0
testnew$Voice.mail.plan[testnew$Voice.mail.plan==2]<-1
predict_model<-predict(f,testnew,type = 'class')
predict_table<-table(test1$Churn,predict_model)
predict_table
precision(predict_table)
recall(predict_table)
accuracy(predict_model,test1$Churn)
#logistic
library(caTools)
library(ROCR)
model<-glm(Churn ~ International.plan
+Customer.service.calls+Total.day.charge+Voice.mail.plan+Total.intl.charge+
Total.intl.calls+Total.eve.minutes+Total.night.charge+Number.vmail.messages, data=dataset)
model
predict_reg
x.measure = "fpr")
ROCPer
plot(ROCPer)
abline(a = 0, b = 1)
auc
log_table<-table(test1$Churn,predict_reg)
log_table
accuracy(predict_reg,test1$Churn)
OUTPUT:-