BIL 416 Dördüncü Bölüm SINIFLANDIRMA YÖNTEMLERİ 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ı
Sınıflandırma Teknikleri Karar ağacı tabanlı yöntemler K -en yakın komşu yöntemi
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
Karar Ağacı Tümevarımı Birçok algoritma vardır: Hunt salgorithm (en eski- sadece bu gosterilecek) 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
Bölünme Şekilleri 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} {küçük, büyük} Bu bölünme ne ile ilgilidir? Boyut {orta}
Sürekli Özniteliklere Dayalı Olarak Bölünme Farklı yolları vardır sıralı bir kategorik öznitelik formuna ayrıklaştırma Statik başlangıçta ayrıklaştırma bir defaya mahsus olmak üzere yapılır Dinamik aralıklar eşit aralık demetleme ile bulunabilir (eşit frekans demetleme veya kümeleme). İ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? Bölünme öncesi : 10 kayıt class 0 10 kayıt class 1 Hangi test şartı en iyidir? Class 0 : bayanlar class 1: erkekler olabilir.
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
Düğüm Homojenliğinin Ölçümü Gini Index
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
GINI tabanlı Bölünme C-RT, SLIQ, SPRINT; GINI tabanlı bölünme kullanılır Bir p düğümü k parçaya bölüneceği zaman bölünme kalitesi şöyle hesaplanır, GINI split = k i= 1 n i n GINI ( i) formülde, n i = child i üzerindeki kayıt adedi, n = p düğümündeki kayıtların adedi.
İkili Öznitelikler : GINI Index Hesabı Kayıtlar iki parçaya bölünür Ağırlıkların etkisi hesaba katılır: Daha büyük ve katışık olmayan parçalar görülür. Gini(N1) = 1 (5/7) 2 (2/7) 2 = 0.408 Gini(N2) = 1 (1/5) 2 (4/5) 2 = 0.320 B? Yes No Node N1 Node N2 N1 N2 C1 5 1 C2 2 4 Gini=0.371 Parent C1 6 C2 6 Gini = 0.500 Gini(Children) = 7/12 * 0.408 + 5/12 * 0.320 = 0.371
Aşağıdaki Bölümlemelerden hangisi daha iyi? GINI indeks kullanarak hesaplayınız. Marital Status Marital Status {Single, Divorced} {Married} {Single} {Married,divorced}
Veri Madenciliği Ödev 2
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
Örnek