Fazla uyumlu hale gelme ve budama
Yukarıda açıklanan algoritmayı kullanarak, örneklerin ayrılabilir olduğu varsayılarak eğitim örneklerini mükemmel şekilde sınıflandıracak bir karar ağacı eğitebiliriz. Ancak veri kümesi gürültü içeriyorsa bu ağaç verilere aşırı uyum sağlar ve test doğruluğu düşük olur.
Aşağıdaki şekilde, x özelliği ile y etiketi arasında doğrusal bir ilişki bulunan gürültülü bir veri kümesi gösterilmektedir. Şekilde, bu veri kümesinde herhangi bir normalleştirme türü olmadan eğitilen bir karar ağacı da gösterilmektedir. Bu model tüm eğitim örneklerini doğru tahmin ediyor (modelin tahmini eğitim örnekleriyle eşleşiyor). Ancak aynı doğrusal kalıbı ve farklı bir gürültü örneğini içeren yeni bir veri kümesinde model kötü performans gösterir.
Şekil 12. Gürültülü bir veri kümesi.
Karar ağacında aşırı uyumu sınırlamak için karar ağacını eğitirken aşağıdaki düzenleme ölçütlerinden birini veya ikisini birden uygulayın:
- Maksimum derinlik ayarlayın: Karar ağaçlarının 10 gibi bir maksimum derinliği aşmasını önleyin.
- Yaprağın minimum örnek sayısını ayarlayın: Belirli bir örnek sayısından az örneği olan yapraklar bölünmek üzere değerlendirilmez.
Aşağıdaki şekilde, yaprak başına farklı minimum örnek sayısının etkisi gösterilmektedir. Model, gürültüyü daha az yakalar.
Şekil 13. Yaprak başına farklı minimum örnek sayısı.
Ayrıca, belirli dalları seçerek kaldırarak (budama yaparak) yani belirli yaprak olmayan düğümleri yapraklara dönüştürerek de eğitimden sonra normalleştirme yapabilirsiniz. Kaldırılacak dalları seçmek için yaygın bir çözüm, doğrulama veri kümesi kullanmaktır. Yani, bir dalın kaldırılması doğrulama veri kümesinde modelin kalitesini iyileştirirse dal kaldırılır.
Aşağıdaki çizimde bu fikir gösterilmektedir. Burada, yeşil yapraklı olmayan bir düğüm yaprağa dönüştürülürse (yani turuncu düğümler budanırsa) karar ağacının doğrulama doğruluğunun iyileşip iyileşmeyeceğini test ediyoruz.
Şekil 14. Bir koşulu ve alt öğelerini bir yaprağa budama.
Aşağıdaki şekilde, karar ağacını budamak için veri kümesinin% 20'sinin doğrulama olarak kullanılmasının etkisi gösterilmektedir:
Şekil 15. Karar ağacını budamak için veri kümesinin% 20'sini kullanma.
Doğrulama veri kümesi kullanılmasının, karar ağacının ilk eğitimi için kullanılabilen örnek sayısını azalttığını unutmayın.
Birçok model üreticisi birden fazla ölçüt uygular. Örneğin, aşağıdakilerin tümünü yapabilirsiniz:
- Yaprak başına minimum sayıda örnek uygulayın.
- Karar ağacının büyümesini sınırlamak için maksimum derinlik uygulayın.
- Karar ağacını budayın.
- Minimum örnek sayısı 5'tir (
min_examples = 5
) - Eğitim veri kümesinin% 10'u doğrulama için saklanır (
validation_ratio = 0.1
).
validation_ratio=0.0
değerini ayarlayarak doğrulama veri kümesiyle budamayı devre dışı bırakabilirsiniz.
Bu ölçütler, genellikle otomatik hiper parametre ayarı ile ayarlanması gereken yeni hiper parametreler (ör. maksimum ağaç derinliği) sunar. Karar ağaçları, genellikle çapraz doğrulama ile hiperparametre ayarını kullanmak üzere eğitilecek kadar hızlıdır. Örneğin, "n" örneği olan bir veri kümesinde:
- Eğitim örneklerini p adet çakışmayan gruba ayırın. Örneğin:
p=10
. - Olası tüm hiper parametre değerleri için; örneğin, {3,5,6,7,8,9} aralığındaki maksimum derinlik, {5,8,10,20} aralığındaki minimum örnek sayısı.
- Her grupta, diğer p-1 gruplarında eğitilen bir karar ağacının kalitesini değerlendirin.
- Gruplar arasındaki değerlendirmenin ortalamasını alın.
- En iyi ortalama değerlendirmeye sahip hiper parametre değerini seçin.
- Seçilen hiper parametrelerle tüm "n" örneklerini kullanarak nihai bir karar ağacı eğitin.
Bu bölümde, karar ağaçlarının aşırı uyumu sınırlama yöntemleri ele alınmıştır. Bu yöntemlere rağmen, yetersiz uyum ve aşırı uyum karar ağaçlarının önemli zayıflıklarıdır. Karar ağaçları, aşırı uyumu sınırlamak için yeni yöntemler sunar. Bu yöntemlerden daha sonra bahsedeceğiz.
Doğrudan karar ağacı yorumu
Karar ağaçları kolayca yorumlanabilir. Bununla birlikte, birkaç örnek bile değiştirildiğinde karar ağacının yapısı ve dolayısıyla yorumu tamamen değişebilir.
Karar ağaçlarının oluşturulma şekli nedeniyle, eğitim örneklerini bölen bir karar ağacı kullanarak veri kümesinin kendisini (modelin aksine) yorumlayabilirsiniz. Her yaprak, veri kümesinin belirli bir köşesini temsil eder.
model.describe()
işlevini kullanarak ağaçları inceleyebilirsiniz.
model.get_tree()
ile tek tek ağaçlara erişebilir ve bunları çizebilirsiniz.
Daha fazla bilgi için
YDF'nin model inceleme eğitim videosuna bakın.
Ancak dolaylı yorum da bilgilendiricidir.