R - Decision Tree: Panduan untuk Pemula
Hai sana, para ahli data science masa depan! Hari ini, kita akan memulai perjalanan yang menarik ke dunia pohon keputusan menggunakan R. Jangan khawatir jika Anda belum pernah mengoding sebelumnya - saya akan menjadi panduan yang ramah setiap langkah jalan. Pada akhir panduan ini, Anda akan dapat membuat pohon keputusan Anda sendiri dan merasakan diri Anda seperti seorang ahli data yang sebenarnya!
Apa Itu Pohon Keputusan?
Sebelum kita masuk ke kode, mari kita pahami apa itu pohon keputusan. Bayangkan Anda mencoba untuk menentukan apakah akan jogging atau tidak. Anda mungkin bertanya kepada diri Anda:
- Apakah hujan?
- Apakah saya memiliki cukup waktu?
- Apakah saya merasa energik?
Based pada jawaban Anda, Anda membuat keputusan. Itu sebenarnya apa yang dilakukan pohon keputusan - membuat keputusan berdasarkan serangkaian pertanyaan!
Menginstal Paket R Yang Diperlukan
Hal pertama yang harus kita lakukan, kita perlu mempersiapkan alat yang tepat. Dalam R, alat ini disebut paket. Untuk perjalanan pohon keputusan kita, kita akan memerlukan dua paket utama: rpart
dan rpart.plot
.
Mari kita instalnya:
install.packages("rpart")
install.packages("rpart.plot")
Sekarang, mari kita muat paket-paket ini:
library(rpart)
library(rpart.plot)
Bagus sekali! Anda telah mengambil langkah pertama dalam pemrograman R. Kenaikan diri Anda!
Membuat Dataset Sederhana
Sekarang kita memiliki alat yang siap, mari kita buat dataset sederhana untuk bekerja dengannya. Bayangkan kita mencoba untuk menebak apakah seseorang akan membeli es krim berdasarkan suhu dan apakah itu adalah akhir minggu atau bukan.
# Buat data frame
ice_cream_data <- data.frame(
temperature = c(68, 85, 72, 90, 60, 78, 82, 75, 68, 71),
is_weekend = c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0),
buy_icecream = c(0, 1, 0, 1, 0, 1, 1, 0, 1, 0)
)
# Lihat data
print(ice_cream_data)
Dalam dataset ini:
-
temperature
dalam Fahrenheit -
is_weekend
adalah 1 untuk akhir minggu, 0 untuk hari kerja -
buy_icecream
adalah 1 jika mereka membeli es krim, 0 jika tidak
Membangun Pohon Keputusan Pertama Kita
Sekarang, mari kita bangun pohon keputusan kita!
# Buat model pohon keputusan
ice_cream_tree <- rpart(buy_icecream ~ temperature + is_weekend,
data = ice_cream_data,
method = "class")
# Plot pohon
rpart.plot(ice_cream_tree, extra = 106)
mari kitauraikan apa yang terjadi di sini:
-
rpart()
adalah fungsi yang kita gunakan untuk membuat pohon keputusan. -
buy_icecream ~ temperature + is_weekend
mengatakan kepada R bahwa kita ingin menebakbuy_icecream
berdasarkantemperature
danis_weekend
. -
data = ice_cream_data
menentukan dataset kita. -
method = "class"
mengatakan kepada R bahwa kita melakukan tugas kelasifikasi (menebak kategori). -
rpart.plot()
membuat representasi visual pohon kita.
Ketika Anda menjalankan kode ini, Anda akan melihat diagram pohon yang indah. Setiap node menunjukkan aturan keputusan, dan daun menunjukkan prediksi. Itu seperti suatu flowchart keputusan es krim!
Mengerti Pohon
Mari kita interpretasikan pohon keputusan es krim kita:
- Node paling atas (root) menunjukkan pemisahan pertama. Itu mungkin seperti "temperature < 76".
- Jika benar (ya), itu pergi ke cabang kiri; jika salah (tidak), itu pergi ke cabang kanan.
- Proses ini berlanjut sampai mencapai node daun, yang memberikan prediksi akhir.
Angka di node mewakili:
- Kelas yang diprediksi (0 atau 1)
- Probabilitas kelas itu
- Persentase observasi di node itu
Membuat Prediksi
Sekarang kita memiliki pohon, mari kita gunakan itu untuk membuat prediksi!
# Buat data baru
new_data <- data.frame(
temperature = c(70, 95),
is_weekend = c(1, 0)
)
# Buat prediksi
predictions <- predict(ice_cream_tree, new_data, type = "class")
# Lihat prediksi
print(predictions)
Kode ini memprediksi apakah seseorang akan membeli es krim pada suhu 70°F akhir minggu dan 95°F hari kerja.
Menilai Model
Untuk melihat bagaimana model kita ber performa, kita dapat menggunakan matriks konfusi:
# Buat prediksi pada data asli
predictions <- predict(ice_cream_tree, ice_cream_data, type = "class")
# Buat matriks konfusi
confusion_matrix <- table(Actual = ice_cream_data$buy_icecream, Predicted = predictions)
# Lihat matriks konfusi
print(confusion_matrix)
# Hitung akurasi
accuracy <- sum(diag(confusion_matrix)) / sum(confusion_matrix)
print(paste("Akurasi:", accuracy))
Ini memberikan kita pandangan cepat tentang berapa banyak prediksi yang benar dan salah.
Kesimpulan
Selamat! Anda telah membuat pohon keputusan pertama Anda dalam R. Dari menginstal paket hingga membuat prediksi, Anda telah melalui banyak langkah. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba dataset dan parameter yang berbeda.
Berikut adalah ringkasan metode yang kita gunakan:
Metode | Deskripsi |
---|---|
install.packages() | Menginstal paket R |
library() | Memuat paket yang diinstal |
data.frame() | Membuat data frame |
rpart() | Membangun pohon keputusan |
rpart.plot() | Mengvisualisasikan pohon keputusan |
predict() | Membuat prediksi menggunakan pohon |
table() | Membuat matriks konfusi |
Terus eksplorasi, terus belajar, dan terutama, bersenang-senang dengan ilmu data!
Credits: Image by storyset