3.baskı, Seçkin Yayınevi, Ankara.

Bölüm 6. Sınıflandırma

Bölüm İçin Gerekli Paketler

install.packages("rpart")
install.packages("rpart.plot")
install.packages("readxl")

Karar Ağacı Algoritmaları

Örnek bir karar ağacı yapısı

Golf verisi

Gün Hava Sıcaklık Nem Rüzgar Golf
1 güneşli yüksek yüksek hayır hayır
2 güneşli yüksek yüksek evet hayır
3 bulutlu yüksek yüksek hayır evet
4 yağmurlu normal yüksek hayır evet
5 yağmurlu düşük normal hayır evet
6 yağmurlu düşük normal evet hayır
7 bulutlu düşük normal evet evet
8 güneşli normal yüksek hayır hayır
9 güneşli düşük normal hayır evet
10 yağmurlu normal normal hayır evet
11 güneşli normal normal evet evet
12 bulutlu normal yüksek evet evet
13 bulutlu yüksek normal hayır evet
14 yağmurlu normal yüksek evet hayır

Golf verisi için örnek karar ağacı

Golf verisi için örnek karar ağacına ilişkin kurallar

- Eğer hava güneşli ve nem 70’in üzerinde ise golf maçı oynanmaz.
    (if hava=güneşli and nem>70 then oyun=hayır)
-   Eğer hava güneşli ve nem 70 ve altında ise golf maçı oynanır.
    (if hava=güneşli and nem<=70 then oyun=evet)
-   Eğer hava bulutlu ise golf maçı oynanır.
    (if hava=bulutlu then oyun=evet)
-   Eğer hava yağmurlu ve rüzgar varsa golf maçı oynanmaz.
    (if hava=yağmurlu and rüzgar=evet then oyun=hayır)
-   Eğer hava yağmurlu ve rüzgar yoksa golf maçı oynanır.
    (if hava=yağmurlu and rüzgar=hayır then oyun=evet)

ID3

\[Gain({{X}_{i}})=H(Y)-\sum\limits_{j=1}^{{{k}_{i}}}{P({{X}_{ij}})H(Y/{{X}_{ij}})}\,\,\,\,i=1,2,...,m\]

\(H(Y)\) : Sınıfa ait entropi değeri

\({{k}_{i}}\) : \(i\). özelliğin kategori (düzey, sınıf) sayısı

\(P({{X}_{ij}})\) : \(i\). özelliğin \(j\). düzeyinin ortaya çıkma olasılığı

\(H(Y/{{X}_{ij}})\) : \(i\). özelliğin \(j\). düzeyi için sınıfa ait entropi değeri

\(m\) : özellik sayısı

ID3

  • Sınıf Değişkeni için Entropi \[H(Y)=H({{p}_{1}},{{p}_{2}},...,{{p}_{k}})\text{ }=\sum\limits_{j=1}^{k}{({{p}_{j}}{{\log}_{b}}(1/{{p}_{j}}))}\]

ID3 Algoritmasının Adımları

Golf verisi - Kodlanmış

Gün Hava Sıcaklık Nem Rüzgar Golf
1 G Y Y H H
2 G Y Y E H
3 B Y Y H E
4 Y N Y H E
5 Y D N H E
6 Y D N E H
7 B D N E E
8 G N Y H H
9 G D N H E
10 Y N N H E
11 G N N E E
12 B N Y E E
13 B Y N H E
14 Y N Y E H

ID3 - İlk dallandırma için hesaplamalar

\[H(golf)=H\left( \frac{9}{14},\frac{5}{14} \right)=\frac{9}{14}{{\log }_{2}}\left( \frac{14}{9} \right)+\frac{5}{14}{{\log }_{2}}\left( \frac{14}{5} \right)=0.940\]

\[H(Y/{{X}_{11}})=\frac{2}{5}{{\log }_{2}}\left( \frac{5}{2} \right)+\frac{3}{5}{{\log }_{2}}\left( \frac{5}{3} \right)=0.971 {....{X}_{11}}:\text{hava güneşli}\]

\[H(Y/{{X}_{12}})=\frac{4}{4}{{\log }_{2}}\left( \frac{4}{4} \right)=0 {....................{X}_{12}}: \text{hava bulutlu}\]

\[H(Y/{{X}_{13}})=\frac{3}{5}{{\log }_{2}}\left( \frac{5}{3} \right)+\frac{2}{5}{{\log }_{2}}\left( \frac{5}{2} \right)=0.971 \text{ } {....{X}_{13}}:\text{hava yağmurlu}\]

Hazırlık Aşamasında