Menu
CoddyTech

Karar Ağacı

Coddy'nin Makine Öğrenmesine Giriş kursunda ders 17 / 19.

Karar Ağacı (Decision Tree), hem sınıflandırma hem de regresyon görevleri için kullanılan doğrusal olmayan bir modeldir. Diğer algoritmalara göre insan karar verme sürecini daha yakından yansıtır, bu da onu karmaşık veri kümelerini işlemek için hem sezgisel hem de güçlü kılar. Temelinde, bir karar ağacı verileri bir dizi basit kural kullanarak alt kümelere ayırır; bu, veri noktalarının özellikleri hakkında bir dizi evet/hayır sorusu sormaya benzer.
 

Kaynak: wikipedia

Bir karar ağacını, şunların olduğu ağaç benzeri bir grafik olarak hayal edin:

  • Her iç düğüm bir öznitelik üzerindeki bir "testi" temsil eder (örneğin, bir yazı tura atışının tura mı yoksa yazı mı geldiği), 
  • Her dal testin sonucunu temsil eder ve
  • Her yaprak düğüm bir sınıf etiketini temsil eder (tüm öznitelikler hesaplandıktan sonra alınan karar).

Karar Ağacı Türleri:

  • Sınıflandırma Ağaçları: Tahmin edilen sonuç verinin ait olduğu sınıf olduğunda kullanılır.
  • Regresyon Ağaçları: Tahmin edilen sonuç gerçek bir sayı olarak kabul edilebildiğinde kullanılır (örneğin, bir evin fiyatı).


 

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

challenge icon

Görev

Orta

Aşağıdaki formatta bir kural listesi alan decide_outcome adında bir fonksiyon oluşturun:

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

}

Ve sonuç karşılandığında veya karşılanmadığında hangi kurala geçileceğini alan bir yapı:

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,
}

Çıktı rule4 olmalıdır

  • 8 is bigger than 5 (True) → şuradan rule2 kuralına git: "rule1": {True: "rule2", False: "rule3"},
  • 10 is smaller than 7 (False) → şuradan rule4 kuralına git: "rule2": {True: "rule3", False: "rule4"},
  • Devam etmek için başka bir yol yok, bu nedenle çıktı rule4 olur

Her zaman <strong>rule1</strong> kuralından başlayın

Kendin dene

def decide_outcome(rules, outcome, point):
    current_rule = "rule1"
    # Kodunuzu buraya yazın

Makine Öğrenmesine Giriş bölümündeki tüm dersler

Kendi başına pratik yap: Online Python derleyicisi