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