Decision Tree

Company dataset

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 |           | 
## -----------------------|-----------|-----------|-----------|
## 
##