Menu
CoddyTech

Pohon Keputusan

Pelajaran 17 dari 19 dalam kursus Pengantar Machine Learning di Coddy.

Decision Tree adalah model nonlinier yang digunakan untuk tugas klasifikasi dan regresi. Model ini lebih menyerupai cara manusia mengambil keputusan dibandingkan algoritma lain, sehingga intuitif dan andal untuk menangani dataset yang kompleks. Pada dasarnya, decision tree membagi data menjadi beberapa subset menggunakan serangkaian aturan sederhana. Hal ini serupa dengan mengajukan serangkaian pertanyaan ya/tidak tentang fitur titik data.
 

Sumber: wikipedia

Bayangkan decision tree sebagai graf berbentuk pohon, dengan:

  • Setiap simpul internal mewakili "pengujian" pada suatu atribut (misalnya, apakah hasil lemparan koin adalah kepala atau ekor), 
  • Setiap cabang mewakili hasil pengujian, dan
  • Setiap simpul daun mewakili label class (keputusan yang diambil setelah menghitung semua atribut).

Jenis Decision Tree:

  • Pohon klasifikasi: Digunakan ketika hasil prediksi adalah class yang menjadi bagian dari data.
  • Pohon regresi: Digunakan ketika hasil prediksi dapat dianggap sebagai bilangan riil (misalnya, harga rumah).


 

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

challenge icon

Tantangan

Sedang

Buat fungsi bernama decide_outcome yang menerima list aturan dengan format berikut:

rules = {
	rule1: {"type": "bigger", "value": 5},
	rule2: {"type": "smaller", "value": 7},

}

Fungsi ini juga menerima aturan yang harus dilanjutkan, tergantung apakah hasilnya terpenuhi atau tidak:

outcome = {
	"rule1": {True: "rule2", False: "rule3"},
	"rule2": {True: "rule3", False: "rule4"},
	"rule3": {True: None, False: None}
	"rule4": {True: None, False: None}

}
data_point = {
	"rule1": 8,
	"rule2": 10,
}

Output-nya harus berupa rule4

  • 8 is bigger than 5 (True) → lanjut ke rule2 berdasarkan "rule1": {True: "rule2", False: "rule3"},
  • 10 is smaller than 7 (False) → lanjut ke rule4 berdasarkan "rule2": {True: "rule3", False: "rule4"},
  • Tidak ada cara lain untuk melanjutkan, jadi output-nya adalah rule4

Selalu mulai dari <strong>rule1</strong>

Coba sendiri

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # Tulis kodemu di sini

Semua pelajaran di Pengantar Machine Learning

Latihan sendiri: Compiler Python online