• Sonuç bulunamadı

Web Madenciliği (Web Mining)

N/A
N/A
Protected

Academic year: 2021

Share "Web Madenciliği (Web Mining)"

Copied!
28
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

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.

2

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

Gini Algoritması

(2)

3

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.

Denetimli Öğrenmenin Temelleri

(3)

5

Örnek

Bir kredi uygulamasına yönelik veri kümesi aşağıda verilmiştir.

Denetimli Öğrenmenin Temelleri

6

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.

Denetimli Öğrenmenin Temelleri

(4)

7

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.

Denetimli Öğrenmenin Temelleri

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

Gini Algoritması

(5)

9

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.

Karar Ağaçları

10

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

Gini Algoritması

(6)

11

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.

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), xolayı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:

Entropi

(7)

13

Ö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,

olur. Bu olayın sonucunda 1 bitlik bilgi kazanılmıştır.

Entropi değeri ise 1 olarak bulunur.

Entropi

1 2 5 log , 0 log 1 ) ( log 1 )

(    

X X P

I

14

Ö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,

Entropi değeri,

Entropi

81 , 0

75 , 0 log 1 . 75 , 25 0 , 0 log 1 . 25 , 0

) ( log 1 ) ) (

( log 1 ) ( )

(

2 2

2 2

p hayir p hayir

evet evet p

p S

H

75 , 8 0 ) 6 (

25 , 8 0 ) 2

(evet   p hayir   p

(8)

15

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

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

ID3 Algoritması

(9)

17

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

T sınıf değerini içeren küme için Ptsınıfların olasılık dağılımı

şeklinde ifade edilir.

T sınıf kümesi için ortalama entropi değeri ise

şeklinde ifade edilir.

ID3 Algoritması



 



|

|

| ...,|

| ,

|

| ,|

|

|

|

| 1 2

T C T

C T

Pt C k

n

i

i

i p

p T

H

1

2( ) log )

(

18

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

ID3 Algoritması



 



10 , 4 10

6 PRISK

97 , 10 0 log 4 10

4 10 log 6 10 ) 6

( log )

( 2 2

1

2 

 

 

n

i

i

i p

p RISK

H

(10)

19

Dallanma için niteliklerin seçimi

Öncelikle sınıf niteliğinin entropisi hesaplanır.

Sonra özellik vektörlerinin sınıfa bağımlı entropileri hesaplanır.

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.

En büyük kazanca sahip özellik vektörü o iterasyon için dallanma düğümü olarak seçilir.

ID3 Algoritması

n

i

i

i p

p T

H

1

2( ) log )

(

|

|

| log |

|

|

| ) |

(

1 k

i n

i k

i

k X

T X

X T

H

) , ( ) ( ) ,

(X T H T H X T

Kazanç  

n

k

k

k H X

X T X

X H

1

)

| (

|

| ) |

, (

Örnek

Aşağıdaki tablo için karar ağacı oluşturulsun.

ID3 Algoritması

10 1 log 5 10

5 10 log 5 10 ) 5

( log )

( )

( 2 2

1

2 

 

 

n

i

i

i p

p RISK

H T H

(11)

21

Örnek – devam

ID3 Algoritması

3 0 log 0 3 0 3 log 3 3 ) 3

( 2 2

YÜKSEK BORÇ H

863 , 7 0 log 2 7 2 7 log 5 7 ) 5

( 2 2

DUSUK BORÇ H

64 , 0 ) 863 , 0 10( ) 7 0 10(

3

) 10 (

) 7 10 (

) 3 , (

H BORÇYÜKSEK H BORÇDUSUK

RISK BORÇ H

36 , 0 64 , 0 1 ) ,

(BORÇ RISK Kazanç

22

Örnek – devam

ID3 Algoritması

0,971 5

log 3 5 3 5 log 2 5 ) 2

( 2 2

YÜKSEK GELIR H

971 , 5 0 log 2 5 2 5 log 3 5 ) 3

( 2 2

DUSUK GELIR H

971 , 0 ) 971 , 0 10( ) 5 971 , 0 10(

5

) 10 (

) 5 10 (

) 5 , (

H GELIRYÜKSEK H GELIRDUSUK RISK

GELIR H

0,029 971

, 0 1 ) ,

(GELIR RISK Kazanç

(12)

23

Örnek – devam

ID3 Algoritması

0,971 5

log 2 5 2 5 log 3 5 ) 3

( 2 2

ISVEREN STATU H

971 , 5 0 log 2 5 2 5 log 3 5 ) 3

( 2 2

DUSUK STATU H

971 , 0 ) 971 , 0 10( ) 5 971 , 0 10(

5

) 10 (

) 5 10 (

) 5 , (

H STATUYÜKSEK H STATUDUSUK RISK

STATU H

0,029 971

, 0 1 ) ,

(STATU RISK Kazanç

İlk dallanma için uygun seçim BORÇ niteliğidir.

Örnek – devam

ID3 Algoritması

(13)

25

Ö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Ü)

ID3 Algoritması

26

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

Gini Algoritması

(14)

27

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.

Nitelikteki değerler eşik değere göre iki kategoriye ayrılmış olur.

C4.5 Algoritması

2

1

i

i

i

v t v

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

C4.5 Algoritması

(15)

29

Örnek – devam

C4.5 Algoritması

30

Örnek – devam

C4.5 Algoritması

940 , 14 0 log 9 14

9 14 log 5 14 ) 5

