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ı
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
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
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ı
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ı
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
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
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ı
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
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
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ç
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ı
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ı
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
ii
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ı
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
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
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ı
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ı
nj sag
j sol
j sol sag
B B T abs
B T d B
B
1
Tsinif Tsinif
2 )
|
(
37
Örnek
Twoing Algoritması
38
Örnek – devam
Aday bölünmeler aşağıdaki gibidir.
Twoing Algoritması
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
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ı
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ı
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
Gini n1
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
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
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ı
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ı
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.