sınıflandırma: temel kavramlar, karar ağaçları ve model değerlendirme
Sınıflandırma : Tanım Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir Eğitim setindeki her kayıt bir tanesi sınıf (class) özniteliği olan özniteliklerden oluşur. Sınıflandırma modeli, diğer özniteliklerin değerleri ile sınıf (class) özniteliğinin bulunduğu fonksiyondur. Hedef: Yeni kayıtların doğru şekilde daha önceden belirlenmiş sınıflara atanmasıdır. Bir test kümesi modelin doğruluğunu belirlemek için kullanılır. Genellikle, veri seti eğitim ve test setlerine bölünür, eğitim seti ile model inşa edilirken test seti model doğrulama için kullanılır.
10 10 Sınıflandırma Görevinin Görselleştirilmesi Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No Learn Model 10 No Small 90K Yes Tid Attrib1 Attrib2 Attrib3 Class Apply Model 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K?
Sınıflandırma Örnekleri Tümör hücrelerinin iyi veya kötü huylu olarak tahmin edilmesi Kredi kartı işlemlerinin yasal veya hileli olarak sınıflandırılması Yeni hikayelerin finans, hava durumu, eğlence, spor vs. şeklinde kategorilere ayrılması İkincil protein yapılarının alpha-helix, beta-sheet, veya rasgele yağlar olup olmadığının sınıflandırılması
Sınıflandırma Teknikleri Karar ağacı tabanlı yöntemler Kural-tabanlı yöntemler Bellek tabanlı yakınsama Yapay sinir ağları Naïve Bayes ve Bayesian inanç ağları Destek vektör makineleri
10 Bir Karar Ağacı Örneği categorical Tid Refund Marital Status categorical continuous Taxable Income Cheat class Özniteliklerin bölünmesi 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No Yes Refund No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes MarSt Single, Divorced TaxInc < 80K > 80K Married 9 No Married 75K No 10 No Single 90K Yes YES Eğitim verisi Model: Karar ağacı
10 Karar Ağacı için Bir Diğer Örnek categorical Tid Refund Marital Status categorical Taxable Income continuous 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes class Married MarSt Yes Single, Divorced Refund No TaxInc < 80K > 80K YES Aynı veriyi uydurmak için birden fazla ağaç kullanılabilir.
10 10 Karar Ağacı Sınıflandırma Görevi Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No Learn Model 10 No Small 90K Yes Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Apply Model Decision Tree
1 0 Modelin Test Verisine Uygulanması Ağacın kökünden başlayın Test verisi Refund Marital Status Taxable Income Cheat Refund No Married 80K? Yes No MarSt Single, Divorced Married TaxInc < 80K > 80K YES
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? MarSt Single, Divorced Married TaxInc < 80K > 80K YES
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? MarSt Single, Divorced Married TaxInc < 80K > 80K YES
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? MarSt Single, Divorced Married TaxInc < 80K > 80K YES
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? MarSt Single, Divorced Married TaxInc < 80K > 80K YES
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Refund No Married 80K? Yes No MarSt Single, Divorced Married Cheat bilgisi No olarak atanır. TaxInc < 80K > 80K YES
10 10 Karar Ağacı Sınıflandırma Görevi Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No Learn Model 10 No Small 90K Yes Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K? 12 Yes Medium 80K? 13 Yes Large 110K? 14 No Small 95K? 15 No Large 67K? Apply Model Decision Tree
Karar Ağacı Tümevarımı Birçok algoritma vardır: Hunt s Algorithm (ilklerden biri) CART ID3, C4.5 SLIQ,SPRINT
1 0 Hunt s Algoritması için Genel Yapı D t bir t düğümünde bulunan eğitim kayıtlarının bir kümesi olsun Genel prosedür: Eğer D t aynı sınıfa (y t sınıfı) ait kayıtları içeriyorsa, t bir yaprak düğümdür ve y t olarak etiketlenir. Eğer D t bir boş kümeyse, t bir yaprak düğümdür ve geçerli sınıf tarafından etiketlenir, y d Eğer D t birden fazla sınıfa ait kayıtlar içeriyorsa, veriyi daha küçük alt kümelere bölmek için bir başka öznitelik kullanılır. Her bir alt küme için bu işlem özyineli olarak devam eder. Tid Refund Marital Status Taxable Income 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No Cheat 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes? D t
10 Hunt s Algoritması Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No Hileci değil Yes Hileci değil Refund No Hileci değil 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No Yes Refund No Yes Refund No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes Hileci değil Single, Divorced Hileci Marital Status Married Hileci değil Hileci değil Single, Divorced Taxable Income Marital Status Married Hileci değil < 80K >= 80K Hileci değil Hileci
Ağaç Tümevarımı Konular Kayıtların nasıl bölüneceğinin belirlenmesi Öznitelik test şartı nasıl belirlenir? En iyi bölünme nasıl belirlenir? Bölünmenin ne zaman duracağının belirlenmesi
Öznitelik Test Şartı Nasıl Belirlenir? Öznitelik tiplerine bağlı olarak Nominal Ordinal Continuous Bölünme şekillerinin sayısına bağlı olarak 2-yollu bölünme Çok yollu bölünme
Nominal Özniteliklere Dayalı Olarak Bölünme Çok yollu bölünme: farklı değerler için birçok bölünme kullanılır. Aile ArabaTipi Spor Lüks İkili bölünme: değerler iki altkümeye bölünür. En uygun bölünmeyi bulmaya ihtiyaç vardır. {Spor, Lüks} ArabaTipi {Aile} veya {Aile, Lüks} ArabaTipi {Spor}
Ordinal Özniteliklere Dayalı Olarak Bölünme Çok yollu bölünme: farklı değerler için birçok bölünme kullanılır. Küçük Orta Boyut Büyük İkili bölünme: değerler iki altkümeye bölünür. En uygun bölünmeyi bulmaya ihtiyaç vardır {küçük, orta} Boyut {büyük} veya {orta, büyük} Boyut {küçük} Bu bölünme ne ile ilgilidir? {küçük, büyük} Boyut {orta}
Sürekli Özniteliklere Dayalı Olarak Bölünme İkili karar: (A < v) veya (A v) olası bölünmelerin hepsi varsayılır ve en iyi dilim bulunur daha yoğun hesaplama gerekebilir
Sürekli Özniteliklere Dayalı Olarak Bölünme
En İyi Bölünme Nasıl Belirlenir? Greedy yaklaşımı: Homojen sınıf dağılımına sahip düğümler tercih edilir Düğüm katışıklılığının (impurity) ölçümü bir ihtiyaçtır : Katışıklılık derecesi yüksek Katışıklılık derecesi düşük
Homojenliğinin Ölçümü: GINI Verilen bir t düğümü için Gini Index : GINI( t) = 1 j [ p( j t)] 2 (T: p( j t) t düğümündeki j sınıfına ait bağıl olasılıktır). Maksimum (1-1/n c ), kayıtların bütün sınıflar arasında eşit olarak dağılması durumudur. (n c: sınıf adedi) Minimum (0.0) bütün kayıtların bir sınıfa ait olması durumudur C1 0 C2 6 Gini=0.000 C1 1 C2 5 Gini=0.278 C1 2 C2 4 Gini=0.444 C1 3 C2 3 Gini=0.500
GINI Hesaplama için Örnekler GINI( t) = 1 j [ p( j t)] 2 C1 0 C2 6 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Gini = 1 P(C1) 2 P(C2) 2 = 1 0 1 = 0 C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Gini = 1 (1/6) 2 (5/6) 2 = 0.278 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Gini = 1 (2/6) 2 (4/6) 2 = 0.444
Entropy Hesaplama için Örnekler = p( j t)log p( j t j Entropy t) ) ( 2 C1 0 C2 6 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Entropy = 0 log 0 1 log 1 = 0 0 = 0 C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Entropy = (1/6) log 2 (1/6) (5/6) log 2 (1/6) = 0.65 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Entropy = (2/6) log 2 (2/6) (4/6) log 2 (4/6) = 0.92
Ağaç tümevarımı için bölünmenin durdurulması Bütün kayıtlar aynı sınıfa ait olmaya başlayınca düğüm genişletme son bulur Bütün kayıtlar benzer öznitelik değerlerine sahip ise genişleme durdurulur
Karar Ağacı tabanlı sınıflandırma Avantajları: İnşa edilmesi kolaydır Bilinmeyen kayıtların sınıflandırılmasında son derece hızlıdır Küçük boyutlu ağaçları yorumlamak kolaydır Birçok basit veri seti için diğer sınıflandırma teknikleri ile karar ağacı yöntemi doğruluk açısından karşılaştırılabilir.
Model Değerlendirme Performans değerlendirme ölçümleri Bir modelin performansını nasıl değerlendiririz? Performans değerlendirme yöntemleri Güvenilir tahminleri nasıl elde ederiz? Model karşılaştırma yöntemleri Kazanan modeller arasında bağıl performansı nasıl karşılaştırırız?
Performans Değerlendirme için Ölçümler Bir modelin tahminsel yetenekleri: Sınıflandırma veya model inşasının ne kadar hızlı yapıldığı, ölçeklenebilirliği v.s. Karıştırma (confusion) Matrisi : TAHMİN EDİLEN SINIF Class=Yes Class=No a: TP (true positive) GERÇEK SINIF Class=Yes Class=No a c b d b: FN (false negative) c: FP (false positive) d: TN (true negative)
Performans Değerlendirme için Ölçümler TAHMİN EDİLEN SINIF Class=Yes Class=No GERÇEK SINIF Class=Yes Class=No a (TP) c (FP) b (FN) d (TN) En çok kullanılan ölçüm: Accuracy = a a + b + + d c + d = TP TP + TN + TN + FP + FN
Doğruluğun Limitleri 2 sınıflı bir problem varsayalım Class 0 örneklerinin sayısı = 9990 Class 1 örneklerinin sayısı = 10 Eğer model her şeyi class 0 olarak tahmin ederse doğruluk 9990/10000 = 99.9 % olur. Class 1 örneklerinden hiç biri tespit edilmediği halde doğruluk bilgisi bizi yanıltabilir.
Performans Değerlendirme için Yöntemler Performansın güvenilir bir tahminini nasıl elde ederiz? Bir modelin performansı öğrenim algoritmasının gerisinde diğer faktörlere bağlı olabilir: Sınıf dağılımı Hatalı sınıflandırma maliyeti Eğitim ve test setlerinin boyutu