Sunum dosyası - Gazi Üniversitesi

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