Memanggil Library
library(rpart)
library(rpart.plot)
## Warning: package 'rpart.plot' was built under R version 4.5.3
library(data.tree)
## Warning: package 'data.tree' was built under R version 4.5.3
Dataset
Data <- data.frame(
Cuaca = c("Cerah","Cerah","Mendung","Hujan",
"Hujan","Mendung","Cerah","Hujan"),
Angin = c("Lemah","Kuat","Lemah","Lemah",
"Kuat","Kuat","Lemah","Lemah"),
Bermain = c("Ya","Tidak","Ya","Ya",
"Tidak","Ya","Ya","Ya")
)
Data
## Cuaca Angin Bermain
## 1 Cerah Lemah Ya
## 2 Cerah Kuat Tidak
## 3 Mendung Lemah Ya
## 4 Hujan Lemah Ya
## 5 Hujan Kuat Tidak
## 6 Mendung Kuat Ya
## 7 Cerah Lemah Ya
## 8 Hujan Lemah Ya
Membangun Model Decision Tree
model <- rpart(
Bermain ~ Cuaca + Angin,
data = Data,
method = "class",
parms = list(split = "information"),
control = rpart.control(
minsplit = 1,
cp = 0
)
)
model
## n= 8
##
## node), split, n, loss, yval, (yprob)
## * denotes terminal node
##
## 1) root 8 2 Ya (0.2500000 0.7500000)
## 2) Angin=Kuat 3 1 Tidak (0.6666667 0.3333333)
## 4) Cuaca=Cerah,Hujan 2 0 Tidak (1.0000000 0.0000000) *
## 5) Cuaca=Mendung 1 0 Ya (0.0000000 1.0000000) *
## 3) Angin=Lemah 5 0 Ya (0.0000000 1.0000000) *
Visualisasi Decision Tree
rpart.plot(
model,
type = 3,
extra = 104,
box.palette = "Blues",
shadow.col = "gray90",
branch.lty = 1,
cex = 1.1,
fallen.leaves = TRUE,
nn = FALSE,
faclen = 0,
main = "Visualisasi Decision Tree Prediksi Bermain"
)

Prediksi Data Baru
Lakukan prediksi terhadap data berikut
Cuaca : Hujan
Angin : Kuat
hasil <- predict(
model,
data.frame(
Cuaca = "Hujan",
Angin = "Kuat"
),
type = "class"
)
cat("Hasil Prediksi:", as.character(hasil))
## Hasil Prediksi: Tidak