Bölme kriteri
- Makine Öğrenmesi kursu
- Başlangıç
- Ders 54/112
- 5 dk
Karar ağaçları, gini veya entropy kriteriyle veriyi böler.
Gini safsızlığı
Ağaç her adımda düğümleri en "saf" yapacak soruyu seçer. Saflık ölçüsü varsayılan olarak Gini'dir: 1 - Σ pᵢ². Tek sınıftan oluşan düğümde Gini 0'dır; iki sınıf eşit karışıksa 0.5'tir.
def gini(p):
p = np.array(p)
return 1 - (p ** 2).sum()
print(gini([1.0, 0.0])) # 0.0 saf
print(gini([0.5, 0.5])) # 0.5 en karışıkBir bölmenin değeri, çocuk düğümlerin ağırlıklı Gini ortalamasının ebeveynden ne kadar düştüğüdür.
Entropi
Diğer seçenek bilgi kuramından gelen entropidir: -Σ pᵢ log₂ pᵢ. Saf düğümde 0, iki sınıf eşitse 1'dir. Bölmenin entropiyi düşürmesine bilgi kazancı denir.
m = DecisionTreeClassifier(criterion="entropy", random_state=0)Pratikte Gini ile entropi çoğu zaman aynı ağacı üretir; Gini logaritma içermediği için biraz daha hızlıdır.
Uygulama Gini hesapla
Bir etiket listesinin Gini değerini veren gini(etiketler) fonksiyonunu yaz (sınıf oranlarını np.unique(..., return_counts=True) ile bul). [0, 0, 1, 1] ve [0, 0, 0, 1] için sonuçları yazdır.
Başlangıç kodu
import numpy as np
# buraya yazÖrnek çözüm
import numpy as np
def gini(etiketler):
_, sayi = np.unique(etiketler, return_counts=True)
p = sayi / sayi.sum()
return 1 - (p ** 2).sum()
print(gini([0, 0, 1, 1]))
print(gini([0, 0, 0, 1]))Beklenen çıktı
0.5 0.375
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Sınıf oranları 0.75 ve 0.25 olan bir düğümün Gini değeri kaçtır?
- 0.625
- 0.375 Doğru cevap
- 0.5
- 0.25
Açıklama: 1 - (0.75² + 0.25²) = 1 - (0.5625 + 0.0625) = 0.375.
2 Bölme ölçütü olarak entropiyi seç.
m = DecisionTreeClassifier(____="entropy")
m = DecisionTreeClassifier(criterion="entropy")
Açıklama: criterion "gini" (varsayılan), "entropy" ya da "log_loss" olabilir.
3 Değerleri eşleştir.
| Kavram | Anlamı |
|---|---|
Gini = 0 |
Saf düğüm |
Gini = 0.5 |
İki sınıf eşit karışık |
Entropi = 1 |
İki sınıf eşit (log₂) |
bilgi kazancı |
Entropideki düşüş |