library(rpart) library(rpart.plot)
v <- iris$Species
table(v) set.seed(522)
iris[, ‘train’] <- ifelse(runif(nrow(iris)) < 0.75, 1, 0)
trainSet <- iris[iris$train == 1,] testSet <- iris[iris$train == 0, ]
trainColNum <- grep(‘train’, names(trainSet))
trainSet <- trainSet[, -trainColNum] testSet <- testSet[, -trainColNum]
treeFit <- rpart(Species~.,data=trainSet,method = ‘class’) print(treeFit) rpart.plot(treeFit, box.col=c(“red”, “green”))
Prediction1 <- predict(treeFit,newdata=testSet[-5],type = ‘class’)
library(caret) confusionMatrix(Prediction1,testSet\(Species) ## Pruning the decision tree printcp(treeFit) opt <- which.min(treeFit\)cptable[,‘xerror’])
cp <- treeFit$cptable[opt, ‘CP’] pruned_model <- prune(treeFit,cp) rpart.plot(pruned_model, box.col=c(“red”, “green”))