SlideShare uma empresa Scribd logo
1 de 33
Baixar para ler offline
1
1
Danışmanlı Öğrenme
Supervised Learning
Karar Ağaçları
Decision Tree
Danışmanlı Öğrenme
Supervised Learning
Karar Ağaçları
Decision Tree
Machine Learning
Selçuk Üniversitesi
Fen Bilimleri Enstitüsü
Bilgisayar Mühendisliği A.B.D.
Dr.Erkan ÜLKER
Sunularda yararlanılan kaynaklar: Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü M. Ali Akçayol ders sunusu
Dr.Umut Orhan ders sunuları
Danışmanlı Öğrenme
Supervised Learning
2
Danışmanlı (Denetimli, gözetimli, Eğiticili) öğ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.
kümedeki eleman sayısını gösterir
2
Danışmanlı Öğrenme
Supervised Learning
3
Danışmanlı Öğrenme
Supervised Learning
4
Örnek:
Bir kredi uygulamasına yönelik veri kümesi
3
Danışmanlı Öğrenme
Supervised Learning
5
Örnek veri kümesi
Table 3.1 • The Credit Card Promotion Database
Income Life Insurance Credit Card
Range Promotion Insurance Sex Age
40–50K No No Male 45
30–40K Yes No Female 40
40–50K No No Male 42
30–40K Yes Yes Male 43
50–60K Yes No Female 38
20–30K No No Female 55
30–40K Yes Yes Male 35
20–30K No No Male 27
30–40K No No Male 43
30–40K Yes No Female 41
40–50K Yes No Female 43
20–30K Yes No Male 29
50–60K Yes No Female 39
40–50K No No Male 55
20–30K Yes Yes Female 19
Örnekler
(intances,
samples)
Kaynak:Dr.Songül Albayrak Ders sunusu
Danışmanlı Öğrenme
Supervised Learning
6
Örnek veri kümesi
Table 3.1 • The Credit Card Promotion Database
Income Life Insurance Credit Card
Range Promotion Insurance Sex Age
40–50K No No Male 45
30–40K Yes No Female 40
40–50K No No Male 42
30–40K Yes Yes Male 43
50–60K Yes No Female 38
20–30K No No Female 55
30–40K Yes Yes Male 35
20–30K No No Male 27
30–40K No No Male 43
30–40K Yes No Female 41
40–50K Yes No Female 43
20–30K Yes No Male 29
50–60K Yes No Female 39
40–50K No No Male 55
20 30K Yes Yes Female 19
Özellikler,
nitelikler
(features)
Kaynak:Dr.Songül Albayrak Ders sunusu
4
Danışmanlı Öğrenme
Supervised Learning
7
 Bir veri kümesi ile öğrenen bir model geliştirip 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.
 Geliştirilen modelin doğruluk değeri (accuracy), test verisinde
doğru sınıflandırma sayısıyla belirlenir.
Danışmanlı Öğrenme
Supervised Learning
8
Apply
Model
Learn
Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes
10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10
Sınıflamanın temel kuralları:
 Öğrenme eğiticilidir
 Veri setinde bulunan her
örneğin bir dizi niteliği
vardır ve bu niteliklerden
biri de sınıf bilgisidir.
 Hangi sınıfa ait olduğu
bilinen nesneler (öğrenme
kümesi- training set) ile
bir model oluşturulur
 Oluşturulan model
öğrenme kümesinde yer
almayan nesneler (deneme
kümesi- test set) ile
denenerek başarısı ölçülür
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
 Temel fikir, giriş verisinin bir kümeleme algoritması
yardımıyla tekrar tekrar gruplara bölünmesine dayanır.
 Grubun tüm elemanları aynı sınıf etiketine sahip olana
