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).
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.
Tantangan
SedangBuat 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 kerule2berdasarkan"rule1": {True: "rule2", False: "rule3"},10 is smaller than 7 (False)→ lanjut kerule4berdasarkan"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 siniSemua pelajaran di Pengantar Machine Learning
Latihan sendiri: Compiler Python online