Mükemmel Karar Ağacı Nasıl Oluşturulur | Karar Ağacı Algoritması [Örneklerle]
Yayınlanan: 2020-03-30'Karar ağacı nasıl oluşturulur' veya 'Java'da karar ağacı oluşturabilir miyim' diye merak ediyorsanız doğru yere geldiniz. Bu yazıda, karar ağaçlarını detaylı olarak tartışacağımız gibi soruların cevaplarını bulacağız. Ne olduklarını, neden bu kadar popüler olduklarını ve bunlardan birini nasıl oluşturabileceğinizi öğreneceksiniz.
Bir karar ağacı oluşturmadan önce, Doğrusal Regresyon ve algoritmalar gibi birkaç başka konuya aşina olmalısınız.
Devamını oku: R'de Karar Ağacı
İçindekiler
Karar Ağacı nedir?
Bir karar ağacı size belirli seçimlerin tüm olası sonuçlarının bir haritasını verir. Farklı seçeneklere göre farklı senaryolar altında gelecekteki eylemleri planlamanıza yardımcı olabilir. Bu olası sonuçları, olasılıklarına ve maliyetlerine göre karşılaştırabilirsiniz.
Adından da anlaşılacağı gibi, bir karar ağacı, bir ağaca benzeyen bir grafik gösterir. Her birinin sonuçları ve sonuçları ile birlikte bir karar modelidir. Nihai amacı, mümkün olan en düşük sayıda seçenek arasından geçerek sınıflandırmayı doğru bir şekilde gerçekleştirmenize yardımcı olmaktır.
Boolean fonksiyonlarını karar ağaçlarını kullanarak da temsil edebilirsiniz. Karar ağacının her yaprak düğümü bir sınıf etiketidir ve ağacın iç düğümleri öznitelikleri gösterir. Bir düğümle başlarlar ve ardından tüm olasılıklara ayrılırlar. Bu dalların her biri, diğer olası sonuçları temsil eden daha fazla düğüme yol açar. Java'da bir karar ağacı oluşturabilirsiniz.

Bir karar ağacının çeşitli düğüm türleri vardır:
- Karar Düğümleri
- Şans Düğümleri
- Son Düğümler
Uç düğümler bir karar yolunun nihai sonucunu yansıtırken, şans düğümleri belirli sonuçların şansını gösterir. Karar düğümleri, olası sonuçlara yol açacak vereceğiniz kararı belirtir. Algoritmik tahminlerin haritasını çıkarmak ve gayri resmi kararlar vermek için karar ağaçlarını kullanabilirsiniz.
Artık karar ağacının ne olduğuna aşina olduğunuza göre, biraz daha derine inmeye ve neden yaygın olduğunu anlamaya odaklanmalıyız. Hadi dalalım.
Karar Ağacı Uygulamaları
Ne kadar yaygın olduklarını görebilmeniz için karar ağaçlarının bazı uygulamaları şunlardır:
- Bankalar bunları kredi başvurularını sınıflandırmak için kullanır.
- Finans uzmanları, opsiyon fiyatlandırması için karar ağaçlarını kullanır
- Sınav kağıtlarının adayların uzmanlık seviyelerine göre sınıflandırılması
- Bir iş teklifini kabul etmeyi veya reddetmeyi seçme
- Bir şirketin ürününü değiştirip değiştirmemesi gibi temel iş kararları vermek.
Hayatında çeşitli seçimler yaparken karar ağaçlarını kendin kullanmış olmalısın. Karmaşık bir karar vermeniz gereken birkaç senaryo oluşturun.
Karar Ağacının Avantajları
Karar ağacı kullanmanın birçok avantajı vardır. İşte onlar:
- Karar ağaçları, kolayca anlayabileceğiniz kurallar üretir. Bu kuralları diğer sistemlere aktarmakta zorluk çekmezsiniz.
- Hem kategorik hem de sürekli değişkenleri işleyebilirler.
- Bir karar ağacı size her alanın öneminin basit bir göstergesini verecektir. Buna göre kolayca tahminler (veya sınıflandırmalar) yapabilirsiniz.
- Karar ağaçları ayrıca, veri keşfinde size yardımcı olan özellik seçimini örtük olarak gerçekleştirir.
Daha fazla bilgi edinin: Yapay Zeka Algoritmaları

