Karar Ağacı Öğrenmesi(Decision Tree Learning) Bu yazımızda karar ağacı öğrenmesini inceleyeceğiz. Öncelikle karar ağacı öğrenmesi danışmanlı öğrenmenin, danışmanlı öğrenme de makine öğrenmesinin bir alt dalıdır. İlk etapta makine öğrenmesi hakkında bilgi edindikten sonra konumuz olan karar ağacı öğrenmesine giriş yapacağız. Makine Öğrenmesi, verilen bir problemi probleme ait ortamdan edinilen veriye göre modelleyen bilgisayar algoritmalarının genel adıdır. Yoğun çalışılan bir konu olduğu için önerilmiş birçok yaklaşım ve algoritma mevcuttur. Bu yaklaşımların bir kısmı tahmin (prediction) ve kestirim (estimation) bir kısmı da sınıflandırma (classification) yapabilme yeteneğine sahiptir. Makine öğrenmesinde yer alan bu terimleri açıklayacak olursak; Tahmin (prediction): Veriden öğrenen modellerde sistem çıkışının nicel olması durumunda kullanılan yöntemlerin ürettiği değerlerdir. Sınıflandırma (classification): Giriş verisine ait çıkışların nitel olduğu durumlarda kullanılan yöntemlerin her veri örneğinin hangi sınıfa ait olduğunu belirlemesidir. Makine Öğrenmesi yöntemleri verinin yapısına göre ikiye ayrılır. Bunlar; Danışmanlı (Supervised) Öğrenme ve Danışmansız (Unsupervised) Öğrenme dir. Danışmanlı öğrenmede, sınıf niteliği vardır ve görevi, sınıf nitelik değerini tahmin etmektir. Danışmansız öğrenmede, veri kümesinin sınıf niteliği yoktur ve bizim görevimiz, veri kümesinde benzer örnekleri bulmak ve bunları gruplamaktır. Bu benzer örnekleri gruplayarak, bir veri kümesinde önemli desenler bulabiliriz. Örneğin, tweet atma sıklığı çeşitli olaylar için farklı olduğu için denetimsiz öğrenme Twitter daki olayları tanımlamak için
kullanılabilir. Denetimsiz öğrenmeyi kullanarak, tweet ler göründükleri zamana göre gruplandırılabilir ve bu şekilde tweet lerin karşılık gelen gerçek dünyadaki olaylarını tanımlayabilir. Karar Ağacı Nedir? Karar Ağaçları, belirli bir parametreye göre verilerin sürekli olarak bölündüğü bir Denetimli Makine Öğrenmesi türüdür. Ağaç, karar düğümleri ve yapraklar olmak üzere iki varlık tarafından açıklanabilir. Yapraklar kararlar veya nihai sonuçlardır. Ve karar düğümleri verilerin nereye bölündüğünü gösterir. Şekil 1. Karar Ağacı Örneği Bir karar ağacı örneği, yukarıdaki ikili ağaç kullanılarak açıklanabilir. Diyelim ki, bir insanın yaş, yeme alışkanlığı ve fiziksel aktivite gibi verilmiş bilgilerle fit olup olmadığını tahmin etmek isteyebilirsiniz. Buradaki karar düğümleri, Yaş durumu, Sabahları egzersiz yapıyor mu?, Fazla pizza yer mi? ve yapraklar da, fit ya da fit değil şeklindedir. Bu durumda bu, binary(ikili) bir sınıflandırma problemiydi (evet hayır tip problemi).
Karar Ağaçları ile Sınıflandırma Sınıflandırma problemleri için yaygın kullanılan yöntemdir. Sınıflandırma doğruluğu diğer öğrenme metotlarına göre çok etkindir. Öğrenmiş sınıflandırma modeli ağaç şeklinde gösterilir ve karar ağacı (decision tree) olarak adlandırılır. Karar ağaçları akış şemalarına benzeyen yapılardır. Her bir nitelik bir düğüm tarafından temsil edilir. Dallar ve yapraklar ağaç yapısının elemanlarıdır. En son yapı yaprak en üst yapı kök ve bunların arasında kalan yapılar dal olarak isimlendirilir. Sınıflandırma Uygulamaları Kredi başvurusu değerlendirme Kredi kartı harcamasının sahtekarlık olup olmadığına karar verme Hastalık teşhisi Ses tanıma Karakter tanıma Gazete haberlerini konularına göre ayırma Kullanıcı davranışları belirleme Sınıflandırma yöntemleri olarak Karar ağaçları nın yanı sıra Yapay Sinir Ağları (Artificial Neural Networks), Bayes Sınıflandırıcılar (Bayes Classifier), İlişki Tabanlı Sınıflandırıcılar (Association-Based Classifier), k-en Yakın Komşu Yöntemi (k- Nearest Neighbor Method), Destek Vektör Makineleri (Support Vector Machines) ve Genetik Algoritmalar (Genetic Algorithms) gibi yöntemler bulunmaktadır. Karar ağaçlarında sınıflandırma yöntemleri 2 çeşittir. Bunlar Entropiye Dayalı Algoritmalar ve Sınıflandırma ve Regresyon Ağaçları(CART) dır. ID3 Algoritması ve C4.5 Algoritması
Entropiye dayalı algoritmalar arasındayken Twoing Algoritması ve Gini Algoritması Sınıflandırma ve regresyon ağaçları sınıfındadır. Karar Ağacı Oluşturma Yöntemleri Karar ağacı oluşturma yöntemleri genel olarak iki aşamadan oluşur; 1.Ağaç oluşturma En başta bütün öğrenme kümesi örnekleri kökte seçilen niteliklere bağlı olarak örnek yinelemeli olarak bölünüyor. 2. Ağaç budama Öğrenme kümesindeki gürültülü verilerden oluşan ve sınama kümesinde hataya neden olan dalları silme (sınıflandırma başarımını artırır) Karar ağacı oluşturma yinelemeli bir işlemdir. Ağaç bütün verinin oluşturduğu tek bir düğümle başlar. Eğer örneklerin hepsi aynı sınıfa aitse düğüm yaprak olarak sonlanır ve sınıf etiketini alır. Eğer değilse örnekleri sınıflara en iyi bölecek olan nitelik seçilir. İşlemin sona ermesi için ise aşağıdaki şartların sağlanması gerekmektedir. Örneklerin hepsi (çoğunluğu) aynı sınıfa ait olduğunda Örnekleri bölecek nitelik kalmamışsa Kalan niteliklerin değerini taşıyan örnek yoksa Aşırı uyum(overfitting) olması durumunda ağacın budanması(pruning) gerekir.
Veriye Aşırı Uyumun Önüne Geçme Eğitim verilerini en iyi sınıflandıracak şekle kadar her dalını derinleştirir.bu mantıklı bir stratejiyken, veriler arasında gürültü varsa zorluklara sebep olabilir.gürültü varken, her yaprak saf (pure) olana dek bölünmeye izin vermek, veriyi ezberleyen (overfitting) çok büyük bir karar ağacı oluşmasına neden olabilir. Şekil 2. Doğruluk Oran Grafiği Budama(Pruning) Nedir? Verideki gürültüyü azaltmak için budama yaparız.düşük öneme sahip özellikleri kullanan dalları kaldırmayı içerir. Böylece ağaçların karmaşıklığı düşer ve aşırı uyum azalarak tahmin gücü artar. Budama kök veya yapraklardan başlayabilir. Budama işleminin en basit yöntemi yapraklarda başlar ve bu yaprağın en popüler sınıfa sahip her bir düğümünü kaldırır; bu değişiklik doğruluk bozulmazsa tutulur. Buna hata düzeltme denir. İki çeşit budama yöntemi vardır. Bunlar; 1. Erken budama(pre-prunning)
Ağacın büyümesini erken durduran bir yaklaşımdır. 1. Geç budama(post-pruning) Ağacın tamamlanmasının ardından işlem yapılır.daha doğru bir çözümdür ID3 Nedir? Karar Ağaçları yapısını oluşturan birçok algoritmanın en iyilerinden birisi ID3 Algoritması olarak adlandırılır. ID3, Iterative Dichotomiser 3 anlamına gelir.(tekrarlı ikilikçi ağaç).id3 algoritması 3 adımı esas alır: 1. 2. 3. Henüz ağaca dahil edilmeyen özellikler ele alınıp entropi (dağınım) değerleri hesaplanır. Entropi değerlerine göre sıralanır ve aralarından en düşük değerli özellik seçilir. Seçilen özelliğin kararı ağaca eklenir. Entropi Nedir? Bir sistemin düzensizliğini ifade eden terimdir. Örneğin entropi terimini hilesiz bir yazı tura atma işleminde 1 bitlik (ikil) ve %50 ihtimallik bir değer olarak görebiliriz.hileli olarak düşünürsek sürekli tura gelen bir paranın ürettiği sayıların entropisi sıfırdır. Bilgisayar bilimleri açısından daha kesin bir tanım yapmak gerekirse elimizdeki veriyi kaç bit ile (ikil) kodlayabileceğimize entropi ismi verilir. Örneğin bir haftada bulunan günleri kodlamak için kaç ikile ihtiyacımız olduğu günlerin dağınımıdır. Tablo 1. Haftanın Günleri Örneği Görüldüğü üzere 7 gün için 3 bit yeterlidir.yani haftanın
günleri entropisi 3 tür. Genellikle bir bilginin entropisi hesaplanırken log2n formülü kullanılır. Burada n birbirinden farklı ihtimal sayısını belirler. Örneğin haftanın günlerinde bu sayı 7 dir ve log 2 7 = 2,80 olmaktadır. 0.80 gibi bir bit olamayacağı için yani bilgisayar kesikli matematik (discrete math) kullandığı için 3 bit gerektiğini söyleyebiliriz. up1, p2,.., ps toplamları 1 olan olasılıklar olmak üzere entropi formülümüz; Şekil 3. Entropi Formülü Bir örnek verecek olursak; S veri kümesinde 14 örnek bulunacak şekilde, C0 sınıfına ait 9, C1 sınıfına ait 5 örnek var diyelim. Entropi formülümüzü kullanarak işlemi hesaplayacağımızda 0.940 sonucunu buluruz bu da bu örneğin entropisini gösterir. Şekil 4. Hesaplama Bu konuyla ilişkili olarak bilmemiz gereken bir diğer bilgi de Bilgi Kazancı(Information Gain)dır.İlgili formül ise Şekil 5 de mevcuttur. Şekil 5. Bilgi Kazancı Formülü ID3 Hesaplama Örneği
Tablo 2. Örnek Veriler Şimdi devam edip karar ağacını oluşturacağız. İlk adım, H(S), mevcut durumun entropisini hesaplamaktır. Yukarıdaki örnekte toplam 5 No ve 9 Yes olduğunu görüyoruz.toplam 14 değerimiz olduğundan entropi 0.940 bulunur. Şekil 6. Hesaplama Sonucu Bütün üyelerin aynı sınıfa ait olması durumunda entropinin 0 ve bunların yarısı bir sınıfa, diğer yarısı diğer sınıfa ait olduğunda entropinin 1 (örn.: yazı-tura) olduğunu hatırlayın. Burada sonucumuz 0.94, yani dağıtımın oldukça rasgele olduğu anlamına geliyor. Şimdi bir sonraki adım, kök düğüm olarak seçeceğimiz en yüksek Bilgi Kazanımı nı veren nitelik seçmektir. Rüzgar ile başlayalım. Şekil 7. Rüzgar İçin Formül Formüldeki x bir özniteliğin olası değerleridir.burada, Rüzgar özelliği örnek veride iki olası değeri alır; dolayısıyla x = {Zayıf,Güçlü}.Hesaplanması gereken değerler; H(Szayıf),P(Szayıf),P(Sgüçlü) ve önceki işlemde hesapladığımız
H(S)=0.94. Şekil 8. PZayıf ve PGüçlü için Hesaplamalar Şimdi 8 zayıf örnekten 6 sı oynama durumu için Evet 2 si oynama durumu için Hayır idi. Yani elimizde, Şekil 9. Zayıf Rüzgar İçin Entropi Benzer şekilde 6 Güçlü örnekte sonucun oynama durumu için Evet olduğu 3, Hayır olduğu 3 örnek var. Şekil 10. Güçlü rüzgar İçin Entropi Unutmayın, burada yarım öğeler bir sınıfa aitken, diğer yarısı diğerine aittir. Dolayısıyla mükemmel rasgeleliğe sahibiz.şimdi, Bilgi Kazançını hesaplamak için gereken tüm parçaları elde ettik. Şekil 11. Rüzgar İçin Bilgi Kazancı Bu, Rüzgar özelliği ile ilgili Bilgi Kazanımını bize bildirir ve bize 0,048 lik bilgi kazandırır. Şimdi de benzer şekilde tüm özelliklerin Bilgi Kazanımlarını hesaplamalıyız. BK(S,Hava Durumu) = 0.246 BK(S,Sıcaklık) = 0.029 BK(S,Nem) = 0.151 BK(S,Rüzgar) = 0.048 (örneğimiz)
Açıkça görüyoruz ki, BK(S, Hava Durumu)=0.246 en yüksek bilgi kazanımına sahip, dolayısıyla kök düğüm olarak Hava Durumu özniteliğini seçtik. Bu noktada, karar ağacı aşağıdaki gibidir. Şekil 12. Ağacın İlk Durumu Burada, Hava durumu Bulutlu olduğunda, Oynama Durumunun her zaman Evet olduğunu gözlemlersek, bu hiçbir şekilde herhangi bir tesadüf değildir. En yüksek bilgi kazanımı, Hava Durumu özelliği tarafından verilen basit ağaçtır. Şimdi bu noktadan nasıl ilerleyebiliriz? Yineleme uygulayabiliriz, daha önce açıklanan algoritma adımlarına bakmak isteyebilirsiniz. Artık Hava Durumu nu kullandık, kalan üçümüzde Nem, Sıcaklık ve Rüzgar bulunuyor. Ve Hava Durumu nun üç olası değeri vardı: Güneşli, Bulutlu, Yağmurlu. Bulutlanmış düğümün bitiş düğümünde Evet olan yaprak düğümü olması nedeniyle, hesaplamak için kalan iki alt ağacı dallandırmaya devam ederiz; Güneşli ve Yağmurlu. BK(S,Güneşli) i hesaplayacak olursak; Tablo 3. Güneşli Durumda Veriler Şekil 13. Güneşli İçin Entropi
Aynı şekilde diğer verileri de hesapladığımızda; BK (Sgüneşli,Nem) = 0,96 BK (Sgüneşli,Sıcaklık) =0.57 BK (Sgüneşli,Rüzgar) = 0.019 Gördüğümüz gibi en yüksek Bilgi Kazancı, Nem tarafından verilir. Aynı şekilde Syağmurlu için işlemleri yaptığımızda en yüksek bilgi kazancı olanı Rüzgar olarak buluyoruz. Ağacın son durumu aşağıdaki gibidir; Şekil 14. Nihai Karar Ağacı C4.5 Ağacı C4.5 ağacı, ID3 ağacının geliştirilmiş bir hali olarak düşünülebilir. ID3 algoritmasından farklı olarak nümerik değerler kategorik değerler haline dönüştürülebilir. Ayrıca ağaç üzerinde erişim sıklıklarına göre alt ağaçların farklı seviyelere taşınması da mümkündür. C4.5 ağacının diğer bir farkı ise tam bu noktada ortaya çıkar ID3 ağacının yaklaşımından farklı olarak C4.5 ağacında budama (prunning) işlemi yapılmaktadır.
Şekil 15. Budama Örneği Nümerik değerleri kategorik hale getirmek için en büyük bilgi kazancını sağlayacak biçimde bir eşik değer belirlenir.eşik değeri belirlemek için tüm değerler sıralanır ve ikiye bölünür. Eşik değer için, +1 aralığının orta noktası alınabilir. = vi + vi+1 /2. Böylece nitelikteki değerler eşik değere göre iki kategoriye ayrılmış olur. Tablo 4. Örnek Veriler Nitelik 2 = {65, 70, 75, 80, 85, 90, 95, 96} için eşik değer (80+85)/2 = 83 alınmıştır. Tablo 5. Sayısal Verilerin İki Kategoriye İndirilmesi Şimdi yapmamız gereken ID3 hesaplamasında kullandığımız formülleri aynı şekilde kullanarak en büyük bilgi kazanımı
olan niteliği düğüm olarak seçmek. Nitelik1 için hesaplamalar; 1.H(SINIF) = -(5/14 log 2 5/14 + 9/14 log 2 9/14 ) = 0.940 2.H(NİTELİK1 A ) = -( 2/5 log 2 2/5 3/5 log 2 3/5 )= 0.971 3.H(NİTELİK1 B ) = -( 4/4 log 2 4/4 + 0/4 log 2 0/4 )= 0 4.H(NİTELİK1 C ) = 3/5 log 2 3/5 2/5 log 2 2/5 = 0.971 5.H(S,NİTELİK1,SINIF) = 5/14 H(NİTELİK1 A ) + 4/14 H(NİTELİK1 B ) + 5/14 H(NİTELİK1 C ) 6.= (5/14)(0.971) + (4/14)(0) + (5/14)(0.971) = 0.694 7.BK(NİTELİK1,SINIF) = 0.940-0.694 = 0.246 Nitelik2 için hesaplamalar; 1.H(SINIF) = 0.940 2.H(NİTELİK2 EK ) = -( 7/9 log 2 7/9 2/9 log 2 2/9 )= 0.765 3.H(NİTELİK1 B ) = -( 2/5 log 2 2/5 + 3/5 log 2 3/5 )= 0.971 4.H(S,NİTELİK2,SINIF) = 9/14 H(NİTELİK2 EK ) + 5/14 H(NİTELİK2 B ) 5.= (9/14)(0.765) + (5/14)(0.971) = 0.836 6.BK(NİTELİK2,SINIF) = 0.940-0.836 = 0.104 Nitelik3 için hesaplamalar; 1.H(SINIF) = 0.940 2.H(NİTELİK3 DOĞRU ) = -( 3/6 log 2 3/6 3/6 log 2 3/6 )= 1 3.H(NİTELİK3 YANLIŞ ) = -( 6/8 log 2 6/8 + 2/8 log 2 2/8 )= 0.811 4.H(S,NİTELİK3,SINIF) = 6/14 H(NİTELİK3 DOĞRU ) + 8/14
H(NİTELİK3 YANLIŞ ) 5.= (6/14)(1) + (8/14)(0.811) = 0.892 6.BK(NİTELİK2,SINIF) = 0.940-0.892 = 0.048 BK(NİTELİK1,SINIF) > BK(NİTELİK2,SINIF) > BK(NİTELİK3,SINIF) İşlemler bittiğinde bilgi kazancı büyüklükleri sırasıyla Nitelik1,Nitelik2 ve Nitelik3 olarak bulunmuştur. Buna göre hesaplamalar tamamlanır ve nihai karar ağacı elde edilir. Şekil 16. Nihai Karar Ağacı Sınıflandırma ve Regresyon Ağaçları (CART) 1984 te Leo Breiman tarafından ortaya atılmıştır. CART karar ağacı, herbir karar düğümünden itibaren ağacın iki dala ayrılması ilkesine dayanır. Yani bu tür karar ağaçlarında ikili dallanmalar söz konusudur. CART algoritmasında bir düğümde belirli bir kriter uygulanarak bölünme işlemi gerçekleştirilir. Bunun için önce tüm niteliklerin var olduğu değerler göz önüne alınır ve tüm eşleşmelerden sonra iki bölünme elde edilir. Bu bölünmeler üzerinde seçme işlemi uygulanır. Bu kapsamda iki algoritma bulunmaktadır; 1. Twoing Algoritması 2. Gini Algoritması
Twoing Algoritması Twoing algoritmasında eğitim kümesi her adımda iki parçaya ayrılarak bölümleme yapılır. Aday bölünmelerin sağ ve sol kısımlarının her birisi için nitelik değerinin ilgili sütundaki tekrar sayısı alınır. Aday bölünmelerin sağ ve sol kısımlarındaki her bir nitelik değeri için sınıf değerlerinin olma olasılığı hesaplanır.her bölünme için uygunluk değeri en yüksek olan alınır. Şekil 17. Formül Burada, T eğitim kümesindeki kayıt sayısını, B aday bölünmeyi, d düğümü, Tsinif j ise j.sınıf değerini gösterir Tablo 6. Örnek Tablo Tablo 7. Örnek Tablonun Etkenlere Göre Düzenlenmesi MAAŞ = NORMAL için P Sol = ( B Sol )/( T ) = 1/11 = 0,09 P EVET/ tsol = ( TSınıfEVET )/( B Sol ) = 1/1 = 1 ve P HAYIR/ tsol = ( TSınıfHAYIR )/( B Sol ) = 0/1 = 0
Tablo 8.Bölünme şartı sonucu elde edilen veriler MAAŞ = DÜŞÜK,YÜKSEK için P Sağ = ( B Sağ )/( T ) = 10/11 = 0,91 P EVET/tSağ = ( TSınıfEVET )/( B Sağ ) = 6/10 = 0,6 ve P HAYIR/tSağ = ( TSınıfHAYIR )/( B Sağ ) = 4/10 = 0,4 Tablo 9.Bölünme şartı sonucu elde edilen veriler Uygunluk değeri hesaplanır(1. aday bölünme için) Şekil 18. Kullanılacak Formül = 2(0,09)(0,91)[ 1 0,6 + 0 0,4 ] = 0,13 Tablo 10. Bölünme şartı sonucu elde edilen veriler Ve ağacın ilk durumu belirlenir;
Şekil 19. Ağacın İlk Durumu Aynı işlemler ALT DÜĞÜM e de uygulanır Şekil 20. Nihai Karar Ağacı Gini Algoritması Gini algoritmasında nitelik değerleri iki parçaya ayrılarak bölümleme yapılır. Her bölünme için Gini sol ve Gini sağ değerleri hesaplanır. Şekil 21. Formül Burada, Tsinifi soldaki bölümdeki her bir sınıf değerini, Tsinifi sağdaki bölümdeki her bir sınıf değerini, B sol sol bölümdeki tüm değer sayısını, B sağ sağ bölümdeki tüm değer sayısını gösterir.
Şekil 22. Formül Her bölümlemeden sonra Gini değeri en küçük olan seçilir Tablo 11. Örnek Veriler Tablomuzdaki verileri sonuç için sıralarsak; EĞİTİM için Tablo 12. Verilerin Sonuç için Sıralanmış Hali 1.Gini sol = 1- [(1/3) 2 + (2/3) 2 ] = 0,444 2.Gini sağ = 1- [(4/5) 2 + (1/5) 2 ] = 0,320 YAŞ için 1.Gini sol = 1- [(0/2) 2 + (2/2) 2 ] = 0 2.Gini sağ = 1- [(5/6) 2 + (1/6) 2 ] = 0,278 CİNSİYET için 1.Gini sol = 1- [(1/3) 2 + (2/3) 2 ] = 0,444 2.Gini sağ = 1- [(4/5) 2 + (1/5) 2 ] = 0,320
Gini değerleri; Şekil 23. Gini Değerleri Buna göre ilk bölünme YAŞ a göre yapılacaktır. Şekil 24. Ağacın İlk Durumu Aynı işlemler alt düğümlere de uygulandığında sonuç karar ağacı elde edilir. Şekil 25. Nihai Karar Ağacı Karar Ağacının Avantajları Anlamak, yorumlamak, görselleştirmek basittir.karar ağaçları örtülü olarak değişken tarama veya özellik seçimi gerçekleştirir. Hem sayısal hem de kategorik verileri
işleyebilir. Aynı zamanda çoklu çıktı problemlerini de halledebilir. Karar ağaçları, veri hazırlığı için nispeten az çaba gerektirir. Parametreler arasındaki doğrusal olmayan ilişkiler ağaç performansını etkilemez. Karar Ağacının Dezavantajları Karar ağacı öğrenenleri, veriyi genelleştirmeyen aşırı karmaşık ağaçlar oluşturabilir. Buna overfitting(aşırı uygunluk,ezber) denir.açgözlü algoritmalar, küresel olarak en uygun karar ağacını geri getireceğini garanti edemez. Bu, özelliklerin ve örneklerin rastgele değiştirilmesi ile örneklendiği birden fazla ağaç eğiterek hafifletilebilir.karar ağacı öğrenenleri, bazı sınıflara hakimse, önyargılı ağaçlar oluştururlar. Dolayısıyla, karar ağacına uydurmadan önce veri setini dengelemek önerilir. Özet Karar ağaçları veri madenciliği için popüler araçlardır Anlaması kolaydır. Uygulaması kolaydır. Kullanımı kolaydır. Finansal açıdan ucuzdur. Overfitting(Ezber) meydana gelebilir. Önlemek için Pruning(Budama) işlemi uygulanır.kökten bir yaprağa kadar olan her yol, yaprağa götüren tüm kararların kuralın öncüsünü tanımladığı bir kurala karşılık gelir ve bunun sonucunda yaprak düğümünde sınıflandırma yapılır. Referanslar 1.https://medium.com/towards-data-science/decision-trees-in-ma chine-learning-641b9c4e8052
2.https://machinelearningmastery.com/classification-and-regres sion-trees-for-machine-learning/ 3.Tom Mitchell, Princeton, Decision Tree Learning http://www.cs.princeton.edu/courses/archive/spr07/cos424/paper s/mitchell-dectrees.pdf 4.https://www.xoriant.com/blog/product-engineering/decision-tr ees-machine-learning-algorithm.html 5.Yrd.Doç.Dr. Kadriye ERGÜN, Balıkesir Üniversitesi, Veri Madenciliği 6.Yrd.Doç.Dr.Umut ORHAN, Çukurova Üniversitesi, Makine Öğrenmesi http://bmb.cu.edu.tr/uorhan/dersnotu/ders01.pdf 7.http://bilgisayarkavramlari.sadievrenseker.com/2008/12/17/en tropi-entropy/ 8.http://bilgisayarkavramlari.sadievrenseker.com/2012/11/13/c4-5-agaci-c4-5-tree/ 9.Jerry Zhu, University of Wisconsin-Madison, Machine Learning:Decision Trees http://pages.cs.wisc.edu/~jerryzhu/cs540/handouts/dt.pdf