Decision Tree ML: Cara Kerja & Contoh Koding-nya

Decision Tree ML: Cara Kerja & Contoh Koding-nya

2026-02-05

Decision Tree adalah salah satu algoritma Machine Learning yang paling populer dan mudah dipahami. Algoritma ini sering digunakan sebagai pintu masuk untuk memahami konsep supervised learning karena logikanya menyerupai cara manusia mengambil keputusan sehari-hari. Dalam praktik data science, Decision Tree banyak dipakai untuk klasifikasi maupun regresi, terutama ketika interpretabilitas model menjadi prioritas utama.

Artikel ini membahas pengertian Decision Tree, cara kerjanya, komponen penting di dalamnya, kelebihan dan kekurangan, hingga contoh implementasi Decision Tree menggunakan Python.


Apa Itu Decision Tree dalam Machine Learning

Decision Tree adalah algoritma supervised learning yang membagi data ke dalam beberapa cabang berdasarkan kondisi tertentu. Setiap percabangan dibuat untuk memaksimalkan pemisahan data agar hasil prediksi semakin akurat.

Struktur Decision Tree terdiri dari:

  • Root Node: titik awal pohon keputusan
  • Decision Node: node yang melakukan pengujian terhadap fitur
  • Leaf Node: hasil akhir berupa kelas atau nilai prediksi
  • Branch: jalur keputusan dari satu node ke node lainnya

Karena strukturnya menyerupai pohon, algoritma ini dinamakan Decision Tree.


Cara Kerja Decision Tree

Decision Tree bekerja dengan memilih fitur terbaik sebagai pemisah data pada setiap level pohon. Pemilihan fitur dilakukan menggunakan metrik tertentu, tergantung pada jenis masalahnya.

Pada masalah klasifikasi, metrik yang umum digunakan adalah:

  • Gini Impurity
  • Entropy (Information Gain)

Sedangkan pada masalah regresi, biasanya digunakan:

  • Mean Squared Error (MSE)
  • Mean Absolute Error (MAE)

Proses kerjanya dapat diringkas sebagai berikut:

  1. Menghitung skor pemisahan untuk setiap fitur
  2. Memilih fitur dengan pemisahan terbaik sebagai node
  3. Membagi dataset ke dalam beberapa subset
  4. Mengulang proses hingga memenuhi kondisi berhenti

Contoh Kasus Decision Tree

Decision Tree sering digunakan dalam berbagai kasus nyata, seperti:

  • Memprediksi churn pelanggan
  • Klasifikasi email spam
  • Menentukan rekomendasi produk berdasarkan perilaku pengguna
  • Prediksi risiko penyakit berdasarkan data medis

Keunggulan utama Decision Tree terletak pada kemampuannya menjelaskan alasan di balik sebuah prediksi.


Contoh Dataset Sederhana

Misalkan terdapat dataset sederhana untuk memprediksi apakah seseorang membeli produk atau tidak berdasarkan usia dan pendapatan.

Usia Pendapatan Beli
25 Rendah Tidak
35 Tinggi Ya
45 Sedang Ya
23 Rendah Tidak

Fitur (feature) adalah usia dan pendapatan, sedangkan label adalah kolom beli.


Contoh Implementasi Decision Tree dengan Python

Berikut contoh sederhana menggunakan library scikit-learn.

Import Library

import pandasas pd
from sklearn.treeimport DecisionTreeClassifier
from sklearn.model_selectionimport train_test_split
from sklearn.preprocessingimport LabelEncoder

Membuat Dataset

data = {
"usia": [25,35,45,23,40,30],
"pendapatan": ["Rendah","Tinggi","Sedang","Rendah","Tinggi","Sedang"],
"beli": ["Tidak","Ya","Ya","Tidak","Ya","Tidak"]
}

df = pd.DataFrame(data)

Encoding Data Kategorikal

encoder = LabelEncoder()

df["pendapatan"] = encoder.fit_transform(df["pendapatan"])
df["beli"] = encoder.fit_transform(df["beli"])

Split Feature dan Label

X = df[["usia","pendapatan"]]
y = df["beli"]

X_train, X_test, y_train, y_test = train_test_split(
    X, y, test_size=0.2, random_state=42
)

Melatih (Training) Model Decision Tree

model = DecisionTreeClassifier(
    criterion="gini",
    max_depth=3
)

model.fit(X_train, y_train)

Melakukan Prediksi

prediksi = model.predict(X_test)
print(prediksi)

Contoh di atas menunjukkan bagaimana Decision Tree dapat dibangun hanya dengan beberapa baris kode.


Parameter Penting dalam Decision Tree

Beberapa parameter penting yang sering digunakan untuk mengontrol kompleksitas model:

  • max_depth: membatasi kedalaman pohon
  • min_samples_split: jumlah minimum data untuk melakukan split
  • min_samples_leaf: jumlah minimum data pada leaf node
  • criterion: metrik pemisahan (gini atau entropy)

Pengaturan parameter yang tepat membantu mencegah overfitting.


Kelebihan Decision Tree

Decision Tree memiliki beberapa keunggulan:

  • Mudah dipahami dan dijelaskan
  • Tidak memerlukan scaling data
  • Bisa menangani data numerik dan kategorikal
  • Cocok untuk analisis eksploratif

Karena sifatnya yang interpretatif, Decision Tree sering digunakan dalam domain bisnis dan keuangan.


Kekurangan Decision Tree

Meski populer, Decision Tree juga memiliki kelemahan:

  • Mudah mengalami overfitting
  • Sensitif terhadap perubahan data
  • Kurang stabil untuk dataset besar tanpa tuning

Untuk mengatasi kelemahan ini, sering digunakan algoritma turunan seperti Random Forest atau Gradient Boosting.


Kapan Menggunakan Decision Tree

Decision Tree cocok digunakan ketika:

  • Interpretasi model sangat penting
  • Dataset berukuran kecil hingga menengah
  • Hubungan antar fitur bersifat non-linear
  • Dibutuhkan baseline model yang cepat

Decision Tree sering menjadi model awal sebelum beralih ke algoritma yang lebih kompleks.


Decision Tree adalah algoritma Machine Learning yang sederhana, intuitif, dan powerful. Dengan memahami cara kerja dan implementasinya menggunakan Python, proses membangun model klasifikasi maupun regresi menjadi jauh lebih mudah. Dalam konteks pembelajaran Machine Learning di Nusacodes.com, Decision Tree menjadi fondasi penting sebelum melangkah ke ensemble learning dan model lanjutan lainnya.

Pemahaman yang kuat terhadap Decision Tree membantu dalam membaca logika model, menghindari kesalahan interpretasi, serta membangun solusi Machine Learning yang lebih efektif dan dapat dipertanggungjawabkan.