WM L4SupervisedLearning

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 28

Web Madenciliği

(Web Mining)

Hazırlayan: M. Ali Akcayol


Gazi Üniversitesi
Bilgisayar Mühendisliği Bölümü

Bu dersin sunumları, “Web Data Mining: Exploring Hyperlinks, Contents, and Usage Data, Bing Liu,
Springer, 2011.” kitabı kullanılarak hazırlanmıştır.

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 = {A1, A2, …, A|A|}
 Burada, |A| kümedeki eleman sayısını gösterir.

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 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.

2
Denetimli Öğrenmenin Temelleri
Örnek
 Bir kredi uygulamasına yönelik veri kümesi aşağıda verilmiştir.

Denetimli Öğrenmenin Temelleri


 Bir veri kümesi ile öğrenen bir model geliştirerek 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.

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.

Konular
 Denetimli Öğrenmenin Temelleri
 Karar Ağaçları
 Entropi
 ID3 Algoritması
 C4.5 Algoritması
 Twoing Algoritması
 Gini Algoritması

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.

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.
 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 (durumlar) tarafından içerilen
enformasyonun 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ı 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 değeridir.
 Shannon entropisi H, aşağıdaki gibi ifade edilir:

12

6
Entropi
Örnek
 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 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,
2 6
p (evet)   0,25 p (hayir)   0,75
8 8
 Entropi değeri,
1 1
H ( S )  p (evet) log 2  p (hayir) log 2
p (evet) p (hayir)
1 1
 0,25. log 2  0,75. log 2
0,25 0,75
 0,81 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 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 
n
6 6 4 4
H ( RISK )   pi log 2 ( pi )    log 2  log 2   0,97
i 1  10 10 10 10 
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
n |X |
H ( X ,T )   k H ( X k )
|T | |T |
H ( X k )   i log i
i 1 | X k | | Xk | k 1 | X |

 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
i 1  10 10 10 10 
20

10
ID3 Algoritması
Örnek – devam

3 3 0 0
H ( BORÇYÜKSEK )   log 2  log 2   0
3 3 3 3
5 5 2 2
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 2 3 3
H (GELIRYÜKSEK )   log 2  log 2   0,971
5 5 5 5
3 3 2 2
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 3 2 2
H ( STATU ISVEREN )   log 2  log 2   0,971
5 5 5 5
3 3 2 2
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ı nümerik 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.
vi  vi 1
ti 
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 5 9 9
H ( SINIF )   log 2  log 2   0,940
 14 14 14 14 
2 2 3 3
H ( NITELIK1a )   log 2  log 2   0,971
5 5 5 5
4 4 0 0
H ( NITELIK1b )   log 2  log 2   0
4 4 4 4
3 3 2 2
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ç ( NITELIK 1, SINIF )  0,940  0,694  0,246 30

15
C4.5 Algoritması
Örnek – devam
7 7 2 2
H ( NITELIK 2ek )   log 2  log 2   0,765
9 9 9 9
2 2 3 3
H ( NITELIK 2b )   log 2  log 2   0,971
5 5 5 5

9 5
H ( NITELIK 2, SINIF )  H ( NITELIK 2ek )  H ( NITELIK1b )
14 14
9 5
 0,765  0,971  0,836
14 14

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 6 2 2
H ( NITELIK 3 y )   log 2  log 2   0,811
8 8 8 8

6 8
H ( NITELIK 3, SINIF )  H ( NITELIK 3d )  H ( NITELIK 3 y )
14 14
6 8
 1  0,811  0,892
14 14
Kazanç ( NITELIK 3, SINIF )  0,940  0,892  0,048
Kazanç ( NITELIK 3, SINIF )  Kazanç ( NITELIK 2, SINIF )  Kazanç ( NITELIK 1, 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 tekrar oranı
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 her birisinin olma olasılığı hesaplanır.
 Her bölünme için uygunluk değeri en yüksek olan alınır.

Bsol Bsag n  Tsinif j Tsinif j 


( B | d )  2  abs  
T T j 1  Bsol Bsag 

 Burada, T eğitim kümesindeki kayıt sayısını, B aday bölünmeyi, d
düğümü, Tsinifj 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

Bsol 1 Tsinif EVET 1 Tsinif HAYIR 0


Psol    0,09 P( EVET / tsol )    1 P( HAYIR/ t sol )   0
T 11 Bsol 1 Bsol 1

39

Twoing Algoritması
Örnek – devam
 MAAŞ = {DÜŞÜK, YÜKSEK}

Bsag 10 Tsinif EVET 6 Tsinif HAYIR 4


Psag    0,91 P( EVET / tsag )    0,6 P( HAYIR/ tsag )    0,4
T 11 Bsag 10 Bsag 10

40

20
Twoing Algoritması
Örnek – devam
 Uygunluk değeri (1. aday bölünme için)
Bsol Bsag n  Tsinif j Tsinif j 
(1 | d )  2
T T j 1
 abs Bsol

B


 sag 
 2(0,09)(0,91)[| 1  0,6 |  | 0  0,4 |]  0,13

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.
2
 Tsinif i 
2
k  Tsinif i  k
Ginisol  1    
 Ginisag  1   
i 1  B   B 
sol i 1
 sag 

 Burada, Tsinifi soldaki bölümdeki her bir sınıf değerini, Tsinifi


sağdaki bölümdeki her bir sınıf değerini, |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.

1
Gini j 
n

Bsol Ginisol  Bsag Ginisag 
 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
 0  2  2  2 
Ginisol  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)
GiniEGITIM   0,367
8
2(0)  6(0,278)
GiniYAS   0,209
8
3(0,444)  5(0,320)
GiniCINSIYET   0,367
8
İ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
1- Karar ağaçları ile doküman sınıflandırma hakkında bir makale ödevi
hazırlayınız.

2- Twoing ve Gini algoritmalarını birbiriyle karşılaştırıp avantajlarını


ve dezavantajlarını içeren bir araştırma ödevi hazırlayınız.

55

28

You might also like