Karar Ağacının Dezavantajları
Her şeyin kusurları vardır ve karar ağaçları istisna değildir. Bunları kullanmayla ilgili bazı sorunlar şunlardır:
- Karar ağaçları, tahmin görevlerini gerçekleştirmek için kullanışlı değildir. Bunun nedeni, bu tür işlerin sürekli bir özniteliğin değerinin tahminini gerektirmesidir ve karar ağaçları bu konuda iyi değildir.
- Hesaplamalı olarak, karar ağaçları diğer seçeneklerden daha pahalıdır. Diğerlerine kıyasla bir karar ağacı modeli de eğitmek size çok pahalıya mal olacak. Karar ağaçları oluştururken kullanacağınız budama algoritmaları da birçok alt ağaç oluşturmayı gerektirdiğinden oldukça pahalıdır.
- Çok sayıda sınıf örneğiniz ancak az sayıda eğitim örneğiniz varsa, karar ağaçlarınız çok doğru olmaz ve hata içerme şansları önemli ölçüde yüksek olur.
Karar Ağacı Nasıl Oluşturulur
Bir kişinin bilgisayar alıp almayacağına dair bir karar ağacı oluşturalım. Bu durumda, 'Evet' ve 'Hayır' olmak üzere iki sınıfımız olurdu. Birinci sınıf bilgisayar alacak kişileri, ikinci sınıf ise almayacakları ifade eder. İlk olarak, bu sınıflar için Bilgi Kazanımı ve Entropi'yi hesaplayacağız.
Bu sınıfların Entropilerini hesapladıktan sonra bilgi kazanımına odaklanacağız. Entropi değerlerini şu şekilde sınıflandırabiliriz:
Entropi 0 ise verinin saf (homojen) olduğu anlamına gelir.
Entropi 1 ise, verilerin saf olmadığı (yarı bölünmüş) anlamına gelir.
Entropi'mizin saf olmadığını varsayalım. Sonra bilgi kazanımını yaşa böleceğiz. Bu şekilde, verilerimiz belirli bir yaş grubundan kaç kişinin bu ürünü satın alıp kaçının almayacağını gösterecektir. Çoklu nitelikler için bilgi kazancını hesaplayabiliriz. Ancak örneğimizde, bilgi kazancının 'Yaş' için en yüksek ve 'Gelir' için en düşük olduğunu bulduk. Yani, bununla gideceğiz.
Bu karar ağacı için sınıflandırma kuralları şunlardır:
Birinin yaşı 30'un altındaysa ve o kişi öğrenci değilse ürünü satın almayacak ve bu nedenle:
Yaş (<30) ^ öğrenci(hayır) = HAYIR
Ama yaşı 30'dan küçük ve öğrenciyse ürünü alırdı:
Yaş (<30)^ öğrenci(evet) = EVET
Şimdi, yaşları 31 ile 40 arasındaysa, mutlaka ürünü alırlardı:
Yaş(31…40) = EVET
40 yaşından büyük ve kredi notu yüksek bir kişi şunları satın almaz:
Yaş(>40)^credit_rating(yüksek) = HAYIR
Öte yandan, 40 yaşını doldurmuş ancak kredi notu ortalaması olan bir kişi ürünü satın alırsa:

Yaş(>40)^credit_rating(normal) = EVET
Bu adımları takip ederek, kusursuz karar ağacını hiç zorlanmadan oluşturabilirsiniz .
Hakkında daha fazla bilgi edinin: Hakkında Bilmeniz Gereken En İyi 9 Makine Öğrenimi Kitaplığı
Çözüm
Artık bir karar ağacının nasıl oluşturulacağını bilmelisiniz. Makine öğrenimi kursumuzda karar ağaçları ve ilgili algoritmalar hakkında çok daha fazlasını öğrenebilirsiniz. Java'da nasıl bir karar ağacı oluşturabileceğinizi, bunları gerçek hayatta nasıl kullanabileceğinizi ve daha fazlasını öğreneceğiniz için orada bilginizi geliştireceğinizden eminiz.
Makine öğrenimi hakkında daha fazla bilgi edinmek istiyorsanız, çalışan profesyoneller için tasarlanmış ve 450+ saat zorlu eğitim, 30'dan fazla vaka çalışması ve ödev, IIIT- sunan IIIT-B & upGrad'ın Makine Öğrenimi ve Yapay Zeka PG Diplomasına göz atın. B Mezun statüsü, 5+ pratik uygulamalı bitirme projesi ve en iyi firmalarla iş yardımı.