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!

R - Decision Tree

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:

  1. Apakah hujan?
  2. Apakah saya memiliki cukup waktu?
  3. 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:

  1. rpart() adalah fungsi yang kita gunakan untuk membuat pohon keputusan.
  2. buy_icecream ~ temperature + is_weekend mengatakan kepada R bahwa kita ingin menebak buy_icecream berdasarkan temperature dan is_weekend.
  3. data = ice_cream_data menentukan dataset kita.
  4. method = "class" mengatakan kepada R bahwa kita melakukan tugas kelasifikasi (menebak kategori).
  5. 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:

  1. Node paling atas (root) menunjukkan pemisahan pertama. Itu mungkin seperti "temperature < 76".
  2. Jika benar (ya), itu pergi ke cabang kiri; jika salah (tidak), itu pergi ke cabang kanan.
  3. 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