Dördüncü Saat sınıflandırma: temel kavramlar, karar ağaçları ve model değerlendirme Dr. Hidayet Takçı Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 1
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. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 2
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? Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 3
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ı Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 4
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 5
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 NO MarSt Single, Divorced TaxInc < 80K > 80K Married NO 9 No Married 75K No 10 No Single 90K Yes NO YES Eğitim verisi Model: Karar ağacı Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 6
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 NO MarSt Yes NO Single, Divorced Refund NO No TaxInc < 80K > 80K YES Aynı veriyi uydurmak için birden fazla ağaç kullanılabilir. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 7
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 8
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 NO MarSt Single, Divorced Married TaxInc < 80K > 80K NO NO YES Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 9
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO MarSt Single, Divorced Married TaxInc < 80K > 80K NO NO YES Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 10
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO MarSt Single, Divorced Married TaxInc < 80K > 80K NO NO YES Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 11
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO MarSt Single, Divorced Married TaxInc < 80K > 80K NO NO YES Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 12
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Yes Refund No No Married 80K? NO MarSt Single, Divorced Married TaxInc < 80K > 80K NO NO YES Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 13
1 0 Modelin Test Verisine Uygulanması Test Verisi Refund Marital Status Taxable Income Cheat Refund No Married 80K? Yes No NO MarSt Single, Divorced Married Cheat bilgisi No olarak atanır. TaxInc NO < 80K > 80K NO YES Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 14
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 15
Karar Ağacı Tümevarımı Birçok algoritma vardır: Hunt s Algorithm (ilklerden biri) CART ID3, C4.5 SLIQ,SPRINT Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 16
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 17
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 18
Ağaç Tümevarımı Greedy (açgözlü) strateji Kayıtlar, belirli kriterleri optimize eden bir özniteliğe dayalı olarak bölünürler. 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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 19
Ö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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 20
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} Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 21
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} Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 22 Cevap : Uçlar ve orta bölünmesi
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 23
Sürekli Özniteliklere Dayalı Olarak Bölünme Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 24
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? Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 25 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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 26
Düğüm Homojenliğinin Ölçümü Gini Index Entropy Misclassification error Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 27
Homojenliğinin Ölçümü: GINI Verilen bir t düğümü için Gini Index : GINI( t) = 1 j [ p( j t)] 2 (NOT: 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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 28
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 29
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. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 30
İ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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 31
10 Sürekli Öznitelikler : Gini Index Hesabı Bir değere bağlı olarak ikili kararlar kullanılır Bölünme değeri için birkaç seçim olabilir Olası bölünme değerlerinin sayısı = farklı değerlerin sayısı Her bir bölünme değeri onunla ilişkili bir sayı matrisine sahiptir. Bölümlerin her birindeki sayılar alınır, A < v ve A v En iyi v değerini seçmek için basit yöntem Her bir v için, sayı matrisi elde ederken veritabanı taranır ve onun Gini indeksi hesaplanır Hesaplama etkin değildir, çalışmada tekrar şarttır. 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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 32
Sürekli Öznitelikler : Gini Index Hesabı Etkili hesaplama için : Değerler üzerinde öznitelikler sıralanır Bu değerler doğrusal olarak taranır, her seferinde sayı matrisi güncellenir ve gini indeksi hesap edilir En küçük gini indeksine sahip olan bölünme pozisyonu seçilir. Cheat No No No Yes Yes Yes No No No No Taxable Income Sorted Values Split Positions 60 70 75 85 90 95 100 120 125 220 55 65 72 80 87 92 97 110 122 172 230 <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > <= > Yes 0 3 0 3 0 3 0 3 1 2 2 1 3 0 3 0 3 0 3 0 3 0 No 0 7 1 6 2 5 3 4 3 4 3 4 3 4 4 3 5 2 6 1 7 0 Gini 0.420 0.400 0.375 0.343 0.417 0.400 0.300 0.343 0.375 0.400 0.420 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 33
Bilgi (info) tabanlı Alternatif Bölünme Kriteri Verilen bir t düğümü için Entropy: Entropy ( t) = p( j t)log p( j t) j (NOT: p( j t) t düğümündeki j sınıfına ait bağıl frekanstır). Bir düğümün homojenliğini ölçer. Maksimum (log n c ), kayıtlar bütün sınıflar arasında eşit olarak dağıldığında elde edilir Minimum (0.0) bütün kayıtlar bir sınıfa ait olduğunda en ilginç bilgiyi içerir Entropy tabanlı hesaplamalar GINI indeks hesaplamalarına benzerdir. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 34
Entropy Hesaplama için Örnekler Entropy t) = p( j t)log p( j t) j ( 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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 35
Bilgi tabanlı bölümleme... Bilgi kazancı: k ni GAIN = Entropy( p) Entropy( i) split i= 1 n Parent düğümü(p) k kısma bölünür; n i i. kısım içindeki kayıtların sayısıdır Bölümlemeden dolayı Entropy de ölçülerin azaltılması başarılır. En iyi azaltmayı sağlayan bölümleme seçilir (Kazanç maksimize edilir) ID3 ve C4.5 algoritmalarında kullanılır Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 36
Sınıflandırma hatası tabanlı bölünme kriteri Bir t düğümündeki sınıflandırma hatası : Error( t) = 1 max P( i t) i Bir düğüm için sınıflandırma hatası ölçümü şöyledir. Maksimum (1-1/n c ), kayıtlar bütün sınıflar arasında eşit olarak dağıldığında elde edilir. Minimum (0.0) bütün kayıtlar bir sınıfa ait olduğunda en ilginç bilgiyi içerir Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 37
Hesaplama hatası için örnekler Error( t) = 1 max P( i t) i C1 0 C2 6 P(C1) = 0/6 = 0 P(C2) = 6/6 = 1 Error = 1 max (0, 1) = 1 1 = 0 C1 1 C2 5 P(C1) = 1/6 P(C2) = 5/6 Error = 1 max (1/6, 5/6) = 1 5/6 = 1/6 C1 2 C2 4 P(C1) = 2/6 P(C2) = 4/6 Error = 1 max (2/6, 4/6) = 1 4/6 = 1/3 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 38
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 39
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. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 40
Örnek : C4.5 Bilgi kazancı ölçümünü kullanılır Her bir düğümdeki sürekli öznitelikler sıralanır Belleği bütün veri seti için uygunlaştırmaya ihtiyaç vardır. Büyük veritabanları için uygun değildir. Sıralama algoritmaları büyük ihtiyaçtır. Yazılım aşağıdaki adresten indirilebilir: http://www.cse.unsw.edu.au/~quinlan/c4.5r8.tar.gz Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 41
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? Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 42
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) Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 43
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 44
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. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 45
Maliyet Matrisi TAHMİN EDİLEN SINIF C(i j) Class=Yes Class=No GERÇEK SINIF Class=Yes Class=No C(Yes Yes) C(Yes No) C(No Yes) C(No No) C(i j): class j örneğinin class i olarak hatalı sınıflandırılması maliyeti Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 46
Sınıflandırma Maliyetinin Hesaplanması Cost Matrix TAHMİN EDİLEN SINIF GERÇEK SINIF C(i j) + - + -1 1-100 0 Model M 1 TAHMİN EDİLEN SINIF Model M 2 TAHMİN EDİLEN SINIF GERÇEK SINIF + - + 150 60-40 250 GERÇEK SINIF + - + 250 5-45 200 Accuracy = 80% Cost = 3910 Accuracy = 90% Cost = 4255 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 47
Doğruluğa karşı Maliyet Count ACTUAL CLASS Class=Yes Class=No PREDICTED CLASS Class=Yes Class=No a b c d Doğruluk maliyet ile orantılıdır, eğer; 1. C(Yes No)=C(No Yes) = q 2. C(Yes Yes)=C(No No) = p N = a + b + c + d Doğruluk = (a + d)/n Cost ACTUAL CLASS Class=Yes Class=No PREDICTED CLASS Class=Yes Class=No p q q p Maliyet = p (a + d) + q (b + c) = p (a + d) + q (N a d) = q N (q p)(a + d) = N [q (q-p) Doğruluk] Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 48
Maliyet-Duyarlı Ölçümler Precision (p) = a a Recall (r) = a + b F - measure (F) = a + c 2rp r + p = 2a 2a + b + c Weighted Accuracy = w a 1 + w a 1 w b 2 + + w d 4 w c + 3 w d 4 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 49
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 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 50
Öğrenim Eğrisi Öğrenim eğrisi çeşitli büyüklüklerde doğruluğun nasıl değiştiğini verir. Az örnekle çalışmanın etkisi: - Tahminde meyillilik. - Tahmin varyasyonu Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 51
Model Karşılaştırma Yöntemleri ROC (Receiver Operating Characteristic) 1950li yıllarda gürültülü sinyalleri analiz etmede kullanılan sinyal tespiti teorisi için geliştirilmiştir. ROC eğrisi FP (x koordinatında) ye karşı TP(y koordinatında) yi çizer Her bir sınıflayıcının performansı ROC eğrisinde bir nokta olarak sunulur. Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 52
ROC Eğrisi - 1-boyutlu veri seti iki sınıf içeriyor (pozitif ve negatif) - Her bir nokta x>t iken pozitif olarak sınıflanır t eşik seviyesinde : TP=0.5, FN=0.5, FP=0.12, FN=0.88 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 53
Model Karşılaştırma için ROC Kullanımı Sürekli olarak hiçbir model diğerinden daha üstün değildir M 1, küçük FP oranı için daha iyidir. M 2 daha büyük FP oranı için daha iyidir. ROC eğrisi altındaki alan Ideal: alan = 1 Rasgele tahmin: alan = 0.5 Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 54
Bir ROC Eğrisi nasıl İnşa Edilir Class + - + - - - + - + + Threshold >= 0.25 0.43 0.53 0.76 0.85 0.85 0.85 0.87 0.93 0.95 1.00 TP 5 4 4 3 3 3 3 2 2 1 0 FP 5 5 4 4 3 2 1 1 0 0 0 TN 0 0 1 1 2 3 4 4 5 5 5 FN 0 1 1 2 2 2 2 3 3 4 5 TPR 1 0.8 0.8 0.6 0.6 0.6 0.6 0.4 0.4 0.2 0 FPR 1 1 0.8 0.8 0.6 0.4 0.2 0.2 0 0 0 ROC Eğrisi: Veri Madenciliği Dersi GYTE Dr. Hidayet Takçı 10/05/2008 55