Karar Ağaçları (Decision Trees) – 2

Her bir düğüm (node) gini özelliğine sahiptir: gini özelliği o düğümün “kirlilik” (impurity) ni ölçer: Eğer o düğümdeki eğitim örneklerinin hepsi aynı sınıftan ise, düğüm saftır (gini = 0) denir. Formulü ise:

CodeCogsEqn
Gini impurity formülü

CART Algoritması

Scikit-Learn’in karar ağaçları için CART algoritmasını kullandığını bir önceki yazıda söylemiştim. Algoritmadan bahsedelim: algoritma ilk olarak eğitim verilerini tek bir öznitelik ve bir eşik değeri kullanarak iki altkümeye ayırmaktadır. Bu özniteliği ve eşik değerini de olabildiğince saf düğümler oluşturacak şekilde seçmektedir. Daha sonra oluşturduğu bu altkümeleri aynı mantıkla ikiye bölerek devam etmektedir. Peki nereye kadar? Ya kirlilik değerini 0 yapana kadar, ya da max_depth parametresi ile belirlenen derinliğe ulaşana kadar.

Gini impurity ya da Entropi?

Bir düğümün kirliliğini ölçmek için “entropi” de kullanılabilir. Makine öğrenimi için entropi kavramından bahsedersek, bir kümedeki elemanların hepsi aynı sınıftan ise, entropi sıfırdır denir. Aşağıda entropinin formulü verilmiştir:

CodeCogsEqn (1)
Entropi

Peki hangisini kullanmalıyız? Çoğu zaman her ikisi de sonuç olarak aynı ağacı oluşturmaktadır. Gini impurity, daha hızlı çalışmaktadır.  O yüzden varsayılan olarak iyi bir seçim olabilir.

Bir sonraki yazıda görüşmek üzere.

Kaynaklar

  1. Geron, A. (2017). Hands-On Machine Learning with Scikit-Learn and TensorFlow Concepts, Tools, and Techniques for Building Intelligent Systems. Sebastopol: OReilly UK Ltd.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s