Web Madenciliği (Web Mining) Hazırlayan: M. Ali Akcayol Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 1
Denetimli Öğrenmenin Temelleri Denetimli (gözetimli) öğrenme, makine öğrenmesinde sınıflandırma veya tümevarımlı (inductive) öğrenme şeklinde ifade edilir. Denetimli öğrenmede hedef değerler (targets) ile giriş değerleri (inputs) birlikte eğitim kümesi (training set) olarak sağlanır. Öğrenme işleminde bir kayıt kümesi kullanılır ve özellikler kümesi olarak gösterilir. A = {A 1, A,, A A } Burada, A kümedeki eleman sayısını gösterir. 3 Denetimli Öğrenmenin Temelleri Bir veri kümesi aynı zamanda hedef C özelliğine de (sınıf) sahip olabilir. C A = dir ve aşağıdaki gibi ifade edilir: C = {c 1, c,, c C }, C Verilen bir D veri kümesi için öğrenmedeki amaç, A daki özellikler ile C deki sınıflar arasındaki ilişkiyi gösteren bir sınıflandırma/tahmin fonksiyonu oluşturmaktır. Elde edilen bu fonksiyon, sınıflandırma modeli, tahmin modeli veya sınıflandırıcı olarak adlandırılır. 4
Örnek Denetimli Öğrenmenin Temelleri Bir kredi uygulamasına yönelik veri kümesi aşağıda verilmiştir. 5 Denetimli Öğrenmenin Temelleri Bir veri kümesi ile öğrenen bir model geliştirip gelecekteki yeni müşterilere ait verilerde kullanılabilir. Bu şekilde sınıf etiketlerinin de verildiği öğrenmeye denetimli (supervised) öğrenme denilir. Öğrenme sürecinde kullanılan veri kümesine eğitim verisi (training data), öğrenmeden sonraki değerlendirme sürecinde kullanılan veri kümesine ise test verisi denilmektedir. Eğitim verisinin de test verisinin de tüm sistemi temsil etme kapasitesine sahip olması gerekir. Test verisi eğitim sürecinde görülmemiş veri (unseen data) olarak oluşturulmalıdır. 6 3
Denetimli Öğrenmenin Temelleri Geliştirilen modelin doğruluk değeri (accuracy), test verisinde doğru sınıflandırma sayısıyla belirlenir. Öğrenme süreci training ve test aşamalarından oluşur. 7 Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 8 4
Karar Ağaçları Sınıflandırma problemleri için yaygın kullanılan yöntemdir. Sınıflandırma doğruluğu diğer öğrenme metotlarına göre çok etkindir. Öğrenmiş sınıflandırma modeli ağaç şeklinde gösterilir ve karar ağacı (decision tree) olarak adlandırılır. ID3 ve C4.5, entropiye dayalı sınıflandırma algoritmalarıdır. Twoing ve Gini, CART (Classification And Regression Trees) sınıflandırma ve regresyon ağaçlarına dayalı sınıflandırma algoritmalarıdır. CART algoritmalarında her düğümde bir kritere göre ikili bölünme yapılır. 9 Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 5
Entropi Entropi, rastgele değere sahip bir değişken veya bir sistem için belirsizlik ölçütüdür. Enformasyon, rastsal bir olayın gerçekleşmesi halinde ortaya çıkan bilgi ölçütüdür. Bir süreç için entropi, tüm örnekler tarafından içerilen enformasyonun beklenen değeridir. Eşit olasıklı durumlara sahip sistemler yüksek belirsizliğe sahiptirler. Shannon, bir sistemdeki durum değişikliğinde, entropideki değişimin enformasyon boyutunu tanımladığını öne sürmüştür. Buna göre bir sistemdeki belirsizlik arttıkça, bir durum gerçekleştiğinde elde edilecek enformasyon boyutu da artacaktır. 11 Entropi Shannon bilgiyi bitlerle ifade etttiği için, logaritmayı tabanında kullanmıştır ve enformasyon formülünü aşağıdaki gibi vermiştir. P(x), x olayının gerçekleşme olasılığını gösterir. Shannon a göre entropi, iletilen bir mesajın taşıdığı enformasyonun beklenen değeridir. Shannon entropisi H, aşağıdaki gibi ifade edilir: 1 6
Örnek Entropi Bir paranın havaya atılması olayı rastsal X sürecini göstersin. Yazı ve tura gelme olasılıkları eşit olduğundan elde edilecek enformasyon, 1 1 I( X ) log log log 1 P( X ) 0,5 olur. Bu olayın sonucunda 1 bitlik bilgi kazanılmıştır. Entropi değeri ise 1 olarak bulunur. 13 Entropi Örnek Aşağıdaki 8 elemanlı S kümesi verilsin. S = {evet, hayır, evet, hayır, hayır, hayır, hayır, hayır} evet ve hayır için olasılık, 6 p ( evet) 0,5 p ( hayir) 0,75 8 8 Entropi değeri, H ( S) p( evet)log 0,5.log 0,81 1 0,5 1 p( hayir)log p( evet) 0,75.log 1 0,75 1 p( hayir) 14 7
Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 15 ID3 Algoritması ID3 (Iterative Dichotomiser 3) algoritması sadece kategorik verilerle çalışmaktadır. Karar ağaçları çok boyutlu veriyi belirlenmiş bir niteliğe göre parçalara böler. Her adımda verinin hangi özelliğine göre ne tür işlem yapılacağına karar verilir. Oluşturulabilecek tüm ağaçların kombinasyonu çok fazladır. Karar ağaçlarının en az düğüm ve yaprak ile oluşturulması için farklı algoritmalar kullanılarak bölme işlemi yapılır. 16 8
ID3 Algoritması Karar ağacında entropi Bir eğitim kümesindeki sınıf niteliğinin alacağı değerler kümesi T, her bir sınıf değeri C i olsun. T sınıf değerini içeren küme için P t sınıfların olasılık dağılımı C1 C Ck Pt,,..., T T T şeklinde ifade edilir. T sınıf kümesi için ortalama entropi değeri ise H( T) n i1 p i log ( p i ) şeklinde ifade edilir. 17 ID3 Algoritması Karar ağaçlarında bölümlemeye hangi düğümden başlanacağı çok önemlidir. Uygun düğümden başlanmazsa ağacın içerisindeki düğümlerin ve yaprakların sayısı çok fazla olacaktır. Bir risk kümesi aşağıdaki gibi tanımlansın. C 1 = var, C = yok RISK = {var, var, var, yok, var, yok, yok, var, var, yok} C 1 = 6 C = 4 p 1 = 6/ = 0,6 p = 4/ = 0,4 P RISK 6 4, n 6 6 4 H( RISK) p i log ( p i ) log log i1 4 0,97 18 9
ID3 Algoritması Dallanma için niteliklerin seçimi Öncelikle sınıf niteliğinin entropisi hesaplanır. H( T) n i1 p i log ( p i ) Sonra özellik vektörlerinin sınıfa bağımlı entropileri hesaplanır. H( X k ) n Ti X Ti log X i1 k k Son olarak sınıf niteliğinin entropisinden tüm özellik vektörlerinin entropisi çıkartılarak her özellik için kazanç ölçütü hesaplanır. Kazanç( X, T ) H ( T ) H ( X, T ) H( X, T) En büyük kazanca sahip özellik vektörü o iterasyon için dallanma düğümü olarak seçilir. n k1 X k H( X X k ) 19 Örnek ID3 Algoritması Aşağıdaki tablo için karar ağacı oluşturulsun. n 5 5 5 H( T) H( RISK) p i log ( p i ) log log i1 5 1 0
ID3 Algoritması H H 3 ) log 3 3 0 log 3 3 0 3 ( BORÇ YÜKSEK 5 ) log 7 5 log 7 7 7 ( BORÇ DUSUK H ( BORÇ, RISK) 3 H ( 3 (0) Kazanç( BORÇ, RISK ) 1 0,64 0,36 0 0,863 7 BORÇYÜKSEK ) H 7 (0,863) 0,64 ( BORÇ DUSUK ) 1 ID3 Algoritması H H ) log 5 3 log 5 5 3 5 ( GELIR YÜKSEK 3 ) log 5 3 log 5 5 5 ( GELIR DUSUK H ( GELIR, RISK) 5 H ( GELIR 5 (0,971) YÜKSEK 5 Kazanç( GELIR, RISK) 1 0,971 0,09 0,971 0,971 ) 5 H ( GELIR (0,971) 0,971 DUSUK ) 11
ID3 Algoritması H H 3 ) log 5 3 log 5 5 5 ( STATU ISVEREN 3 ) log 5 3 log 5 5 5 ( STATU DUSUK H ( STATU, RISK) 5 H ( STATU 5 (0,971) 5 YÜKSEK Kazanç( STATU, RISK) 1 0,971 0,09 0,971 0,971 ) 5 (0,971) 0,971 H ( STATU DUSUK ) İlk dallanma için uygun seçim BORÇ niteliğidir. 3 ID3 Algoritması 4 1
ID3 Algoritması Karar ağacından elde edilen kurallar 1.EĞER (BORÇ = YÜKSEK) İSE (RİSK = KÖTÜ).EĞER (BORÇ = DÜŞÜK) VE (GELİR = YÜKSEK) İSE (RİSK = İYİ) 3.EĞER (BORÇ = DÜŞÜK) VE (GELİR = DÜŞÜK) VE (STATÜ = ÜCRETLİ) İSE (RİSK = İYİ) 4.EĞER (BORÇ = DÜŞÜK) VE (GELİR = DÜŞÜK) VE (STATÜ = İŞVEREN) İSE (RİSK = KÖTÜ) 5 Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 6 13
C4.5 Algoritması C4.5 ile sayısal değerlere sahip nitelikler için karar ağacı oluşturmak için Quinlan tarafından geliştirilmiştir. ID3 algoritmasından tek farkı münerik değerlerin kategorik değerler haline dönüştürülmesidir. En büyük bilgi kazancını sağlayacak biçimde bir eşik değer belirlenir. Eşik değeri belirlemek için tüm değerler sıralanır ve ikiye bölünür. Eşik değer için [v i, v i+1 ] aralığının orta noktası alınabilir. t i v i v Nitelikteki değerler eşik değere göre iki kategoriye ayrılmış olur. i1 7 Örnek C4.5 Algoritması Nitelik = {65, 70, 75, 80, 85, 90, 95, 96} için eşik değer (80+85)/ = 83 alınmıştır. 8 14
C4.5 Algoritması 9 C4.5 Algoritması 5 H SINIF) log 14 5 9 log 14 14 9 14 ( H NITELIK1a ) log 5 3 log 5 5 3 5 ( 4 H NITELIK1b ) log 4 5 H ( NITELIK1, SINIF) H ( NITELIK1a ) 14 Kazanç 4 0 log 4 4 0 4 ( 3 H NITELIK1c ) log 5 3 log 5 5 5 ( 5 4 5 0,971 0 14 14 14 ( NITELIK 1, SINIF ) 0,940 0,694 0,940 0,971 0 0,971 4 14 H ( NITELIK1 ) 0,971 0,694 0,46 b 5 14 H ( NITELIK1 ) c 30 15
C4.5 Algoritması 7 7 H( NITELIKek ) log log 9 9 9 H NITELIKb) log 5 9 3 log 5 5 3 5 ( 0,765 0,971 9 5 H ( NITELIK, SINIF) H ( NITELIKek ) H ( NITELIK1b ) 14 14 9 5 0,765 0,971 0,836 14 14 Kazanç( NITELIK, SINIF ) 0,940 0,836 0,4 31 C4.5 Algoritması 3 H NITELIK3d ) log 6 3 3 log 6 6 3 6 ( 6 H NITELIK3y ) log 8 6 log 8 8 8 ( 1 0,811 6 8 H ( NITELIK3, SINIF) H ( NITELIK3d ) H ( NITELIK3 y ) 14 14 6 8 1 0,811 0,89 14 14 Kazanç( NITELIK 3, SINIF ) 0,940 0,89 0,048 Kazanç( NITELIK 3, SINIF ) Kazanç( NITELIK, SINIF ) Kazanç( NITELIK 1, SINIF ) 3 16
C4.5 Algoritması 33 C4.5 Algoritması Karar ağacından elde edilen kurallar 1.EĞER (NİTELİK1 = a) VE (NİTELİK = Eşit veya Küçük) İSE (SINIF = Sınıf1).EĞER (NİTELİK1 = a) VE (NİTELİK = Büyük) İSE (SINIF = Sınıf) 3.EĞER (NİTELİK1 = b) İSE (SINIF = Sınıf1) 4.EĞER (NİTELİK1 = c) VE (NİTELİK3 = yanlış) İSE (SINIF = Sınıf1) 5.EĞER (NİTELİK1 = c) VE (NİTELİK3 = doğru) İSE (SINIF = Sınıf) 34 17
Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 35 Twoing Algoritması Twoing algoritmasında eğitim kümesi her adımda iki parçaya ayrılarak bölümleme yapılır. Aday bölünmelerin sağ ve sol kısımlarının her birisi için nitelik değerinin ilgili sütundaki tekrar sayısı alınır. Aday bölünmelerin sağ ve sol kısımlarındaki her bir nitelik değeri için sınıf değerlerinin olma olasılığı hesaplanır. Her bölünme için uygunluk değeri en yüksek olan alınır. B ( B d) T sol B sag T n j1 Tsinif abs B sol Burada, T eğitim kümesindeki kayıt sayısını, B aday bölünmeyi, d düğümü, Tsinif j ise j.sınıf değerini gösterir. j Tsinif B sag j 36 18
Örnek Twoing Algoritması 37 Twoing Algoritması Aday bölünmeler aşağıdaki gibidir. 38 19
Twoing Algoritması MAAŞ = NORMAL için B 1 sol Psol 0,09 1 T 11 Tsinif EVET 1 P( EVET/ t ) 0 sol B 1 sol P Tsinif 0 1 HAYIR ( HAYIR/ t ) sol Bsol 39 Twoing Algoritması MAAŞ = {DÜŞÜK, YÜKSEK} için P sag B sag T 0,91 11 P Tsinif EVET 6 ( EVET/ t ) 0,6 sag B 4 sag P Tsinif B 4 HAYIR ( HAYIR/ t ) sag sag 0, 40 0
Twoing Algoritması Uygunluk değeri (1. aday bölünme için) B B n Tsinif Tsinif sol sag (1 ) j j d abs T T j1 B sol Bsag (0,09)(0,91)[ 1 0,6 0 0,4 ] 0,13 41 Twoing Algoritması Aynı işlemler ALT DÜĞÜM için tekrarlanır. 4 1
Twoing Algoritması Sonuç karar ağacı. 43 Twoing Algoritması Karar ağacından elde edilen kurallar 1. EĞER (GÖREV = YÖNETİCİ) İSE (MEMNUN = EVET). EĞER (GÖREV = UZMAN) VE (MAAŞ = NORMAL) İSE (MEMNUN = EVET) 3. EĞER (GÖREV = UZMAN) VE (MAAŞ = DÜŞÜK VEYA MAAŞ = YÜKSEK) VE (DENEYİM=YOK) İSE (MEMNUN = EVET) 4. EĞER (GÖREV = UZMAN) VE (MAAŞ = DÜŞÜK VEYA MAAŞ = YÜKSEK) VE (DENEYİM = ORTA VEYA DENEYİM = İYİ) İSE (MEMNUN = HAYIR) 44
Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 45 Gini Algoritması Gini algoritmasında nitelik değerleri iki parçaya ayrılarak bölümleme yapılır. Her bölünme için Gini sol ve Gini sağ değerleri hesaplanır. Gini sol k Tsinif k i Tsinif 1 1 Ginisag i1 Bsol i1 Bsag i Burada, Tsinif i soldaki bölümdeki her bir sınıf değerini, Tsinif i sağdaki bölümdeki her bir sınıf değerini, B sol sol bölümdeki tüm değer sayısını, B sağ sağ bölümdeki tüm değer sayısını gösterir. Ginij 1 T n sol Gini Her bölümlemeden sonra Gini değeri en küçük olan seçilir. sol T sag Gini sag 46 3
Örnek Gini Algoritması 47 Örnek Gini Algoritması EĞİTİM için Gini Gini sol sag 1 1 3 4 1 5 3 1 5 0,444 0,30 48 4
Örnek Gini Algoritması YAŞ için Gini Gini sol sag 0 1 5 1 6 1 6 0 0,78 49 Örnek Gini Algoritması CİNSİYET için Gini Gini sol sag 1 1 3 4 1 5 3 1 5 0,444 0,30 50 5
Gini Algoritması Örnek Gini değerleri Gini Gini Gini EGITIM YAS 3(0,444) 5(0,30) 0,367 8 (0) 6(0,78) 0,09 8 3(0,444) 5(0,30) 0,367 8 CINSIYET İlk bölünme YAŞ niteliğine göre yapılacaktır. 51 Örnek Gini Algoritması Aynı işlemler ALT DÜĞÜM için tekrarlanır. 5 6
Örnek Gini Algoritması 53 Gini Algoritması Karar ağacından elde edilen kurallar 1. EĞER (YAŞ = GENÇ) İSE (SONUÇ = HAYIR). EĞER (YAŞ = ORTA VEYA YAŞ = YAŞLI) VE (CİNSİYET = ERKEK) İSE (SONUÇ = EVET) 3. EĞER (YAŞ = ORTA VEYA YAŞ = YAŞLI) VE (CİNSİYET = KADIN) VE (YAŞ = YAŞLI) İSE (SONUÇ = EVET) 4. EĞER (YAŞ = ORTA VEYA YAŞ = YAŞLI) VE (CİNSİYET = KADIN) VE (YAŞ = ORTA) İSE (SONUÇ = HAYIR) 54 7
Ödev 1- Karar ağaçları ile doküman sınıflandırma hakkında bir araştırma ödevi hazırlayınız. - Twoing ve Gini algoritmalarını birbiryle karşılaştırıp avantajlarını ve dezavantajlarını içeren bir araştırma ödevi hazırlayınız. 55 8