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ı 2 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 ile giriş değerleri birlikte eğitim kümesi (training set) olarak sağlanır. Öğrenme işleminde bir kayıt kümesi kullanılır ve aşağıdaki gibi özellikler kümesi olarak gösterilir. A = {A1, A2, …, 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 = {c1, c2, …, c|C|}, |C| 2 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 üretmektir. Elde edilen bu fonksiyon, sınıflandırma modeli, tahmin modeli veya kısaca sınıflandırıcı olarak adlandırılır. 4 2 Denetimli Öğrenmenin Temelleri Örnek Bir kredi uygulamasına yönelik veri kümesi aşağıda verilmiştir. 5 Denetimli Öğrenmenin Temelleri Bu veri kümesi ile öğrenen bir model geliştirip gelecekteki yeni müşterilere ait verilerde kullanmak istiyoruz. Bu şekilde sınıf etiketlerinin de verildiği öğrenmeye denetimli (supervised) öğrenme olarak 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ı 10 5 Entropi Entropi, rastgele değere sahip bir değişken veya bir sistem için belirsizlik ölçütüdür. Bir süreç için entropi, tüm örnekler tarafından içerilen enformasyonun beklenen değeridir. Enformasyon, rassal bir olayın gerçekleşmesine ilişkin bilgi ölçütüdür. Eşit olasıklı durumlar yüksek belirsizliği temsil ederler. Shannon, bir sistemdeki durum değişikliğinde, entropideki değişimin kazanılan enformasyonu tanımladığını öne sürmüştür. Buna göre bir sistemdeki belirsizlik arttıkça, elde edilecek enformasyon boyutu da artacaktır. 11 Entropi Shannon bilgiyi bitlerle ifade etttiği için, logaritmayı 2 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: 12 6 Entropi Örnek Bir paranın atılması olayı rassal 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 2 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, p (evet ) 2 0,25 8 p (hayir ) 6 0,75 8 Entropi değeri, 1 1 p(hayir ) log 2 p(evet ) p(hayir ) 1 1 0,25. log 2 0,75. log 2 0,25 0,75 0,81128 H ( S ) p(evet ) log 2 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 Ci olsun. T sınıf değerini içeren küme için Pt sınıfların olasılık dağılımı |C | |C | |C | Pt 1 , 2 , ..., k |T | |T | |T | şeklinde ifade edilir. T sınıf kümesi için ortalama bilgi miktarı veya entropi değeri ise n H (T ) pi log 2 ( pi ) i 1 ş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. C1=“var”, C2=“yok” RISK = {var, var, var, yok, var, yok, yok, var, var, yok} |C1| = 6 |C2| = 4 p1 = 6/10 = 0,6 p2 = 4/10 = 0,4 6 4 PRISK , 10 10 6 4 4 6 H ( RISK ) pi log 2 ( pi ) log 2 log 2 0,97 10 10 10 10 i 1 n 18 9 ID3 Algoritması Dallanma için niteliklerin seçimi Öncelikle sınıf niteliğinin entropisi hesaplanır. n H (T ) pi log 2 ( pi ) i 1 Sonra özellik vektörlerinin sınıfa bağımlı entropileri hesaplanır. n |T | H ( X , T ) i H (Ti ) i 1 | T | 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 ) En büyük kazanca sahip özellik vektörü o iterasyon için dallanma düğümü olarak seçilir. 19 ID3 Algoritması Örnek Aşağıdaki tablo için karar ağacı oluşturulsun. n 5 5 5 5 H (T ) H ( RISK ) pi log 2 ( pi ) log 2 log 2 1 10 10 10 10 i 1 20 10 ID3 Algoritması Örnek – devam 3 0 0 3 H ( BORÇYÜKSEK ) log 2 log 2 0 3 3 3 3 5 2 2 5 H ( BORÇ DUSUK ) log 2 log 2 0,863 7 7 7 7 3 7 H ( BORÇ , RISK ) H ( BORÇYÜKSEK ) H ( BORÇ DUSUK ) 10 10 3 7 (0) (0,863) 0,64 10 10 Kazanç( BORÇ , RISK ) 1 0,64 0,36 21 ID3 Algoritması Örnek – devam 2 3 3 2 H (GELIRYÜKSEK ) log 2 log 2 0,971 5 5 5 5 3 2 2 3 H (GELIRDUSUK ) log 2 log 2 0,971 5 5 5 5 5 5 H (GELIR, RISK ) H (GELIRYÜKSEK ) H (GELIRDUSUK ) 10 10 5 5 (0,971) (0,971) 0,971 10 10 Kazanç(GELIR, RISK ) 1 0,971 0,029 22 11 ID3 Algoritması Örnek – devam 3 2 2 3 H ( STATU ISVEREN ) log 2 log 2 0,971 5 5 5 5 3 2 2 3 H ( STATU DUSUK ) log 2 log 2 0,971 5 5 5 5 5 5 H ( STATU , RISK ) H ( STATU YÜKSEK ) H ( STATU DUSUK ) 10 10 5 5 (0,971) (0,971) 0,971 10 10 Kazanç(STATU , RISK ) 1 0,971 0,029 İlk dallanma için uygun seçim BORÇ niteliğidir. 23 ID3 Algoritması Örnek – devam 24 12 ID3 Algoritması Örnek – devam Karar ağacından elde edilen kurallar 1.EĞER (BORÇ = YÜKSEK) İSE (RİSK = KÖTÜ) 2.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Ü) 25 Konular Denetimli Öğrenmenin Temelleri Karar Ağaçları Entropi ID3 Algoritması C4.5 Algoritması Twoing Algoritması Gini Algoritması 26 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 [vi, vi+1] aralığının orta noktası alınabilir. ti vi vi 1 2 Nitelikteki değerler eşik değere göre iki kategoriye ayrılmış olur. 27 C4.5 Algoritması Örnek Nitelik 2 = {65, 70, 75, 80, 85, 90, 95, 96} için eşik değer (80+85)/2 = 83 alınmıştır. 28 14 C4.5 Algoritması Örnek – devam 29 C4.5 Algoritması Örnek – devam 5 9 9 5 H ( SINIF ) log 2 log 2 0,940 14 14 14 14 2 3 3 2 H ( NITELIK1a ) log 2 log 2 0,971 5 5 5 5 4 0 0 4 H ( NITELIK1b ) log 2 log 2 0 4 4 4 4 3 2 2 3 H ( NITELIK1c ) log 2 log 2 0,971 5 5 5 5 5 4 5 H ( NITELIK1, SINIF ) H ( NITELIK1a ) H ( NITELIK1b ) H ( NITELIK1c ) 14 14 14 5 4 5 0,971 0 0,971 0,694 14 14 14 Kazanç( NITELIK1, SINIF ) 0,940 0,694 0,246 30 15 C4.5 Algoritması Örnek – devam 7 2 2 7 H ( NITELIK 2ek ) log 2 log 2 0,765 9 9 9 9 2 3 3 2 H ( NITELIK 2b ) log 2 log 2 0,971 5 5 5 5 9 5 H ( NITELIK 2ek ) H ( NITELIK1b ) 14 14 9 5 0,765 0,971 0,836 14 14 H ( NITELIK 2, SINIF ) Kazanç( NITELIK 2, SINIF ) 0,940 0,836 0,104 31 C4.5 Algoritması Örnek – devam 3 3 3 3 H ( NITELIK 3d ) log 2 log 2 1 6 6 6 6 6 2 2 6 H ( NITELIK 3 y ) log 2 log 2 0,811 8 8 8 8 6 8 H ( NITELIK 3d ) H ( NITELIK 3 y ) 14 14 6 8 1 0,811 0,892 14 14 H ( NITELIK 3, SINIF ) Kazanç( NITELIK 3, SINIF ) 0,940 0,892 0,048 Kazanç( NITELIK 3, SINIF ) Kazanç( NITELIK 2, SINIF ) Kazanç( NITELIK1, SINIF ) 32 16 C4.5 Algoritması Örnek – devam 33 C4.5 Algoritması Örnek – devam Karar ağacından elde edilen kurallar 1.EĞER (NİTELİK1 = a) VE (NİTELİK2 = Eşit veya Küçük) İSE (SINIF = Sınıf1) 2.EĞER (NİTELİK1 = a) VE (NİTELİK2 = Büyük) İSE (SINIF = Sınıf2) 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ıf2) 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ğerinini 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 | d ) 2 sinif j sinif j abs Bsol T j 1 Bsag Bsol Bsag T n Burada, T eğitim kümesindeki kayıt sayısını, B aday bölünmeyi, d düğümü, sinifj ise j.sınıf değerini gösterir. 36 18 Twoing Algoritması Örnek 37 Twoing Algoritması Örnek – devam Aday bölünmeler aşağıdaki gibidir. 38 19 Twoing Algoritması Örnek – devam MAAŞ = NORMAL için Psol Bsol T 1 0,09 11 P( EVET / t sol ) sinif EVET Bsol 1 1 1 P( HAYIR / t sol ) sinif HAYIR Bsol 0 0 1 39 Twoing Algoritması Örnek – devam MAAŞ = {DÜŞÜK, YÜKSEK} için Psag Bsag T 10 0,91 11 P( EVET / t sag ) sinif EVET Bsag 6 0,6 10 P( HAYIR / tsag ) sinif HAYIR Bsag 4 0,4 10 40 20 Twoing Algoritması Örnek – devam Uygunluk değeri (1. aday bölünme için) sinif j T T j 1 Bsol B sag 2(0,09)(0,91)[| 1 0,6 | | 0 0,4 |] 0,13 (1 | d ) 2 Bsol Bsag n sinif j abs 41 Twoing Algoritması Örnek – devam Aynı işlemler ALT DÜĞÜM için tekrarlanır. 42 21 Twoing Algoritması Örnek – devam Sonuç karar ağacı. 43 Twoing Algoritması Örnek – devam Karar ağacından elde edilen kurallar 1. EĞER (GÖREV = YÖNETİCİ) İSE (MEMNUN = EVET) 2. 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 22 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 Ginisol ve Ginisağ değerleri hesaplanır. sol_deger i 1 B i 1 sol k Ginisol sag_deger i 1 B i 1 sag 2 k Ginisag Burada, sol_degeri soldaki bölümdeki her bir değeri, sag_degeri sağdaki bölümdeki her bir değeri, |Bsol|sol bölümdeki tüm değer sayısını, |Bsağ|sağ bölümdeki tüm değer sayısını gösterir. Gini j 2 1 Tsol Ginisol Tsag Ginisag n Her bölümlemeden sonra Gini değeri en küçük olan seçilir. 46 23 Gini Algoritması Örnek 47 Gini Algoritması Örnek EĞİTİM için 1 2 2 2 Ginisol 1 0,444 3 3 4 2 1 2 Ginisag 1 0,320 5 5 48 24 Gini Algoritması Örnek YAŞ için Ginisol 0 2 2 2 1 0 2 2 5 2 1 2 Ginisag 1 0,278 6 6 49 Gini Algoritması Örnek CİNSİYET için 1 2 2 2 Ginisol 1 0,444 3 3 4 2 1 2 Ginisag 1 0,320 5 5 50 25 Gini Algoritması Örnek Gini değerleri 3(0,444) 5(0,320) 0,367 8 2(0) 6(0,278) GiniYAS 0,209 8 3(0,444) 5(0,320) GiniCINSIYET 0,367 8 GiniEGITIM İlk bölünme YAŞ niteliğine göre yapılacaktır. 51 Gini Algoritması Örnek Aynı işlemler ALT DÜĞÜM için tekrarlanır. 52 26 Gini Algoritması Örnek 53 Gini Algoritması Örnek – devam Karar ağacından elde edilen kurallar 1. EĞER (YAŞ = GENÇ) İSE (SONUÇ = HAYIR) 2. 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 27 Ödev Karar ağaçları ile doküman sınıflandırma hakkında bir araştırma makalesi ödevi hazırlayınız. 55 28
© Copyright 2024 Paperzz