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

word image 23

Sınıflandırma İşlemleri

word image 24

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.

word image 25

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.

word image 26

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

word image 27

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.

word image 28

En Uygun Bölümü Belirleme

Bölmeden önce:C(0) 10 kayıt, C(1) 10 Kayıt

word image 29

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;

word image 30

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

word image 31

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.

word image 32

word image 33

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.

By