( 2 2

SINIF H

971 , 5 0 log 3 5 3 5 log 2 5 ) 2 1

( 2 2

a NITELIK H

694 , 0 971 , 140 0 5 14 971 4 , 140

5

) 1 14 (

) 5 1 14 (

) 4 1 14 (

) 5 ,

1 (

H NITELIK a H NITELIK b H NITELIK c SINIF

NITELIK H

246 , 0 694 , 0 940 , 0 ) ,

1

(NITELIK SINIF Kazanç

4 0 log 0 4 0 4 log 4 4 ) 4 1

( 2 2

b NITELIK H

971 , 5 0 log 2 5 2 5 log 3 5 ) 3 1

( 2 2

c NITELIK H

(16)

31

Örnek – devam

C4.5 Algoritması

765 , 9 0 log 2 9 2 9 log 7 9 ) 7 2

( 2 2

ek NITELIK H

836 , 0 971 , 140 765 5 , 140

9

) 1 14 (

) 5 2 14 (

) 9 ,

2 (

H NITELIK ek H NITELIK b SINIF

NITELIK H

104 , 0 836 , 0 940 , 0 ) ,

2

(NITELIK SINIF Kazanç

971 , 5 0 log 3 5 3 5 log 2 5 ) 2 2

( 2 2

b NITELIK H

Örnek – devam

C4.5 Algoritması

6 1 log 3 6 3 6 log 3 6 ) 3 3

( 2 2

d NITELIK H

892 , 0 811 , 140 1 8 14

6

) 3 14 (

) 8 3 14 (

) 6 ,

3 (

H NITELIK d H NITELIK y SINIF

NITELIK H

048 , 0 892 , 0 940 , 0 ) ,

3

(NITELIK SINIF Kazanç

811 , 8 0 log 2 8 2 8 log 6 8 ) 6 3

( 2 2

y NITELIK H

(17)

33

Örnek – devam

C4.5 Algoritması

34

Ö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)

C4.5 Algoritması

(18)

35

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

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

Burada, T eğitim kümesindeki kayıt sayısını, B aday bölünmeyi, d düğümü, Tsinif ise j.sınıf değerini gösterir.

Twoing Algoritması

 

 

 

n

j sag

j sol

j sol sag

B B T abs

B T d B

B

1

Tsinif Tsinif

2 )

|

(

(19)

37

Örnek

Twoing Algoritması

38

Örnek – devam

Aday bölünmeler aşağıdaki gibidir.

Twoing Algoritması

(20)

39

Örnek – devam

MAAŞ = {NORMAL} için

Twoing Algoritması

09 , 111 0

T

Psol Bsol 1

1 Tsinif 1

) /

(

sol EVET t

EVET B

P sol 0

1 Tsinif 0

) /

(

sol HAYIR t

HAYIR

P B

sol

Örnek – devam

MAAŞ = {DÜŞÜK, YÜKSEK}

Twoing Algoritması

91 , 11 0 10 

T

Psag Bsag 0,6

10 Tsinif 6

) /

(

sag EVET t

EVET B

P sag 0,4

10 Tsinif 4

) /

(

sag HAYIR t

HAYIR

B P sag

(21)

41

Örnek – devam

Uygunluk değeri (1. aday bölünme için)

Twoing Algoritması

13 , 0

|]

