Sınıflandırma ve Karar Ağaçları
Herkese merhabalar;
Bu yazımızda sınıflandırma ve karar ağaçlarından bahsedeceğiz.
Sınıflandırma Nasıl yapılır ?
- Belirli şart ve özelliklerden ve bir sınıf özelliğinden oluşan bir veri kümesi belirlenir.
- Şart özelliklerinin aldığı değperelere göre sınıf değerlerini tahmin eden bir model veya fonksiyon oluşturulur.
- Hedef:Daha önce görülmemiş olan kayıtların veya örneklerin sınıf değerlerini yüksek doğrulukta tahmin etmektir.
- Genellikle veri kümesi eğitim kümesi ve test kümesi olmak üzere ikiye bölünür.Eğitim kümesi modeli eğitmek ve test kümesi ise modelin doğruluğunu değerlendirmek için kullanılır.
Özet olarak;
Training set denilen bir eğitim veri kümemiz vardır bu veri kümesini öğrenmek üzere bir algoritmaya veririz daha sonra bu algoritma bir model döner dönen bu model kesilip biçilip test kümemisini oluşturur.Eğitim setinden olabilecek tüm varyasyonlar olması gerekir, aksi halde test kümesi sağlıklı bir sonuç vermez.
Sınıflandırma Teknikleri
- Karar Ağacı temelli metodlar
- Kural tabanlı metotlar
- Hafıza tabanlı akıl yürütme teknikleri
- Sinir ağları
- Naive Bayes
- Destek vektör makinesi
Karar Ağacı Örneği

Sınıflandırma İşlemleri

Modelin Test Verisine Uygulaması
Ağacın tepesinden başlanır daha sonra karar ağacı uygulanır.Örnek olarak Test kümemiz {Refund=No,Marital Status= Married, Taxable Income=80k,Cheat=?}
Karar ağacına göre;Refund = No ise MarSt bakılır MarSt=Married ise Cheat= No yerleştirilir böylelikle elimizde bir model olur.Model Test datasına basılır ve test kümesi çıktı olarak kullanıcıya sunulur.

Karar Ağaçı Algoritmaları
- Hunt’s Algorithm (ilk geliştiren algoritmalardan)
- CART
- ID3,C4.5
- SLİQ,SPRINT
Ağacın Oluşturulması
Karar ağaçları binary,b tree,red black gibi ağaçların yanı sıra parent node’un iki çocuğu olmak zorunda gibi bir kuralları yoktur.Genellikle aç gözlü bir strateji kurarak ağaç oluşturulması gerçekleştirilir.
Veri kümesi, en anlamlı özelliğine göre bölünerek ağaca eklenir ve verinin aldığı değerlere göre ağacın dalları oluşur.Veri setinin özellikleri kaç farklı değer alırsa ona göre bir bölme işlemi yapılır ve ağaç oluşturulur algoritmanın en sorunlu aşaması bu veriyi yarıya bölme işlemindeki attribute değerinin belirlenmesidir.
En anlamlı Özellik
Bölme işlemi en anlamlı özelliğe göre belirlenmelidir.
Özellik Tipine bağlı
Nominal ,Ordinal yada sürekli olabilir.
Özellik belirlenmesinden sonra diğer bir önemli konu veri modelinin kaç çeşit bölünebildiğine bağlıdır örneğin 2 dala bölme, çok dala bölme gibi seçenekler vardır.
Nominal Değere Göre Bölme
Çok Dala Bölme:Kesin değerlere göre bölme işlemi gerçekleştirilir.Örneğin Araba tipi dalının çocukları Aile arabası lüks araba vs.

İki Dala Bölme: İki dala bölünür.En uygun bölme noktası belirlenmelidir.

Sürekli Değerlere Göre Bölme
Sürekli değer dediğimizde birden fazla değişik yöntemle karşılıyoruz.
Ayrıklaştırılması (discretization)
Burada belli aralıklar örneğin 0-10 arası, 0-10 arasındaki hepsini tek bir değerde ifade ederiz.Veri işleme ve veri madenciliğide daha çok kullanılır.
Ayrıklaştırma kendi arasında Statik ve Dinamik ayrıklaştırma olarak 2 ‘ye ayrılır.Statik ayrıklaştırma da ne yapılacak bellidir.Dinamikte ise kaça böleceğimiz belli değildir.Bunlar dışında birde ikili karar metoduna göre bölme işlemi vardır.İkili kararda ise mümkün olabilecek bütün kesme noktalarının belirlenmesi ve en uygun olanının seçilmesi gerekir.

En Uygun Bölümü Belirleme
Bölmeden önce:C(0) 10 kayıt, C(1) 10 Kayıt

Yukarıdaki görselde farklı bölünme metodları uygulanan veri kümelerini görüyoruz.Bu kısımda en uygun bölümü belirlemek veri kümemize bağlıdır.Burada insan faktörü devreye girer bu sebeplede zaten yapay zeka algoritmalar insan zekasını geçemez.Student Id göre bir bölünme algoritmanın verinin her satırını ezberlemesi anlamına gelir ki bu istenmeyen bir durumdur.Algoritma farklı verileri kategorize edemez.Bu sebeple bölünme işlemi için belli başlı kritik property lere göre bölünme yapmak daha akıllıcadır.
En uygun kesme bölme işlemine gelecek olursak, burada açgözlü yaklaşım vardır.Tüm düğümler homojen olarak dağıldığı bölme işlemi tercih edilir.Bölme işlemi sonucunun bir karışıklık değeri vardır.Örnek olarak;

Karışıklık değeri ölçüleri
- Gini Index
- Entropy
- Misclassification error

Karışıklık Ölçüsü:GINI
Gını Index node t için;
GINI(t) = 1-
Buradaki p( j | t ) t veri kümesinde j sınıfının göreceli frekansıdır.Maximum (1- 1/ ) kayıtlar eşit olarak dağıldığı zaman ki durumda elde edilir ve en düşük kazancı verir.
Minimum (0.0) bütün kayıtlar bir sınıfa ait olduğunda elde edilir, ve en yüksek kazancı verir.Max GINI en düşük kazancı verir.


Yukarıdaki görsellere göre gını ne kadar az çıkar ise o kadar yüksek kazanç elde ederiz.
Son
Buraya kadar okuduğunu için teşekkür ederim.Umarım faydalı bir yazı olmuştur.Gelecek yazımızda Gini ile örnekler çözüp karar ağaçlarını bitireceğiz.