Assignment 27
#install.packages("C50")
#install.packages("tree")
library(C50)
## Warning: package 'C50' was built under R version 3.5.1
library(tree)
## Warning: package 'tree' was built under R version 3.5.1
mydata <- read.csv("C:\\Users\\RISHI RAHUL\\Desktop\\DS\\10 Decision Trees\\Assignment\\Company_Data.csv")
colnames(mydata)
## [1] "Sales" "CompPrice" "Income" "Advertising" "Population"
## [6] "Price" "ShelveLoc" "Age" "Education" "Urban"
## [11] "US"
#summary(mydata)
Sales_Result <- NULL
Sales_Result <- ifelse(mydata$Sales > 7.490,1,0)
mydata[,"Sales_Result"] <- Sales_Result
mydata$ShelveLoc <- as.factor(mydata$ShelveLoc)
mydata$Urban <- as.factor(mydata$Urban)
mydata$US <- as.factor(mydata$US)
mydata$Sales_Result <- as.factor(mydata$Sales_Result)
sales_high <- mydata[mydata$Sales_Result == "1",]
sales_low <- mydata[mydata$Sales_Result == "0",]
data_train <- rbind(sales_high[1:150,], sales_low[1:150,])
data_test <- rbind(sales_high[151:199,], sales_low[151:201,])
trained_model <- C5.0(data_train[,-c(12)], data_train$Sales_Result)
plot(trained_model)

mean(data_train$Sales_Result == predict(trained_model, data_train))
## [1] 1
pred_test <- predict(trained_model, newdata = data_test)
mean(pred_test == data_test$Sales_Result)
## [1] 1
#install.packages("gmodels")
library(gmodels)
## Warning: package 'gmodels' was built under R version 3.5.1
CrossTable(data_test$Sales_Result, pred_test)
##
##
## Cell Contents
## |-------------------------|
## | N |
## | Chi-square contribution |
## | N / Row Total |
## | N / Col Total |
## | N / Table Total |
## |-------------------------|
##
##
## Total Observations in Table: 100
##
##
## | pred_test
## data_test$Sales_Result | 0 | 1 | Row Total |
## -----------------------|-----------|-----------|-----------|
## 0 | 51 | 0 | 51 |
## | 24.010 | 24.990 | |
## | 1.000 | 0.000 | 0.510 |
## | 1.000 | 0.000 | |
## | 0.510 | 0.000 | |
## -----------------------|-----------|-----------|-----------|
## 1 | 0 | 49 | 49 |
## | 24.990 | 26.010 | |
## | 0.000 | 1.000 | 0.490 |
## | 0.000 | 1.000 | |
## | 0.000 | 0.490 | |
## -----------------------|-----------|-----------|-----------|
## Column Total | 51 | 49 | 100 |
## | 0.510 | 0.490 | |
## -----------------------|-----------|-----------|-----------|
##
##