kadar kümeleme işlemi derinlemesine devam eder.
Danışmanlı Öğrenme (Supervised Learning)
Karar Ağaçları
Decision Tree
10
Karar Ağacı Nedir?
Hava
Nem
Evet
Rüzgar
Güneşli
Bulutlu
Yağmurlu
Evet
Evet
Hayır
Hayır
Normal
Yüksek Kuvvetli
Hafif
İfadeleri ayırmayı öğrenme yeteneği olan ve gürültülü veriyi sağlamlaştıran
soyut değerli fonksiyonları tahmin eden bir metottur.
Inductive Bias’ı genis ağaçlar üzerinde küçük ağaçları tercih etmesidir
Attribute değerindeki
sınırlamaların birleşiminin
ayrılması şeklinde sunulur
6
11
Karar Ağacı Örnek Attribute değerindeki
sınırlamaların birleşiminin
ayrılması şeklinde sunulur
Tid Refund Marital
Status
Taxable
Income Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes
10
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Splitting Attributes
Training Data Model: Decision Tree
12
Karar Ağacı Örnek?Attribute değerindeki
sınırlamaların birleşiminin
ayrılması şeklinde sunulur
Tid Refund Marital
Status
Taxable
Income Cheat
1 Yes Single 125K No
2 No Married 100K No
3 No Single 70K No
4 Yes Married 120K No
5 No Divorced 95K Yes
6 No Married 60K No
7 Yes Divorced 220K No
8 No Single 85K Yes
9 No Married 75K No
10 No Single 90K Yes
10
MarSt
Refund
TaxInc
YES
NO
NO
NO
Yes No
Married
Single,
Divorced
< 80K > 80K
There could be more than one tree that
fits the same data!
7
13
Karar Ağacı Öğrenmesi
için uygun problemler
Decision tree learning genellikle aşağıdaki karakteristiklerdeki
problemler için uygundur.
1. Örnekler; özniteliklerin sabit isimleri (örnek Hava) ve onların
değerleri ile açıklanır (örneğin Güneşli). (Instance are represented by
attribute value pairs)
2. Hedef fonksiyon, Ayrık çıkış değerleridir.(The target function has
discrete output values).
3. Yukarıda da işaret edildiği gibi Karar Ağacı doğal olarak ayrık
ifadeleri sunar (Disjunctive descriptions may be required).
4. Karar Ağacı Öğrenme metotları hatalara karşı güçlüdür (The training
data may contain errors).
5. Karar Ağacı metotları bilinmeyen değerli eğitim örneklerinde bile
kullanılabilir (The training data may contain missing attribute values).
14
Karar Ağacı
Bir Algoritma
• Temel Algoritma (miyobik bir algoritma)
– Karar ağacı yukarıdan aşağıya, yinelemeli olarak böl ve kazan
yöntemine göre inşa edilirler.
– Başlangıçta bütün noktalar ağacın kökünde toplanmaktadır
– Kategorik veriler kullanılır, sürekli değişkenlerin önceden
kesikli hale getirilmesi gerekir.
– Örnekler, seçilen değişkenlere (karakteristik) göre yinelemeli
olarak bölümlenir
– Değişkenlerin seçimi sezgisel veya belli bir istatistiksel
ölçüye (mesela bilgi kazanımı) dayanır
• Bölümlemenin durması için şartlar
– Bir düğümde bulunan bütün örnekler aynı sınıfa aittir
– Bölümlenin yapılacağı değişken kalmamıştır. Yani o düğüme
(yaprak) gelene kadar bütün değişkenler kullanılmıştır.
– Başka örnek kalmamıştır.
Kaynak: Dr. Ayhan Demiriz ders sunumu
8
15
Karar Ağacı
Bir Algoritma - Sınıflandırma
Apply
Model
Learn
Model
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes
10
Tid Attrib1 Attrib2 Attrib3 Class
11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10
Decision
Tree
16
Karar Ağacı
Bir Algoritma - Sınıflandırma
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Refund Marital
Status
Taxable
Income Cheat
No Married 80K ?
1
0
Test Data
Start from the root of tree.
9
17
Karar Ağacı
Bir Algoritma - Sınıflandırma
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Refund Marital
Status
Taxable
Income Cheat
No Married 80K ?
1
0
Test Data
18
Karar Ağacı
Bir Algoritma - Sınıflandırma
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Refund Marital
Status
Taxable
Income Cheat
No Married 80K ?
1
0
Test Data
10
19
Karar Ağacı
Bir Algoritma - Sınıflandırma
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Refund Marital
Status
Taxable
Income Cheat
No Married 80K ?
1
0
Test Data
20
Karar Ağacı
Bir Algoritma - Sınıflandırma
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Refund Marital
Status
Taxable
Income Cheat
No Married 80K ?
1
0
Test Data
11
21
Karar Ağacı
Bir Algoritma - Sınıflandırma
Refund
MarSt
TaxInc
YES
NO
NO
NO
Yes No
Married
Single, Divorced
< 80K > 80K
Refund Marital
Status
Taxable
Income Cheat
No Married 80K ?
1
0
Test Data
Assign Cheat to “No”
22
Karar Ağacından
Kural çıkarımı
• Bilgiyi Eğer-O Zaman kuralları ile temsil et
• Kökten yapraklara giden heryol için bir kural üretilir
• Bir yol üzerindeki her bir değişken-değer çifti bir bağlaç oluşturur
• Yapraklar sınıf tahminini içerir
• Kuralların analşılması çok kolaydır
• Örnek
Eğer yaş = “<=30” ve öğrenci = “hayır” O Zaman Bilgisayar Alır? = “hayır”
Eğer yaş = “<=30” ve öğrenci = “evet” O Zaman Bilgisayar Alır? = “evet”
Eğer yaş = “31…40” O Zaman Bilgisayar Alır? = “evet”
Eğer yaş = “>40” ve kredi durumu = “mükemmel” O Zaman Bilgisayar Alır? =
“evet”
Eğer yaş = “<=30” ve kredi durumu = “vasat” O Zaman Bilgisayar Alır? = “hayır”
Kaynak: Dr. Ayhan Demiriz ders sunumu
12
23
Karar Ağacı Tipleri
 Entropiye dayalı sınıflandırma ağaçları (ID3, C4.5)
 Sınıflandırma ve Regresyon ağaçlarına (CART-
Classification And Regression Trees) dayalı olmak üzere
iki kategoride birçok algoritma önerilmiştir (Towing ve
gini).
CART algoritmalarında her düğümde bir kritere göre ikili
bölünme yapılır
Önce entropiye dayalı karar ağaçlarını inceleyeceğiz. Bu
algoritmaları iyi anlayabilmek için önce entropiyi iyi bilmek
gerekmektedir.
24
Entropi, Belirsizlik ve
Enformasyon
13
25
Enformasyon
Aslında zıt şeyleri temsil etmelerine rağmen
Shannon’a göre maksimum belirsizlik maksimum
enformasyon sağladığı için Enformasyon ve
Belirsizlik terimleri benzerdir.
Enformasyon (self-information) formülü
aşağıdaki gibidir. Shannon bilgiyi bitlerle
temsil ettiği için logaritmayı iki tabanında
kullanmıştır.
)
(
log
)
(
1
log
)
( x
P
x
P
x
I 


P (x), x olayının gerçekleşme olasılığını gösterir
26
Entropi
Shannon’a göre entropi, iletilen bir mesajın
taşıdığı enformasyonun beklenen değeridir.
Shannon Entropisi (H) adıyla anılan terim,
tüm ai durumlarına ait Pi olasılıklarına bağlı
bir değerdir.












n
i
i
i
n
i i
i
n
i
i
i
P
P
x
P
x
P
x
I
x
P
X
I
E
X
H
1
2
1
2
1
log
)
(
1
log
)
(
)
(
).
(
))
(
(
)
(
14
27
Entropi
Bir paranın havaya atılması olayı, rassal X sürecini temsil
etsin. Yazı ve tura gelme olasılıkları eşit olduğu için X
sürecinin entropisi aşağıdaki gibidir.
Entropisi 1 olan para atma olayı (X) gerçekleştiğinde 1
bitlik bilgi kazanılacaktır.
1
)
5
.
0
log
5
.
0
5
.
0
log
5
.
0
(
log
)
(
2
2
2
1
2





 

i
i
i p
p
X
H
28
Örnek
15
29
Karar Ağacında Entropi
 Karar ağaçları çok boyutlu (özellikli) veriyi
belirlenmiş özellik üzerindeki bir şart ile parçalara
böler.
 Her seferinde verinin hangi özelliği üzerinde hangi
şarta göre işlem yapacağına karar vermek çok
büyük bir kombinasyonun çözümüyle mümkündür.
5 özellik ve 20 örneğe sahip bir veride 106 dan fazla
sayıda farklı karar ağacı oluşturulabilir.
Bu sebeple her parçalanmanın metodolojik olması
gerekir.
30
Karar Ağacında Entropi
Örnek
Yukarıda verilen hayvanların çeşitli
özelliklerine göre sonraki slidelardaki
gibi karar ağaçları hazırlamak
mümkündür
16
31
herhangi bir elemanı ağaçta kodlayan kaçar adım olduğunu listeleyelim:
Koala -> 1 (sadece kürklüdür ayrımı yeterli)
Timsah -> 2 (hem kürksüz hem de sıcak kanlı olduğunu bilmemiz gerekiyor)
Yunus -> 3 ( hem kürksüz hem sıcak kanlı hem de yüzdüğünü bilmemiz
gerekiyor)
Deve Kuşu -> 3
Albatros -> 3
Kuzgun -> 3
Yukarıdaki değerleri toplarsak, 15 adımda bütün elemanları
birer kere ziyaret etmek mümkündür denilebilir.
erişim sayılarını yazarsak:
Deve Kuşu -> 1
Albatros -> 1
Kuzgun -> 1
Koala -> 2
Timsah -> 3
Yunus -> 3
Aşağıdaki yeni ağaçta her elemana birer kere
erişilmesi istendiğinde toplam 11 adım harcanması
gerekmektedir
Kaynak:www.bilgisayarkavramlari.com
32
Quinlan’e göre; veri, bir özelliğe göre
bölündüğünde elde edilen her bir veri
kümesinin belirsizliği minimum ve dolayısıyla
bilgi kazancı maksimum ise en iyi seçim
yapılmış demektir.
Buna göre önerdiği ilk algoritma ID3’te tek
tek özellik vektörleri incelenir ve en yüksek
bilgi kazancına sahip özellik, ağaçta dallanma
yapmak için tercih edilir.
Karar Ağacında Entropi
Entropi, örneklerin keyfi olarak
toplanmasının kirliliğini karakterize eder
17
33
Supervised L.->Decision Tree->
ID3 Algoritması
Sadece kategorik veri ile çalışan bir
yöntemdir.
 Her iterasyonun ilk adımında veri
örneklerine ait sınıf bilgilerini taşıyan
vektörün entropisi belirlenir.
 Daha sonra özellik vektörlerinin
sınıfa bağımlı entropileri
hesaplanarak ilk adımda hesaplanan
entropiden çıkartılır.
 Bu şekilde elde edilen değer ilgili
özellik vektörüne ait kazanç
değeridir.
 En büyük kazanca sahip özellik
vektörü ağacın o iterasyonda
belirlenen dallanmasını gerçekleştirir
(Dallanma Düğümü).
Iterative Dichotomiser Tree
34
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek
Yukarıdaki tablo için karar ağacı oluşturulsun
 sınıf bilgilerini taşıyan vektörün entropisi
 özellik vektörlerinin sınıfa bağımlı entropilerini hesapla
 ilk adımda hesaplanan entropiden çıkart. Elde edilen değer kazanç değeridir.
 En büyük kazanca sahip özellik vektörü Dallanma Düğümüdür.
18
35
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek
Yukarıdaki tablo için
karar ağacı oluşturulsun
 Sınıf bilgilerini taşıyan vektörün
entropisi =1
 özellik vektörlerinin sınıfa
bağımlı entropilerini hesapla
 ilk adımda hesaplanan
entropiden çıkart. Elde
edilen değer kazanç
değeridir.
36
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek
Yukarıdaki tablo için
karar ağacı oluşturulsun
 Sınıf bilgilerini taşıyan vektörün
entropisi =1
 özellik vektörlerinin sınıfa
bağımlı entropilerini hesapla
 ilk adımda hesaplanan
entropiden çıkart. Elde
edilen değer kazanç
değeridir.
19
37
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek
Yukarıdaki tablo için
karar ağacı oluşturulsun
 Sınıf bilgilerini taşıyan vektörün
entropisi =1
 özellik vektörlerinin sınıfa
bağımlı entropilerini hesapla
 ilk adımda hesaplanan
entropiden çıkart. Elde
edilen değer kazanç
değeridir.
38
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek  Sınıf bilgilerini taşıyan vektörün entropisi =1
 özellik vektörlerinin sınıfa bağımlı
entropilerini hesapla, ilk adımda hesaplanan
entropiden çıkart. Elde edilen değer kazanç
değeridir.
 En büyük kazanca sahip özellik
vektörü Dallanma Düğümüdür.
20
39
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek
40
V1 V2 S
A C E
B C F
B D E
B D F
2 özellik vektörü (V1 ve
V2) ile S sınıf vektörüne
sahip 4 örnekli veri
kümesi verilmiştir. ID3
algoritması ile ilk
dallanma hangi özellik
üzerinde gerçekleşir ?
H(S) - H(V1,S)
H(S) - H(V2,S)
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek - 2
21
41
V1 V2 S
A C E
B C F
B D E
B D F
Sınıf Entropisi
1
2
1
log
2
1
2
1
log
2
1
)
( 2
2 









S
H
V1 Entropisi
0,6887
0,9183
4
3
0
3
2
log
3
2
3
1
log
3
1
4
3
0
4
1
)
(
4
3
)
(
4
1
)
1
(
2
2













 B
H
A
H
V
H
V2 Entropisi
1
2
1
2
1
)
(
2
1
)
(
2
1
)
2
( 



 D
H
C
H
V
H V1
seçilir
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek - 2
42
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek – 3 Çalışma örneği
Day Outlook Temperature Humidity Wind PlayTennis
D1 Sunny Hot High Weak No
D2 Sunny Hot High Strong No
D3 Overcast Hot High Weak Yes
D4 Rain Mild High Weak Yes
D5 Rain Cool Normal Weak Yes
D6 Rain Cool Normal Strong No
D7 Overcast Cool Normal Strong Yes
D8 Sunny Mild High Weak No
D9 Sunny Cool Normal Weak Yes
D10 Rain Mild Normal Weak Yes
D11 Sunny Mild Normal Strong Yes
D12 Overcast Mild High Strong Yes
D13 Overcast Hot Normal Weak Yes
D14 Rain Mild High Strong No
22
43
Supervised L.->Decision Tree-> ID3 Algoritması
Örnek – 3 Çalışma örneği
Values(Wind)= Weak, Strong ; Wind özniteliği ya Weak ya Strong değeri alabilir
S= [9+,5-]; 9 pozitif , 5 negatif örnek var.
SWeak <- [6+, 2-]; Wind=Weak için 6 pozitif, 2 negatif örnek var.
SStrong <- [3+, 3-]; Wind=Strong için 3 pozitif, 3 negatif örnek var.
Gain(S,Wind)= Entropy(S) - ∑v E Values(A)|Sv| / |S| Entropy(Sv)
= Entropy(S) – (8/14)Entropy(SWeak)- (6/14)Entropy(SStrong)
= 0.940 – (8/14) 0.811 – (6/14) 1.00
= 0.048
44
C4.5 Algoritması
Bir eşikleme yöntemini içerir. Temel mantık; nümerik özellik
vektöründeki tüm değerler ikili olarak ele alınır, 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.
Hangi eşik değeriyle bilgi kazanımı en iyi ise o değer seçilir.
Seçilen eşiğe göre özellik vektörü kategorize edilir ve ID3
uygulanır.
23
45
C4.5 Algoritması
C4.5 ağacının ID3 ağacından en büyük farkı normalleştirme
(normalization) kullanıyor olmasıdır.
Yani ID3 ağacı üzerinde entropi hesabı yapılır (veya bilgi kazanımı
(information gain)) ve bu değere göre karar noktaları belirlenir. C4.5
ağacında ise entropi değerleri birer oran olarak tutulur.
Ayrıca ağaç üzerinde erişim sıklıklarına göre alt ağaçların (subtree)
farklı seviyelere taşınması da mümkündür. C4.5 ağacının diğer bir
farkı ise tam bu noktada orataya çıkar ID3 ağacının yaklaşımından
farklı olarak C4.5 ağacında budama (prunning) işlemi yapılmaktadır.
Kaynak: Sadi Evren Şeker Web sayfası
46
Supervised L.->Decision Tree-> C4.5 Algoritması
Örnek
24
47
Supervised L.->Decision Tree-> C4.5 Algoritması
Örnek
48
Supervised L.->Decision Tree-> C4.5 Algoritması
Örnek
25
49
Supervised L.->Decision Tree-> C4.5 Algoritması
Örnek
50
Supervised L.->Decision Tree-> C4.5 Algoritması
Örnek
26
51
Supervised L.->Decision Tree-> C4.5 Algoritması
Örnek
52
Kayıp Veri
Unknown attribute values
Eğer veride bazı örneklerin bazı özellikleri
kayıpsa izlenecek iki yol vardır:
 Kayıp özelliklere sahip örnek veriden tamamen
çıkartılır.
 Kayıp verilerle çalışabilecek şekilde algoritma
düzenlenir.
Eğer kayıplı örneklerin sayısı birinci seçenek
uygulanamayacak kadar çoksa ikinci seçenek
uygulanmalıdır.
27
53
Kayıp bilgiye sahip özellik vektörü için kazanç
hesaplanırken; kayıplı örnekler hariç
tutularak bilgi kazancı normal şekilde
hesaplanır ve daha sonra F katsayısıyla
çarpılır. F, kayıpsız verinin tamamına oranıdır.
))
,
(
)
(
.(
)
( X
V
H
X
H
F
X
IG 

Kayıp Veri
Unknown attribute values
Kayıp bilgiye sahip özellik vektörü içinde en
sık tekrarlanan değerin kayıp bilgi yerine
yazılması da önerilen yöntemlerdendir
54
Ezber, Aşırı Öğrenme
(Overfitting)
Tüm makine öğrenmesi yöntemlerinde verinin ana hatlarının modellenmesi
esas alındığı için öğrenme modelinde ezberden (overfitting) kaçınılmalıdır.
Tüm karar ağaçları önlem alınmazsa ezber yapar.
Öğrenme seti kullanılarak tümevarım ile bulunmuş
bir karar ağacı aşırı öğrenmiş olabilir
– Verideki gürültüden ve sapmalardan ötürü çok fazla dal mevcut
olabilir
– Görülmeyen veriler için çok zayıf bir tahmin yeteneği olabilir
 Aşırı öğrenmeden kaçınmak için iki yol
– Önceden budama: Ağaç en büyük şekline ulaşmadan öğrenmenin
durdurulması (Prepruning)
– Ağaç tam büyüklüğe ulaştıktan sonra budanması (Postpruning)
Budama, sınıflandırmaya katkısı olmayan bölümlerin karar ağacından
çıkarılması işlemidir. Bu sayede karar ağacı hem sade hem de
anlaşılabilir hale gelir
Kaynak: Dr. Ayhan Demiriz ders sunumu
28
55
Ön Budama
Prepruning
Ön budama işlemi ağaç oluşturulurken yapılır.
Bölünen nitelikler, değerleri belli bir eşik de-
ğerinin (hata toleransının) üstünde değilse o
noktada ağaç bölümleme işlemi durdurulur ve
o an elde bulunan kümedeki baskın sınıf eti-
keti, yaprak olarak oluşturulur.
Deciding not to divide a set of samples
any further under some conditions. The
stopping criterion is usually based on
some statistical test, such as the χ2-
test.
56
Sonradan Budama
Postpruning
Sonradan budama işlemi ağaç oluşturulduktan
sonra devreye girer. Alt ağaçları silerek
yaprak oluşturma, alt ağaçları yükseltme, dal
kesme şeklinde yapılabilir.
Removing retrospectively some of the tree
structure using selected accuracy criteria.
29
57
Ağaç Budama
Hava
Nem
Evet
15
Rüzgar
Güneşli
Bulutlu
Yağmurlu
Evet
20
Evet
15
Hayır
35
Hayır
25
Normal
Yüksek Kuvvetli
Hafif
Hata toleransı %33 seçilirse “Nem” düğümünün alt dallarındaki “Evet” oranı
%30’dur. Bu yüzden “Nem” düğümü budanıp yerine “Hayır” yaprağı konur.
58
Ağaç Budama
Hava
Evet
Rüzgar
Güneşli
Bulutlu
Yağmurlu
Evet
Hayır
Hayır
Kuvvetli
Hafif
30
59
Sınıflandırma ve Regresyon
Ağaçları (CART)
CART karar ağaçlarının temel prensibi herbir
düğümde ağacı iki dala ayırmasıdır. En çok
bilinen iki algoritması:
– Twoing algoritması
– Gini algoritması
60
ÖDEVLER
Aşağıdaki CART algoritmalarını program şeklinde
yazınız ve bir doküman sınıflandırma örneği
olarak düşününüz.
– Twoing
– Gini
Twoing ve Gini algoritmalarını birbiriyle
karşılaştırıp avantajlarını ve dezavantajlarını
içeren bir rapor hazırlayınız
31
61
Diğer Karar ağacı öğrenme algoritmaları
• Rastgele Orman (Random Forest) : Sınıflandırma işlemi sırasında birden
fazla karar ağacı kullanılarak sınıflandırma değerinin yükseltilmesi
hedeflenir.
• Hızlandırılmış Ağaçlar (Boosted Trees): Hem sınıflandırma
(classification) hem de ilkelleme (regression) problemleri için
kullanılabilen bir algoritmadır.
• Döndürme Ağacı (Rotation Forest) : Rastgele ağaca benzer şekilde
birden fazla ağaç kullanılmaktadır ancak her ağaç, önce farklı bileşen
analizi (Pricipal Component Analysis, PCA) kullanılarak eğitilmektedir. Bu
eğitim için veri kümesinin rast gele seçilmiş bir alt kümesi
kullanılmaktadır (sarnıçlama yöntemiyle).
• Chi-Kare Otomatik İlişki Tarayıcısı (Chi-Square Automatic Interaction
Detector, CHAID) : Birden fazla seviyeye bölme işlemine izin veren bir
sınıflandırma algoritmasıdır.
• MARS : Sayısal verilerin daha iyi işlenebilmesi için karar ağaçlarını
iyileştiren bir yaklaşımdır
ÖDEVLER
Sınıflandırma Modelini
Değerlendirme
Sınıflandırma Metodu tarafından
oluşturulan modelin başarısını ölçmek
için
Doğruluk (Accuracy)
Hata Oranı (Error rate)
Specificity
Sensitivity
gibi ölçüler kullanılır.
Kaynak:Dr.Songül Albayrak Ders sunusu
32
Sınıflandırma Modelini Değerlendirme:
* Doğruluk (Accuracy)
* Hata Oranı (Error Rate)
• Bir M sınıflayıcısı için doğruluk;
– acc(M) doğru sınıflanmış örneklerin toplam
örnek sayısına oranından bulunur.
• Bir M sınıflayıcısı için hata oranı;
– 1-acc(M) olarak hesaplanır.
Kaynak:Dr.Songül Albayrak Ders sunusu
Sınıflandırma Modelini Değerlendirme:
Karışıklık Matrisi (Class Confusion
Matrix)
Öngörülen sınıf
(Predicted Class)
Gerçek Sınıf
(Actual Class)
C1 (Positive) C2 (Negative)
C1
(Positive)
True positive
TP
False negative
FN
C2
(Negative)
False positive
FP
True negative
TN
sensitivity = TP /pos /* true positive recognition rate */
specificity = TN /neg /* true negative recognition rate */
accuracy= (TP +TN) / (pos + neg)
ΣPositive
ΣNegative
Kaynak:Dr.Songül Albayrak Ders sunusu
33
Sınıflandırma Modelini Değerlendirme:
Karışıklık Matrisi (Class Confusion
Matrix)
Table 2.7 • Two Confusion Matrices Each Showing a 10% Error Rate
Model Computed Computed Model Computed Computed
A Accept Reject B Accept Reject
Accept 600 25 Accept 600 75
Reject 75 300 Reject 25 300
Kaynak:Dr.Songül Albayrak Ders sunusu
66
Haftaya
Haftaya
Machine Learning
Selçuk Üniversitesi
Fen Bilimleri Enstitüsü
Bilgisayar Mühendisliği A.B.D.
Dr.Erkan ÜLKER

Mais conteúdo relacionado

Destaque

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Destaque (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

ML_3.pdf

  • 1. 1 1 Danışmanlı Öğrenme Supervised Learning Karar Ağaçları Decision Tree Danışmanlı Öğrenme Supervised Learning Karar Ağaçları Decision Tree Machine Learning Selçuk Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği A.B.D. Dr.Erkan ÜLKER Sunularda yararlanılan kaynaklar: Gazi Üniversitesi Bilgisayar Mühendisliği Bölümü M. Ali Akçayol ders sunusu Dr.Umut Orhan ders sunuları Danışmanlı Öğrenme Supervised Learning 2 Danışmanlı (Denetimli, gözetimli, Eğiticili) öğ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. kümedeki eleman sayısını gösterir
  • 2. 2 Danışmanlı Öğrenme Supervised Learning 3 Danışmanlı Öğrenme Supervised Learning 4 Örnek: Bir kredi uygulamasına yönelik veri kümesi
  • 3. 3 Danışmanlı Öğrenme Supervised Learning 5 Örnek veri kümesi Table 3.1 • The Credit Card Promotion Database Income Life Insurance Credit Card Range Promotion Insurance Sex Age 40–50K No No Male 45 30–40K Yes No Female 40 40–50K No No Male 42 30–40K Yes Yes Male 43 50–60K Yes No Female 38 20–30K No No Female 55 30–40K Yes Yes Male 35 20–30K No No Male 27 30–40K No No Male 43 30–40K Yes No Female 41 40–50K Yes No Female 43 20–30K Yes No Male 29 50–60K Yes No Female 39 40–50K No No Male 55 20–30K Yes Yes Female 19 Örnekler (intances, samples) Kaynak:Dr.Songül Albayrak Ders sunusu Danışmanlı Öğrenme Supervised Learning 6 Örnek veri kümesi Table 3.1 • The Credit Card Promotion Database Income Life Insurance Credit Card Range Promotion Insurance Sex Age 40–50K No No Male 45 30–40K Yes No Female 40 40–50K No No Male 42 30–40K Yes Yes Male 43 50–60K Yes No Female 38 20–30K No No Female 55 30–40K Yes Yes Male 35 20–30K No No Male 27 30–40K No No Male 43 30–40K Yes No Female 41 40–50K Yes No Female 43 20–30K Yes No Male 29 50–60K Yes No Female 39 40–50K No No Male 55 20 30K Yes Yes Female 19 Özellikler, nitelikler (features) Kaynak:Dr.Songül Albayrak Ders sunusu
  • 4. 4 Danışmanlı Öğrenme Supervised Learning 7  Bir veri kümesi ile öğrenen bir model geliştirip 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.  Geliştirilen modelin doğruluk değeri (accuracy), test verisinde doğru sınıflandırma sayısıyla belirlenir. Danışmanlı Öğrenme Supervised Learning 8 Apply Model Learn Model Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes 10 Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? 10 Sınıflamanın temel kuralları:  Öğrenme eğiticilidir  Veri setinde bulunan her örneğin bir dizi niteliği vardır ve bu niteliklerden biri de sınıf bilgisidir.  Hangi sınıfa ait olduğu bilinen nesneler (öğrenme kümesi- training set) ile bir model oluşturulur  Oluşturulan model öğrenme kümesinde yer almayan nesneler (deneme kümesi- test set) ile denenerek başarısı ölçülür
  • 5. 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  Temel fikir, giriş verisinin bir kümeleme algoritması yardımıyla tekrar tekrar gruplara bölünmesine dayanır.  Grubun tüm elemanları aynı sınıf etiketine sahip olana kadar kümeleme işlemi derinlemesine devam eder. Danışmanlı Öğrenme (Supervised Learning) Karar Ağaçları Decision Tree 10 Karar Ağacı Nedir? Hava Nem Evet Rüzgar Güneşli Bulutlu Yağmurlu Evet Evet Hayır Hayır Normal Yüksek Kuvvetli Hafif İfadeleri ayırmayı öğrenme yeteneği olan ve gürültülü veriyi sağlamlaştıran soyut değerli fonksiyonları tahmin eden bir metottur. Inductive Bias’ı genis ağaçlar üzerinde küçük ağaçları tercih etmesidir Attribute değerindeki sınırlamaların birleşiminin ayrılması şeklinde sunulur
  • 6. 6 11 Karar Ağacı Örnek Attribute değerindeki sınırlamaların birleşiminin ayrılması şeklinde sunulur Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 10 Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Splitting Attributes Training Data Model: Decision Tree 12 Karar Ağacı Örnek?Attribute değerindeki sınırlamaların birleşiminin ayrılması şeklinde sunulur Tid Refund Marital Status Taxable Income Cheat 1 Yes Single 125K No 2 No Married 100K No 3 No Single 70K No 4 Yes Married 120K No 5 No Divorced 95K Yes 6 No Married 60K No 7 Yes Divorced 220K No 8 No Single 85K Yes 9 No Married 75K No 10 No Single 90K Yes 10 MarSt Refund TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K There could be more than one tree that fits the same data!
  • 7. 7 13 Karar Ağacı Öğrenmesi için uygun problemler Decision tree learning genellikle aşağıdaki karakteristiklerdeki problemler için uygundur. 1. Örnekler; özniteliklerin sabit isimleri (örnek Hava) ve onların değerleri ile açıklanır (örneğin Güneşli). (Instance are represented by attribute value pairs) 2. Hedef fonksiyon, Ayrık çıkış değerleridir.(The target function has discrete output values). 3. Yukarıda da işaret edildiği gibi Karar Ağacı doğal olarak ayrık ifadeleri sunar (Disjunctive descriptions may be required). 4. Karar Ağacı Öğrenme metotları hatalara karşı güçlüdür (The training data may contain errors). 5. Karar Ağacı metotları bilinmeyen değerli eğitim örneklerinde bile kullanılabilir (The training data may contain missing attribute values). 14 Karar Ağacı Bir Algoritma • Temel Algoritma (miyobik bir algoritma) – Karar ağacı yukarıdan aşağıya, yinelemeli olarak böl ve kazan yöntemine göre inşa edilirler. – Başlangıçta bütün noktalar ağacın kökünde toplanmaktadır – Kategorik veriler kullanılır, sürekli değişkenlerin önceden kesikli hale getirilmesi gerekir. – Örnekler, seçilen değişkenlere (karakteristik) göre yinelemeli olarak bölümlenir – Değişkenlerin seçimi sezgisel veya belli bir istatistiksel ölçüye (mesela bilgi kazanımı) dayanır • Bölümlemenin durması için şartlar – Bir düğümde bulunan bütün örnekler aynı sınıfa aittir – Bölümlenin yapılacağı değişken kalmamıştır. Yani o düğüme (yaprak) gelene kadar bütün değişkenler kullanılmıştır. – Başka örnek kalmamıştır. Kaynak: Dr. Ayhan Demiriz ders sunumu
  • 8. 8 15 Karar Ağacı Bir Algoritma - Sınıflandırma Apply Model Learn Model Tid Attrib1 Attrib2 Attrib3 Class 1 Yes Large 125K No 2 No Medium 100K No 3 No Small 70K No 4 Yes Medium 120K No 5 No Large 95K Yes 6 No Medium 60K No 7 Yes Large 220K No 8 No Small 85K Yes 9 No Medium 75K No 10 No Small 90K Yes 10 Tid Attrib1 Attrib2 Attrib3 Class 11 No Small 55K ? 12 Yes Medium 80K ? 13 Yes Large 110K ? 14 No Small 95K ? 15 No Large 67K ? 10 Decision Tree 16 Karar Ağacı Bir Algoritma - Sınıflandırma Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Refund Marital Status Taxable Income Cheat No Married 80K ? 1 0 Test Data Start from the root of tree.
  • 9. 9 17 Karar Ağacı Bir Algoritma - Sınıflandırma Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Refund Marital Status Taxable Income Cheat No Married 80K ? 1 0 Test Data 18 Karar Ağacı Bir Algoritma - Sınıflandırma Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Refund Marital Status Taxable Income Cheat No Married 80K ? 1 0 Test Data
  • 10. 10 19 Karar Ağacı Bir Algoritma - Sınıflandırma Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Refund Marital Status Taxable Income Cheat No Married 80K ? 1 0 Test Data 20 Karar Ağacı Bir Algoritma - Sınıflandırma Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Refund Marital Status Taxable Income Cheat No Married 80K ? 1 0 Test Data
  • 11. 11 21 Karar Ağacı Bir Algoritma - Sınıflandırma Refund MarSt TaxInc YES NO NO NO Yes No Married Single, Divorced < 80K > 80K Refund Marital Status Taxable Income Cheat No Married 80K ? 1 0 Test Data Assign Cheat to “No” 22 Karar Ağacından Kural çıkarımı • Bilgiyi Eğer-O Zaman kuralları ile temsil et • Kökten yapraklara giden heryol için bir kural üretilir • Bir yol üzerindeki her bir değişken-değer çifti bir bağlaç oluşturur • Yapraklar sınıf tahminini içerir • Kuralların analşılması çok kolaydır • Örnek Eğer yaş = “<=30” ve öğrenci = “hayır” O Zaman Bilgisayar Alır? = “hayır” Eğer yaş = “<=30” ve öğrenci = “evet” O Zaman Bilgisayar Alır? = “evet” Eğer yaş = “31…40” O Zaman Bilgisayar Alır? = “evet” Eğer yaş = “>40” ve kredi durumu = “mükemmel” O Zaman Bilgisayar Alır? = “evet” Eğer yaş = “<=30” ve kredi durumu = “vasat” O Zaman Bilgisayar Alır? = “hayır” Kaynak: Dr. Ayhan Demiriz ders sunumu
  • 12. 12 23 Karar Ağacı Tipleri  Entropiye dayalı sınıflandırma ağaçları (ID3, C4.5)  Sınıflandırma ve Regresyon ağaçlarına (CART- Classification And Regression Trees) dayalı olmak üzere iki kategoride birçok algoritma önerilmiştir (Towing ve gini). CART algoritmalarında her düğümde bir kritere göre ikili bölünme yapılır Önce entropiye dayalı karar ağaçlarını inceleyeceğiz. Bu algoritmaları iyi anlayabilmek için önce entropiyi iyi bilmek gerekmektedir. 24 Entropi, Belirsizlik ve Enformasyon
  • 13. 13 25 Enformasyon Aslında zıt şeyleri temsil etmelerine rağmen Shannon’a göre maksimum belirsizlik maksimum enformasyon sağladığı için Enformasyon ve Belirsizlik terimleri benzerdir. Enformasyon (self-information) formülü aşağıdaki gibidir. Shannon bilgiyi bitlerle temsil ettiği için logaritmayı iki tabanında kullanmıştır. ) ( log ) ( 1 log ) ( x P x P x I    P (x), x olayının gerçekleşme olasılığını gösterir 26 Entropi Shannon’a göre entropi, iletilen bir mesajın taşıdığı enformasyonun beklenen değeridir. Shannon Entropisi (H) adıyla anılan terim, tüm ai durumlarına ait Pi olasılıklarına bağlı bir değerdir.             n i i i n i i i n i i i P P x P x P x I x P X I E X H 1 2 1 2 1 log ) ( 1 log ) ( ) ( ). ( )) ( ( ) (
  • 14. 14 27 Entropi Bir paranın havaya atılması olayı, rassal X sürecini temsil etsin. Yazı ve tura gelme olasılıkları eşit olduğu için X sürecinin entropisi aşağıdaki gibidir. Entropisi 1 olan para atma olayı (X) gerçekleştiğinde 1 bitlik bilgi kazanılacaktır. 1 ) 5 . 0 log 5 . 0 5 . 0 log 5 . 0 ( log ) ( 2 2 2 1 2         i i i p p X H 28 Örnek
  • 15. 15 29 Karar Ağacında Entropi  Karar ağaçları çok boyutlu (özellikli) veriyi belirlenmiş özellik üzerindeki bir şart ile parçalara böler.  Her seferinde verinin hangi özelliği üzerinde hangi şarta göre işlem yapacağına karar vermek çok büyük bir kombinasyonun çözümüyle mümkündür. 5 özellik ve 20 örneğe sahip bir veride 106 dan fazla sayıda farklı karar ağacı oluşturulabilir. Bu sebeple her parçalanmanın metodolojik olması gerekir. 30 Karar Ağacında Entropi Örnek Yukarıda verilen hayvanların çeşitli özelliklerine göre sonraki slidelardaki gibi karar ağaçları hazırlamak mümkündür
  • 16. 16 31 herhangi bir elemanı ağaçta kodlayan kaçar adım olduğunu listeleyelim: Koala -> 1 (sadece kürklüdür ayrımı yeterli) Timsah -> 2 (hem kürksüz hem de sıcak kanlı olduğunu bilmemiz gerekiyor) Yunus -> 3 ( hem kürksüz hem sıcak kanlı hem de yüzdüğünü bilmemiz gerekiyor) Deve Kuşu -> 3 Albatros -> 3 Kuzgun -> 3 Yukarıdaki değerleri toplarsak, 15 adımda bütün elemanları birer kere ziyaret etmek mümkündür denilebilir. erişim sayılarını yazarsak: Deve Kuşu -> 1 Albatros -> 1 Kuzgun -> 1 Koala -> 2 Timsah -> 3 Yunus -> 3 Aşağıdaki yeni ağaçta her elemana birer kere erişilmesi istendiğinde toplam 11 adım harcanması gerekmektedir Kaynak:www.bilgisayarkavramlari.com 32 Quinlan’e göre; veri, bir özelliğe göre bölündüğünde elde edilen her bir veri kümesinin belirsizliği minimum ve dolayısıyla bilgi kazancı maksimum ise en iyi seçim yapılmış demektir. Buna göre önerdiği ilk algoritma ID3’te tek tek özellik vektörleri incelenir ve en yüksek bilgi kazancına sahip özellik, ağaçta dallanma yapmak için tercih edilir. Karar Ağacında Entropi Entropi, örneklerin keyfi olarak toplanmasının kirliliğini karakterize eder
  • 17. 17 33 Supervised L.->Decision Tree-> ID3 Algoritması Sadece kategorik veri ile çalışan bir yöntemdir.  Her iterasyonun ilk adımında veri örneklerine ait sınıf bilgilerini taşıyan vektörün entropisi belirlenir.  Daha sonra özellik vektörlerinin sınıfa bağımlı entropileri hesaplanarak ilk adımda hesaplanan entropiden çıkartılır.  Bu şekilde elde edilen değer ilgili özellik vektörüne ait kazanç değeridir.  En büyük kazanca sahip özellik vektörü ağacın o iterasyonda belirlenen dallanmasını gerçekleştirir (Dallanma Düğümü). Iterative Dichotomiser Tree 34 Supervised L.->Decision Tree-> ID3 Algoritması Örnek Yukarıdaki tablo için karar ağacı oluşturulsun  sınıf bilgilerini taşıyan vektörün entropisi  özellik vektörlerinin sınıfa bağımlı entropilerini hesapla  ilk adımda hesaplanan entropiden çıkart. Elde edilen değer kazanç değeridir.  En büyük kazanca sahip özellik vektörü Dallanma Düğümüdür.
  • 18. 18 35 Supervised L.->Decision Tree-> ID3 Algoritması Örnek Yukarıdaki tablo için karar ağacı oluşturulsun  Sınıf bilgilerini taşıyan vektörün entropisi =1  özellik vektörlerinin sınıfa bağımlı entropilerini hesapla  ilk adımda hesaplanan entropiden çıkart. Elde edilen değer kazanç değeridir. 36 Supervised L.->Decision Tree-> ID3 Algoritması Örnek Yukarıdaki tablo için karar ağacı oluşturulsun  Sınıf bilgilerini taşıyan vektörün entropisi =1  özellik vektörlerinin sınıfa bağımlı entropilerini hesapla  ilk adımda hesaplanan entropiden çıkart. Elde edilen değer kazanç değeridir.
  • 19. 19 37 Supervised L.->Decision Tree-> ID3 Algoritması Örnek Yukarıdaki tablo için karar ağacı oluşturulsun  Sınıf bilgilerini taşıyan vektörün entropisi =1  özellik vektörlerinin sınıfa bağımlı entropilerini hesapla  ilk adımda hesaplanan entropiden çıkart. Elde edilen değer kazanç değeridir. 38 Supervised L.->Decision Tree-> ID3 Algoritması Örnek  Sınıf bilgilerini taşıyan vektörün entropisi =1  özellik vektörlerinin sınıfa bağımlı entropilerini hesapla, ilk adımda hesaplanan entropiden çıkart. Elde edilen değer kazanç değeridir.  En büyük kazanca sahip özellik vektörü Dallanma Düğümüdür.
  • 20. 20 39 Supervised L.->Decision Tree-> ID3 Algoritması Örnek 40 V1 V2 S A C E B C F B D E B D F 2 özellik vektörü (V1 ve V2) ile S sınıf vektörüne sahip 4 örnekli veri kümesi verilmiştir. ID3 algoritması ile ilk dallanma hangi özellik üzerinde gerçekleşir ? H(S) - H(V1,S) H(S) - H(V2,S) Supervised L.->Decision Tree-> ID3 Algoritması Örnek - 2
  • 21. 21 41 V1 V2 S A C E B C F B D E B D F Sınıf Entropisi 1 2 1 log 2 1 2 1 log 2 1 ) ( 2 2           S H V1 Entropisi 0,6887 0,9183 4 3 0 3 2 log 3 2 3 1 log 3 1 4 3 0 4 1 ) ( 4 3 ) ( 4 1 ) 1 ( 2 2               B H A H V H V2 Entropisi 1 2 1 2 1 ) ( 2 1 ) ( 2 1 ) 2 (      D H C H V H V1 seçilir Supervised L.->Decision Tree-> ID3 Algoritması Örnek - 2 42 Supervised L.->Decision Tree-> ID3 Algoritması Örnek – 3 Çalışma örneği Day Outlook Temperature Humidity Wind PlayTennis D1 Sunny Hot High Weak No D2 Sunny Hot High Strong No D3 Overcast Hot High Weak Yes D4 Rain Mild High Weak Yes D5 Rain Cool Normal Weak Yes D6 Rain Cool Normal Strong No D7 Overcast Cool Normal Strong Yes D8 Sunny Mild High Weak No D9 Sunny Cool Normal Weak Yes D10 Rain Mild Normal Weak Yes D11 Sunny Mild Normal Strong Yes D12 Overcast Mild High Strong Yes D13 Overcast Hot Normal Weak Yes D14 Rain Mild High Strong No
  • 22. 22 43 Supervised L.->Decision Tree-> ID3 Algoritması Örnek – 3 Çalışma örneği Values(Wind)= Weak, Strong ; Wind özniteliği ya Weak ya Strong değeri alabilir S= [9+,5-]; 9 pozitif , 5 negatif örnek var. SWeak <- [6+, 2-]; Wind=Weak için 6 pozitif, 2 negatif örnek var. SStrong <- [3+, 3-]; Wind=Strong için 3 pozitif, 3 negatif örnek var. Gain(S,Wind)= Entropy(S) - ∑v E Values(A)|Sv| / |S| Entropy(Sv) = Entropy(S) – (8/14)Entropy(SWeak)- (6/14)Entropy(SStrong) = 0.940 – (8/14) 0.811 – (6/14) 1.00 = 0.048 44 C4.5 Algoritması Bir eşikleme yöntemini içerir. Temel mantık; nümerik özellik vektöründeki tüm değerler ikili olarak ele alınır, 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. Hangi eşik değeriyle bilgi kazanımı en iyi ise o değer seçilir. Seçilen eşiğe göre özellik vektörü kategorize edilir ve ID3 uygulanır.
  • 23. 23 45 C4.5 Algoritması C4.5 ağacının ID3 ağacından en büyük farkı normalleştirme (normalization) kullanıyor olmasıdır. Yani ID3 ağacı üzerinde entropi hesabı yapılır (veya bilgi kazanımı (information gain)) ve bu değere göre karar noktaları belirlenir. C4.5 ağacında ise entropi değerleri birer oran olarak tutulur. Ayrıca ağaç üzerinde erişim sıklıklarına göre alt ağaçların (subtree) farklı seviyelere taşınması da mümkündür. C4.5 ağacının diğer bir farkı ise tam bu noktada orataya çıkar ID3 ağacının yaklaşımından farklı olarak C4.5 ağacında budama (prunning) işlemi yapılmaktadır. Kaynak: Sadi Evren Şeker Web sayfası 46 Supervised L.->Decision Tree-> C4.5 Algoritması Örnek
  • 24. 24 47 Supervised L.->Decision Tree-> C4.5 Algoritması Örnek 48 Supervised L.->Decision Tree-> C4.5 Algoritması Örnek
  • 25. 25 49 Supervised L.->Decision Tree-> C4.5 Algoritması Örnek 50 Supervised L.->Decision Tree-> C4.5 Algoritması Örnek
  • 26. 26 51 Supervised L.->Decision Tree-> C4.5 Algoritması Örnek 52 Kayıp Veri Unknown attribute values Eğer veride bazı örneklerin bazı özellikleri kayıpsa izlenecek iki yol vardır:  Kayıp özelliklere sahip örnek veriden tamamen çıkartılır.  Kayıp verilerle çalışabilecek şekilde algoritma düzenlenir. Eğer kayıplı örneklerin sayısı birinci seçenek uygulanamayacak kadar çoksa ikinci seçenek uygulanmalıdır.
  • 27. 27 53 Kayıp bilgiye sahip özellik vektörü için kazanç hesaplanırken; kayıplı örnekler hariç tutularak bilgi kazancı normal şekilde hesaplanır ve daha sonra F katsayısıyla çarpılır. F, kayıpsız verinin tamamına oranıdır. )) , ( ) ( .( ) ( X V H X H F X IG   Kayıp Veri Unknown attribute values Kayıp bilgiye sahip özellik vektörü içinde en sık tekrarlanan değerin kayıp bilgi yerine yazılması da önerilen yöntemlerdendir 54 Ezber, Aşırı Öğrenme (Overfitting) Tüm makine öğrenmesi yöntemlerinde verinin ana hatlarının modellenmesi esas alındığı için öğrenme modelinde ezberden (overfitting) kaçınılmalıdır. Tüm karar ağaçları önlem alınmazsa ezber yapar. Öğrenme seti kullanılarak tümevarım ile bulunmuş bir karar ağacı aşırı öğrenmiş olabilir – Verideki gürültüden ve sapmalardan ötürü çok fazla dal mevcut olabilir – Görülmeyen veriler için çok zayıf bir tahmin yeteneği olabilir  Aşırı öğrenmeden kaçınmak için iki yol – Önceden budama: Ağaç en büyük şekline ulaşmadan öğrenmenin durdurulması (Prepruning) – Ağaç tam büyüklüğe ulaştıktan sonra budanması (Postpruning) Budama, sınıflandırmaya katkısı olmayan bölümlerin karar ağacından çıkarılması işlemidir. Bu sayede karar ağacı hem sade hem de anlaşılabilir hale gelir Kaynak: Dr. Ayhan Demiriz ders sunumu
  • 28. 28 55 Ön Budama Prepruning Ön budama işlemi ağaç oluşturulurken yapılır. Bölünen nitelikler, değerleri belli bir eşik de- ğerinin (hata toleransının) üstünde değilse o noktada ağaç bölümleme işlemi durdurulur ve o an elde bulunan kümedeki baskın sınıf eti- keti, yaprak olarak oluşturulur. Deciding not to divide a set of samples any further under some conditions. The stopping criterion is usually based on some statistical test, such as the χ2- test. 56 Sonradan Budama Postpruning Sonradan budama işlemi ağaç oluşturulduktan sonra devreye girer. Alt ağaçları silerek yaprak oluşturma, alt ağaçları yükseltme, dal kesme şeklinde yapılabilir. Removing retrospectively some of the tree structure using selected accuracy criteria.
  • 29. 29 57 Ağaç Budama Hava Nem Evet 15 Rüzgar Güneşli Bulutlu Yağmurlu Evet 20 Evet 15 Hayır 35 Hayır 25 Normal Yüksek Kuvvetli Hafif Hata toleransı %33 seçilirse “Nem” düğümünün alt dallarındaki “Evet” oranı %30’dur. Bu yüzden “Nem” düğümü budanıp yerine “Hayır” yaprağı konur. 58 Ağaç Budama Hava Evet Rüzgar Güneşli Bulutlu Yağmurlu Evet Hayır Hayır Kuvvetli Hafif
  • 30. 30 59 Sınıflandırma ve Regresyon Ağaçları (CART) CART karar ağaçlarının temel prensibi herbir düğümde ağacı iki dala ayırmasıdır. En çok bilinen iki algoritması: – Twoing algoritması – Gini algoritması 60 ÖDEVLER Aşağıdaki CART algoritmalarını program şeklinde yazınız ve bir doküman sınıflandırma örneği olarak düşününüz. – Twoing – Gini Twoing ve Gini algoritmalarını birbiriyle karşılaştırıp avantajlarını ve dezavantajlarını içeren bir rapor hazırlayınız
  • 31. 31 61 Diğer Karar ağacı öğrenme algoritmaları • Rastgele Orman (Random Forest) : Sınıflandırma işlemi sırasında birden fazla karar ağacı kullanılarak sınıflandırma değerinin yükseltilmesi hedeflenir. • Hızlandırılmış Ağaçlar (Boosted Trees): Hem sınıflandırma (classification) hem de ilkelleme (regression) problemleri için kullanılabilen bir algoritmadır. • Döndürme Ağacı (Rotation Forest) : Rastgele ağaca benzer şekilde birden fazla ağaç kullanılmaktadır ancak her ağaç, önce farklı bileşen analizi (Pricipal Component Analysis, PCA) kullanılarak eğitilmektedir. Bu eğitim için veri kümesinin rast gele seçilmiş bir alt kümesi kullanılmaktadır (sarnıçlama yöntemiyle). • Chi-Kare Otomatik İlişki Tarayıcısı (Chi-Square Automatic Interaction Detector, CHAID) : Birden fazla seviyeye bölme işlemine izin veren bir sınıflandırma algoritmasıdır. • MARS : Sayısal verilerin daha iyi işlenebilmesi için karar ağaçlarını iyileştiren bir yaklaşımdır ÖDEVLER Sınıflandırma Modelini Değerlendirme Sınıflandırma Metodu tarafından oluşturulan modelin başarısını ölçmek için Doğruluk (Accuracy) Hata Oranı (Error rate) Specificity Sensitivity gibi ölçüler kullanılır. Kaynak:Dr.Songül Albayrak Ders sunusu
  • 32. 32 Sınıflandırma Modelini Değerlendirme: * Doğruluk (Accuracy) * Hata Oranı (Error Rate) • Bir M sınıflayıcısı için doğruluk; – acc(M) doğru sınıflanmış örneklerin toplam örnek sayısına oranından bulunur. • Bir M sınıflayıcısı için hata oranı; – 1-acc(M) olarak hesaplanır. Kaynak:Dr.Songül Albayrak Ders sunusu Sınıflandırma Modelini Değerlendirme: Karışıklık Matrisi (Class Confusion Matrix) Öngörülen sınıf (Predicted Class) Gerçek Sınıf (Actual Class) C1 (Positive) C2 (Negative) C1 (Positive) True positive TP False negative FN C2 (Negative) False positive FP True negative TN sensitivity = TP /pos /* true positive recognition rate */ specificity = TN /neg /* true negative recognition rate */ accuracy= (TP +TN) / (pos + neg) ΣPositive ΣNegative Kaynak:Dr.Songül Albayrak Ders sunusu
  • 33. 33 Sınıflandırma Modelini Değerlendirme: Karışıklık Matrisi (Class Confusion Matrix) Table 2.7 • Two Confusion Matrices Each Showing a 10% Error Rate Model Computed Computed Model Computed Computed A Accept Reject B Accept Reject Accept 600 25 Accept 600 75 Reject 75 300 Reject 25 300 Kaynak:Dr.Songül Albayrak Ders sunusu 66 Haftaya Haftaya Machine Learning Selçuk Üniversitesi Fen Bilimleri Enstitüsü Bilgisayar Mühendisliği A.B.D. Dr.Erkan ÜLKER