4 , 0 0

|

| 6 , 0 1 )[|

91 , 0 )(

09 , 0 ( 2

Tsinif Tsinif

2 )

| 1 (

1

n

j sag

j sol

j sol sag

B B T abs

B T d B

42

Örnek – devam

Aynı işlemler ALT DÜĞÜM için tekrarlanır.

Twoing Algoritması

(22)

43

Örnek – devam

Sonuç karar ağacı.

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)

Twoing Algoritması

(23)

45

Konular

Denetimli Öğrenmenin Temelleri

Karar Ağaçları

Entropi

ID3 Algoritması

C4.5 Algoritması

Twoing Algoritması

Gini Algoritması

46

Gini algoritmasında nitelik değerleri iki parçaya ayrılarak bölümleme yapılır.

Her bölünme için Ginisolve Ginisağdeğerleri hesaplanır.

Burada, Tsinifisoldaki 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.

Her bölümlemeden sonra Gini değeri en küçük olan seçilir.

Gini Algoritması

2

1 2

1

Tsinif Tsinif 1

1

 





 

 



 

k

i sag

i sag

k

i sol

i

sol Gini B

Gini B

sol sol sag sag

j B Gini B Gini

Ginin1 

(24)

47

Örnek

Gini Algoritması

Örnek

EĞİTİM için

Gini Algoritması

320 , 5 0

1 5

1 4

444 , 3 0

2 3

1 1

2 2

2 2







 

 





 

 







 

 





 

 

sag sol

Gini Gini

(25)

49

Örnek

YAŞ için

Gini Algoritması

278 , 6 0

1 6

1 5

2 0 2 2

1 0

2 2

2 2







 

 





 

 







 

 





 

 

sag sol

Gini Gini

50

Örnek

CİNSİYET için

Gini Algoritması

320 , 5 0

1 5

1 4

444 , 3 0

2 3

1 1

2 2

2 2







 

 





 

 







 

 





 

 

sag sol

Gini Gini

(26)

51

Örnek

Gini değerleri

İlk bölünme YAŞ niteliğine göre yapılacaktır.

Gini Algoritması

367 , 8 0

) 320 , 0 ( 5 ) 444 , 0 ( 3

209 , 8 0

) 278 , 0 ( 6 ) 0 ( 2

367 , 8 0

) 320 , 0 ( 5 ) 444 , 0 ( 3

 

 

 

CINSIYET YAS EGITIM

Gini Gini Gini

Örnek

Aynı işlemler ALT DÜĞÜM için tekrarlanır.

Gini Algoritması

(27)

53

Örnek

Gini Algoritması

54

Ö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)

Gini Algoritması

(28)

55

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.

Ödev

Referanslar

Benzer Belgeler

Defined properties of web resources by Dublin Core are: Title, Creator (author), Subject or Keywords, Description, Publisher, Contributor, Date, Type, Format, Identifier, Source,

The state conducts a comparative analysis of statistical software packages and their capabilities, shows the role of sports metrology and methods of mathematical

 Veri madenciliği: İşlenmiş olan verinin bir örüntü veya bilgi elde edilmesi için veri madenciliği algoritmalarıyla değerlendirilmesi yapılır.  Post-processing:

 Confidence değerine bağlı olarak bir frequent itemset için kural aşağıdaki gibi elde edilebilir:.  Burada f.count ile (f-  ).count tüm transaction kümesi T ’deki

1978’de Türk Kültür Yayı­ nı, Türk Ocaklan’mn 1928’de ya­ yımladığı Türk Yılı kitabından Akçura’nm Türk milliyetçiliği ile ilgili bölümlerini

Bazı kazanımlar için toplu iş sözleşmesinde açıkça uygulanacağı zamansal dilim belirtilmiş ise bu hükümlerin art etkisi söz konusu olamaz (Çelik, 2019,

Enzim aktivitesinin L-arginin konsantrasyonuna bağlı olarak değişimi Michaelis-Menten eşitliği yanında Lineweaver-Burk (Şekil 11 ) ve Eadie Hofstee (Şekil 12 )

Bu geniş tanım bir yandan, milyonlarca siteden ve çevrimiçi (online) veritabanlarından veri ve kaynakların otomatik olarak aranması ve elde edilmesi işlemi olan Web