KARAR AĞAÇLARI SÜMEYYE ÖZKAN 21323994 BAHAR BAKAR 21323573 İZEL KOLCU 21323918
NEDİR? Karar ağaçları ve karar ağaç algoritmaları Karar ağaçları; sınıflandırma ve tahmin için sıkça kullanılan ağaç şekilli bir karar yapısı çeşididir.
Yorum: Basit karar verme adımları uygulanarak büyük miktarlardaki kayıtları çok küçük kayıt gruplarına bölerek kullanılan bir yapıdır.
NEDEN KULLANILIR? Veri madenciliğinde karar ağacı kuruluşlarının kolay olması, yorumlarının kolay olması, veri tabanı sistemlerine kolayca entegre edilebilmeleri, güvenilir olması nedenleri ile en çok kullanıma sahip sınıflandırma tekniğidir.
Karar ağaçları, tahmin ediciler ve hedef değişkeni arasındaki ilişkileri kullanarak veriyi alt gruplara ayırır. Karar ağaçlarında temel fikir, giriş verisinin bir kümeleme algoritması yardımıyla tekrar tekrar gruplara bölünmesine dayanır. Grubun tüm elemanları aynı sınıf etiketine sahip olana dek kümeleme işlemi devam eder. Karar ağaçları algoritmaları: C5.0 CHAID C&RT (CART) DECİSİON LİST ID3 QUEST
Karar ağacı tekniğini kullanarak verinin sınıflandırılması; Öğrenme Önceden bilinen bir verinin model oluşturmak amacıyla sınıflama algoritması tarafından analizidir. Model sınıflama kuralları veya karar ağacı olarak gösterilir. Sınıflama Test verisi sınıflama kurallarının veya karar ağacının doğruluğunu belirlemek için kullanılır. Doğruluk kabul edilebilir ise kuralları yeni verilerin sınıflaması amacıyla kullanılır.
C5.0 Algoritması En yaygın kullanılan karar ağacı algoritması ID3 algoritmasının geliştirilmiş hali C4.5 algoritmasının geliştirilmiş halidir ve özellikle büyük veri setleri için kullanılır. C5.0 algoritması, doğruluğu arttırmak için boosting algoritmasını kullanır, boosting ağaçları olarak da bilinir.
Sadece sembolik(kategori k) tipteki hedef değişkenlerini kullanır. Kayıp tahmin edici değerlerinin elde edilmesinde parçalama yöntemini kullanır. ÖZELLİKLERİ Tahmin ediciler kırılma noktası olarak belirlendiğinde çok sayıda alt gruba bölünmesine izin verir. Tahmin edicinin seçimi için bilgi kuramı ölçüsü(entropi) kullanılır. Ağaçları aşırı şekilde büyüyebilir ve sonra budanabilir. Bu sayede karar ağacı anlaşılır olur
C5.0 algoritması kullanılırken modellemeden önce, veriler Type işlemcisinden geçirilmelidir. Nedeni; Tüm modelleme işlemcilerinin tür bilgilerini, model kurulması sırasında kullanılmasıdır. Hangi değişkenin tahmin edici hangilerinin hedef değişkeni olduğu belirlenmelidir.
Aynı veri üzerinde birden fazla model kurulur. Model süreçleri ile ilgili daha ileri seviyeli özellikler ve parametreler tanımlamak için kullanılır. C5.0 işlemcisine ve üretilecek model işlemlerine manuel isim verilir. Auto seçeneğini seçildiğinde otomatik olarak hedef değişkenin ismi verilir. Oluşturulacak model sonuçlarının hangi formatta olacağı belirlenir. Varsayılan olarak seçilmiş durumda bulunur. Eğer model öncesinde veri seti test ve train olarak ikiye ayrılmışsa model geliştirirken sadece train grubunda bulunan kayıtların kullanılmasını sağlar. Seçilmediği durumda veri seti ikiye bölünmüş olsa bile, model tüm veri seti kullanılarak geliştirilir. Kurulan modelin doğruluğunu test etmek için kullanılır. Bu seçenek seçilirse, C5.0 benzer kategorileri birleştirir ve okutulacak kural sayısını azaltır.
Accuary: C5.0 algoritması en doğru ve geçerli sonuçları veren bir karar ağacı oluşturmaya çalışır.alternatif olarak Generality özelliği ile olumsuz etki ortadan kaldırılabilir. Expected Noise: Veri içerinde olması beklenen hatalı, tutarsız veya yanlış değer oranı C5.0 algoritmasına belirtilir. Minimum records per child branch: C5.0 algoritmasının ağaç yapısı gelişiminin her bir dalında en az iki gözlem bulunana kadar devam etmesine imkan verir. Model Manager penceresinde modelin sonucunu görmek için, C5.0 modeline sağ tıklanır ve Browse seçilir.
Entropi (Bilgi Kazancı) Ayırt edici niteliği belirlemek için her nitelik için bilgi kazancı ölçülür. Bilgi Kazancı ölçümünde Entropi kullanılır. Entropi rastgeleliği, belirsizliği ve beklenmeyen durumun ortaya çıkma olasılığını gösterir.
HAFTASONU ÖRNEĞİ: 1. Adım: Veri setinden T öğrenme kümesi oluşturulur.
Haftasonu veri kümesindeki (T kümesi) 10 örnekten 6 örnek için karar sinema 2 örnek için karar tenis oynamak 1 örnek için karar evde kalmak ve 1 örnek için karar alışverişe gitmek olduğuna göre Entropy: H(T)= - (6/10) log 2 (6/10) - (2/10) log 2 (2/10) - (1/10) log 2 (1/10) - (1/10) log 2 (1/10) H(T)= 1,571
A niteliğinin T veri kümesindeki bilgi kazancı: Gain(T,A)=Entropy(T)-Σ P(v) Entropy(T(v)) v: Values of A P(v)= T(v) / T
Gain(T, weather)=? Sunny=3 (1 Cinema, 2 Tennis) Windy=4 (3 Cinema, 1 Shopping) Rainy=3 (2 Cinema, 1 Stay in) Entropy(T sunny )= - (1/3) log 2 (1/3) - (2/3) log 2 (2/3)=0,918 Entropy(T windy )= - (3/4) log 2 (3/4) - (1/4) log 2 (1/4) =0,811 Entropy(T rainy )= - (2/3) log 2 (2/3) - (1/3) log 2 (1/3) =0,918 Gain(T, weather) = Entropy(T)- ((P(sunny)Entropy(T sunny ) + P(windy) Entropy(T windy )+ P(rainy) Entropy(T rainy ) ) =1,571- ((3/10)Entropy(T sunny )+(4/10)Entropy(T windy )+ (3/10)Entropy(T rainy )) Gain(T, weather) =0,70
Gain(T, parents)=? Yes=5 (5 Cinema) No =5 (2 Tennis, 1 Cinema, 1 Shopping, 1 Stay in) Entropy(T yes )= - (5/5) log 2 (5/5) = 0 Entropy(T no )= - (2/5) log 2 (2/5) - 3(1/5) log 2 (1/5) =1,922 Gain(T, parents) = Entropy(T)- ((P(yes)Entropy(T yes ) + P(no) Entropy(T no )) Gain(T, parents)=0,61 =1,571- ((5/10)Entropy(T yes )+(5/10)Entropy(T no ))
Gain(T, money)=? Rich=7 (3 Cinema, 2 Tennis, 1 Shopping, 1 Stay in) Poor=3 (3 Cinema) Entropy(T rich )= 1,842 Entropy(T poor )= 0 Gain(T, money) = Entropy(T)- ((P(rich)Entropy(T rich ) + P(poor) Entropy(T poor )) Gain(T, money)=0,2816 =1,571- ((7/10)Entropy(T rich )+(3/10)Entropy(T poor ))
Gain(T, weather) =0,70 Gain(T, parents)=0,61 Gain(T, money)=0,2816 Weather özelliği en büyük bilgi kazancını sağladığı için ağacın kökünde yer alacak özellik olarak seçilir. Bu özellik en ayırt edici özellik olarak bulunmuş olur.
3. Adım: Ağacın alt düğümü olan A düğümüne ait alt veri kümesi belirlenir. Her alt küme için tekrar bilgi kazancı hesaplanarak en ayırt edici özellik belirlenir.
Yeni düğüm için en ayırt edici özellik Parents olarak belirlenmiştir. Bu işlemler her düğüm için aşağıdaki durumlardan biri oluşuncaya kadar devam eder Örneklerin hepsi aynı sınıfa ait Örnekleri bölecek özellik kalmamış Kalan özelliklerin değerini taşıyan örnek yok
CHAID Algoritması Optimal bölünmelerin teşhisi için ki-kare istatistiğini kullanan bir yöntemdir. Bölümlendirme amaçlı kullanılır.
Nasıl İşler? İstatistiksel bir testin anlamlılığını kullanarak bir potansiyel ön kestirici değişkenin tüm değerlerini değerlendirir. Hedef değişkene göre homojen olarak değerlendirilen tüm değerleri birleştirir ve diğer tüm değerleri heterojen olarak değerlendirir. Karar ağacındaki ilk dalın formuna göre en iyi ön kestirici değişkenin seçilmesiyle, her bir düğümün seçilen değişkenin homojen değerlerinin bir grubunu oluşturmasını sağlar. Kategoriler, anlamlı bir şekilde birleştirildikten sonra tablolar oluşturulur ve x 2 istatistikleri hesaplanır. Veriler birbirleriyle karşılaştırılıp kategorilere göre alt gruplara ayrılır. Bu süreç, ağaç tamamıyla büyüyene kadar sürer.
CHAID ile diğer algoritmalar arasındaki en önemli farklılıklardan birisi, ağacın yapraklarının ikili değil verideki farklı yapı sayısı kadar dallanmasıdır. Bu özelliği nedeniyle, daha fazla alt gruplarla değerlendirme yapmak ve daha homojen gruplardan sonuç çıkarmak mümkün olacaktır.
C5.0 algoritmasında bulunan budama yoktur. Burada dallardaki nodların büyümesi sınırlandırılabilir. Özellikleri İnteraktif olarak ağacı adım adım büyütme olanağı sağlar. Tuvalde Type işlemcisine bağlanır. Hem sembolik hem de sayısal tipteki hedef değişkenleri kullanılır. Kayıp tahmin edici değerlerini ayrı bir kategori yaparak ağaç oluşumunda kullanılmasına izin verir.
Exhaustive CHAID veya CHAID algoritmalarından birini seçebiliriz. Exhaustive CHAID, klasik CHAID algoritmasında bulunan bazı zayıflıkları ortadan kaldıran bir algoritmadır. Model geliştirme sürecini tamamen kullanıcının yönlendirebileceği bir şekilde model geliştirilmesine imkan verir.. Generate model seçeneği seçildiğinde model, belirlenen kriterler çerçevesinde otomatik olarak genişletilir. Bu algoritmayı kullanarak iki farklı şekilde model oluşturabiliriz. Oluşturulacak ağacın derinliği sınırlandırılır. Varsayılan değeri 5 tir. Not: kayıp değerleri modellemeye dahil eden tek algoritma budur.
CHAID, tahmin edicileri belirlemek için ki kare testini kullanır. En düşük p değerine sahip değişkeni seçerek ağacı geliştirir. Seçilen tahminci değişken 2 den fazla kategoriye sahipse, algoritma bu kategorilerin her birinin hedef değişken üzerindeki etkisini araştırır ve hedef değişken üzerinde etkisi olmayan kategorileri birleştirir. Bu kategori birleştirme işlemi geriye kalan tüm değişken kategorileri, belirlenen (Alpha for Merging) anlamlılık seviyesinde hedef değişken üzerinde etkili olduğunda sona erer. Bu bölünme işlemini yönetmek için ise Allow splitting of merged categories özelliği kullanılır.
C&R TREE Algoritması AID adlı karar ağacı algoritmasının devamı niteliğindedir. Sınıflandırma ve regresyon problemlerinde bir çözüm olarak kullanılabilir. İkili olarak özyinelemeli biçimde bölünen bir yapıya sahiptir. Dallanma kriteri olarak Gini indeksinden yararlanır. Kuruluş aşamasında herhangi bir durma kuralı olmaksızın sürekli olarak bölünerek büyümektedir. Yeni bir bölünmenin gerçekleşmeyeceği durumda, uçtan köke doğru budama işlemi başlatılır.
Hem sembolik hem de sayısal tipteki hedef değişkenleri için kullanılır. Özellikleri Algoritma kullanıldığında ağaçlar aşırı şekilde büyüyebilir ve sonra budanabilir. Kayıp tahmin edici değerlerinin ele alınmasında vekil tahmin edicileri kullanır. Algoritmanın parametrik olmaması esnek olması ve kayıp değerleri de içermesinden dolayı kullanışlı yöntemdir. Sadece ikili duruma göre karar vermesi ve işlem süresinin uzun sürmesi zayıf noktalarıdır. Vekil değişken demek ilgili değişkenle en yüksek ilişkiye sahip değişken demektir.
Nasıl kullanılır? otomatik model oluşturulabilir tüm model gelişim sürecini kendimiz yönetebiliriz. Elde edilen ağaç seviyesi burada yazılı değerden küçük olabilir, bunun nedeni ağacı geliştirirken farklı durdurma kuralları tanımlanabilmesi ve budama işlemi gerçekleştirilmesidir.
Üç farklı saflık katsayısıdır. Budama işlemini aktivite eder. Risk tahmini değerine göre en basit ağacın seçilmesi sağlanır. Multiplier parametresi, sonuçta elde edilen ağaç ile en küçük riskli ağaç arasındaki risk tahmininde kaç standart hata farkına izin verileceğini belirler. Bu değer ne kadar artırılırsa gerçekleşen budama o kadar şiddetli olacaktır.
GİNİ İNDEKSİ Bütün değişkenlerin sürekli olduğu varsayılır Her değişken için mümkün olan birçok ayrımın olduğu varsayılır Değişkenlerin ayrım noktaları için gruplama gibi diğer araçlara ihtiyaç duyulabilir Kategorik değişkenler için kullanıldığında değiştirilmelidir
ÖRNEK:
Karar Ağaçlarının Avantajları Zahmetsiz ve güvenilirdir. Maliyeti düşüktür. Anlaşılabilir kurallar oluşturulabilir. Sürekli ve kesikli nitelik değerleri için kullanılabilir. Hem sayısal hem de sınıfsal verilerin işlenmesi için kullanılabilir. Çoğu alternatif tekniklere göre çok az işlem ile veri kullanılabilir hale gelir.
DEZAVANTAJLARI Zaman ve yer karmaşıklığı vardır. Hem ağaç oluşturma karmaşıklığı hem de ağaç budama karmaşıklığı fazladır. Büyük ağaçların yorumlanması güçtür. Sınıf sayısı fazla ve öğrenme kümesi örnekleri sayısı az olduğunda model oluşturma çok başarılı değildir. Eksik veri yanlış modellemeye sebep olabilir.
Karar ağaçların karşılaştırılması Tüm karar ağacı algoritmaları tahmin edici değişkenleri kullanarak hedef değişkeni tahmin edecek karar ağacı yapısı ortaya koymaya çalışır. Farkları ise, bu tahminleri gerçekleştirirken kullandıkları yöntemlerin farklı olmasıdır. Algoritmaların tahmin edici değişken seçiminde kullandıkları kriterler birbirinden farklı olduğu için çoğu zaman bu algoritmalardan elde edilen ağaçlarının yapıları farklıdır. Buna rağmen, hedef değişken üzerinde etkili olan tüm değişkenler tüm algoritmalarla elde edilen ağaç yapısına dâhildir. Tahmin edici değişken seçiminde CHAID istatistiksel yöntemler kullanır. C5.0 ve C&RT istatiksel olmayan yöntemler kullanır.
Vekil değişken demek ilgili değişkenle en yüksek ilişkiye sahip değişken demektir. Model Kriteri C5.0 CHAID C&R Tree Bölünme Tipi Çoklu Çoklu İkili Sürekli Hedef Değişken Hayır Evet Evet Sürekli Tahmin Edici Değişken Evet Evet Evet Kategorik Tahmin Edici Değişken Evet Evet Evet Kategorik Hedef Değişken Evet Evet Evet Tahminci Seçim Kriteri Bilgi Ölçüsü Ki-Kare F testi Inpurity Ölçüsü İnteraktif Ağaç Özelliği Yok Var Var
Karar Ağaçlarının Uygulama Alanları Türkiye de yerli ve yabancı ticaret bankalarının finansal etkinliğe göre sınıflandırılması Sektörlerde personel seçimi ve performans değerlendirmesi Türkiye de turistlerin hangi şehir ve otelleri tercih ettiği Kredi geçmişlerinin kullanılmasıyla bireylere ilişkin kredi kararlarının verilmesi Yeni satış stratejilerin belirlenmesi Tıp ile ilgili gözlem verileri dikkate alınarak en etkin kararların verilmesi Satışları hangi değişkenlerin etkilediğinin belirlenmesi İşletmeye en faydalı olan bireylerin özelliklerinin kullanılma ile işe alma süreçlerinin belirlenmesi
BUDAMA Bir ağaç oluşturulduktan sonra, istenmeyen alt ağaçlar veya düğümler bulunabilir. Budama işlemi ile bunlar çıkarılarak karar ağacı daha genel bir biçimde ifade edilebilmektedir.
Bölme Bu işlem, verilerin daha küçük alt kümelere ayrılmasını sağlayan tekrarlı bir süreçtir. İlk tekrar tüm veriyi içeren kök düğüm ile başlar. Bundan sonraki tekrarlar, verinin alt kümelerini içeren üretilmiş düğümler üzerinde işlem yapmaktadır. Her bölme işleminde, değişkenler analiz edilir ve en iyi bölme seçilir.
DURDURMA Durdurma kuralları genellikle, maksimum ağaç derinliği, bir düğümde bölme için ele alınan minimum eleman sayısı ve yeni bir düğümde olması gereken minimum eleman sayısı gibi çeşitli faktörlere dayanır.
TEŞEKKÜRLER