Implementasi Metode Pohon Keputusan Untuk Klasifik
Implementasi Metode Pohon Keputusan Untuk Klasifik
net/publication/266461807
Article
CITATIONS READS
5 11,326
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Ratih Ariadni on 30 June 2015.
1
Decision tree menggunakan struktur hierarki untuk Kemudian menghitung perolehan informasi dari
pembelajaran supervised. Proses dari decision tree output data atau variabel dependent y yang
dimulai dari root node hingga leaf node yang dilakukan dikelompokkan berdasarkan atribut A, dinotasikan dengan
secara rekursif[4]. Di mana setiap percabangan gain (y,A). Perolehan informasi, gain (y,A), dari atribut A
menyatakan suatu kondisi yang harus dipenuhi dan pada relative terhadap output data y adalah:
setiap ujung pohon menyatakan kelas dari suatu data. , = −
Pada decision tree terdiri dari tiga bagian yaitu[4]: !"#"$
a. Root node Nilai (A) adalah semua nilai yang mungkin dari
Node ini merupakan node yang terletak paling atas dari atribut A, dan yc adalah subset dari y dimana A
suatu pohon. mempunyai nilai c. Term pertama dalam persamaan diatas
b. Internal node adalah entropi total y dan term kedua adalah entropi
Node ini merupakan node percabangan, hanya terdapat sesudah dilakukan pemisahan data berdasarkan atribut A.
satu input serta mempunyai minimal dua output. Untuk menghitung rasio perolehan perlu diketahui
c. Leaf node. suatu term baru yang disebut pemisahan informasi
Node ini merupakan node akhir, hanya memiliki satu (SplitInfo). Pemisahan informasi dihitung dengan cara :
input, dan tidak memiliki output. " "
%&, = −
3 ALGORITMA DECISION TREE C45 '()
S1 sampai Sc adalah c subset yang dihasilkan dari
Pohon dibangun dengan cara membagi data secara pemecahan S dengan menggunakan atribut A yang
rekursif hingga tiap bagian terdiri dari data yang berasal mempunyai sebanyak c nilai. Selanjutnya rasio perolehan
dari kelas yang sama. Bentuk pemecahan (split) yang (gain ratio) dihitung dengan cara :
,
, =
digunakan untuk membagi data tergantung dari jenis
atribut yang digunakan dalam split. Algoritma C4.5 dapat %&*,
menangani data numerik (kontinyu) dan diskret. Split
untuk atribut numerik yaitu mengurutkan contoh 4 KLASIFIKASI VOTED PERCEPTRON
berdasarkan atribut kontiyu A, kemudian membentuk
minimum permulaan (threshold) M dari contoh-contoh
yang ada dari kelas mayoritas pada setiap partisi yang Uncertain data adalah suatu data yang tidak dapat
bersebelahan, lalu menggabungkan partisi-partisi yang direpresentasikan dengan suatu point data atau nilai
bersebelahan tersebut dengan kelas mayoritas yang sama. tunggal[3]. Suatu data uncertain memiliki interval nilai.
Split untuk atribut diskret A mempunyai bentuk value (A) Biasanya, data dengan informasi uncertainty diwakili oleh
ε X dimana X ⊂ domain(A). pdf atas suatu wilayah yang terbatas dan dibatasi oleh
Jika suatu set data mempunyai beberapa pengamatan suatu nilai yang mungkin[6]. Hal ini sering muncul
dengan missing value yaitu record dengan beberapa nilai dalam beberapa kasus yang disebabkan oleh:
variabel tidak ada, Jika jumlah pengamatan terbatas maka
atribut dengan missing value dapat diganti dengan nilai a. Kesalahan Pengukuran
rata-rata dari variabel yang bersangkutan. Data yang diperoleh dari pengukuran dengan
Dalam melakukan pemisahan obyek (split) dilakukan tes menggunakan perangkat fisik sering tidak tepat akibat
terhadap atribut dengan mengukur tingkat ketidakmurnian kesalahan pengukuran. Sebagai contoh, sebuah
pada sebuah simpul (node). Pada algoritma C.45 termometer tympanic (telinga) mengukur suhu tubuh
menggunakan rasio perolehan (gain ratio). Sebelum dengan cara mengukur temperatur gendang telinga
menghitung rasio perolehan, perlu menghitung dulu nilai melalui sebuah sensor inframerah[3].
informasi dalam satuan bits dari suatu kumpulan objek.
Cara menghitungnya dilakukan dengan menggunakan b. Pengukuran Berulang
konsep entropi. Rumus untuk menghitung entropi adalah Sumber ketidakpastian data yang paling umum adalah
sebagai berikut: dari pengukuran berulang. Sebagai contoh, suhu
= −
− tubuh pasien dapat diambil beberapa kali sehari. Suhu
S adalah ruang (data) sampel yang digunakan untuk pasien setiap jam belum tentu[3].
pelatihan, p+ adalah jumlah yang bersolusi positif atau
mendukung pada data sampel untuk kriteria tertentu dan Dalam menangani permasalahan uncertain data
p- adalah jumlah yang bersolusi negatif atau tidak terdapat metode yang dapat menangani permasalahan
mendukung pada data sampel untuk kriteria tertentu. tersebut yaitu:
Entropi(S) sama dengan 0, jika semua contoh pada S
berada dalam kelas yang sama. Entropi(S) sama dengan 1,
jika jumlah contoh positif dan negative dalam S adalah
sama. Entropi(S) lebih dari 0 tetapi kurang dari 1, jika
jumlah contoh positif dan negative dalam S tidak sama.
2
a. Averaging atribut Ajn direntangkan pada interval [ai,jn, bi,jn]. Dengan
ai,jn, adalah nilai minimal dan bi,jn adalah nilai maksimal
Averaging adalah suatu algoritma greedy yang pada suatu atribut. Jika bi,jn≤ zn, pdf dari ti sepenuhnya
membangun tree top-down. Ketika akan memproses suatu terletak di sebelah kiri split point dan dengan demikian ti
node, harus diperiksa juga semua kumpulan dari tupel S. ditugaskan sebagai L. Jika pdf berisi split point, yaitu,
Algoritma ini dimulai dari root node dengan S sebagai ai,jn≤ zn < bi,jn, dibagi menjadi dua tupel ti fraksional tL dan
kumpulan dari tupel. Pada setiap node n, yang harus tR dengan cara yang sama dan menambahkannya ke L dan
dilakukan pertama kali adalah mengecek apakah semua R.
tupel memiliki kelas label c. Selanjutnya adalah memilih Kunci untuk membangun decision tree yang baik
atribut Ajn dan split point zn dan membagi tupel menjadi adalah pilihan dari sebuah atribut Ajn dan split point zn
dua subset yaitu left dan right. Untuk tupel ≤ zn untuk setiap node n. Dengan data uncertain, pemilihan
diletakkan di bagian left dan tupel ≥ zn diletakkan di split point tidak terbatas pada m-1 nilai point. Hal ini
bagian right. Algoritma ini berjalan secara rekursif untuk karena ti tuple pdf merentang pada interval kontinyu [ai,j,
mengecek semua tupel dan meletakkan pada left atau bi,j ]. Perubahan sedikit pada tuple tL dan tR akan
right. mengubah hasil pada tree. Jika kita memodelkan pdf
dengan nilai-nilai sampel s, kita mendekatkan pdf dengan
distribusi diskrit. Dalam hal ini, split point berpindah dari
Dalam menentukan split point diperlukan suatu best
satu end point ai,j ke end poin bi,j. dari interval tersebut.
split. Best split digunakan untuk memilih atribut dan split
Dengan tuple m, ada di titik sampel total ms. Jadi,
point dengan derajat dispersi yang minimal. Derajat
terdapat pada ms-1 kemungkinan split point untuk
dispersi dapat diukur dengan berbagai cara seperti entropi
dipertimbangkan. Untuk mendapatkan atribut terbaik pada
atau gini index[5]. Pemilihan dispersi akan berpengaruh
pada k atribut, maka harus melakukan pencarian atribut
pada struktur pohon yang dihasilkan. Berikut ini
terbaik sebanyak k(ms-1). Oleh karena itu, distribution
merupakan ilustrasi dari penggunaan averaging untuk
based membutuhkan waktu yang lebih lama dibandingkan
membangun suatu pohon yang ditunjukkan oleh tabel 1:
averaging.
Tabel 1 Contoh Penggunaan Averaging
5 PROSES GENERATE DATA CERTAIN
tupel Kela mea Distribusi Probabilitas MENJADI UNCERTAIN
l s n -10 -1,0 0,0 +1,0 +10
1 A +2,0 8/1 Pada tahapan ini proses generate data digunakan
1 untuk membuat data uncertain dari data certain. Data
2 A -2,0 1/9 8/9 certain berisi suatu point value tanpa uncertainty. Untuk
3 A +2,0 5/8 1/8 2/8 mengontrol uncertainty pada data certain perlu
ditambahkan suatu informasi uncertainty pada masing-
4 B -2,0 5/9 1/1 13/1 masing dataset. Untuk memodelkan dataset menjadi
9 9 informasi yang mengandung uncertainty adalah dengan
5 B +2,0 1/3 30/3 4/3 cara membuat error model pada data point. Pada setiap
5 5 5 tupel ti dan setiap atribut Aj, suatu nilai point vi,j pada
6 B -2,0 3/1 8/11 dataset digunakan sebagai nilai mean pada pdf dan
1 ditemukan pada interval [ai,j, bi,j]. Rentang nilai Aj pada
seluruh dataset dicatat dan width dari [ai,j, bi,j] diatur
Sebagai contoh tupel 3 memiliki kelas label A dan sebagai w. |Aj| menunjukkan lebar dari jangkauan untuk Aj
mempunyai nilai atribut -1, +1, dan +10 dengan dan w adalah parameter yang mengontrol lebar jangkauan
probabilitas 5/8, 1/8, dan 2/8. Berdasarkan masing-masing interval.
probabilitas dari nilai atribut dilakukan perhitungan mean Dalam melaukan proses generate data, langkah-
dan didapatkan hasil yaitu sebesar +2. Berdasarkan langkah yang dilakukan adalah sebagai berikut:
averaging, didapatkan suatu partisi yaitu untuk tupel yang 1. Menentukan range dari setiap atribut.
bernomor ganjil akan terletak di left dan tupel bernomor Pada langkah pertama ini, untuk menentukan range
genap akan terletak di right. dari setiap atribut yang harus dilakukan adalah
mengetahui nilai minimal dan maksimal dari setiap
atribut. Selanjutnya adalah menentukan width yang akan
b. Distribution Based digunakan sebagai parameter untuk mengontrol lebar
jangkauan. Rumus yang digunakan untuk menentukan
Untuk data yang tidak pasti mengadopsi framework range dari setiap atribut yaitu:
decision tree yang sama untuk menangani data point.
Setelah atribut Ajn dan split poin zn telah dipilih untuk Range atribut Aj= (max atributAj – min atributAj) x width
node n, kita harus membagi himpunan tupel menjadi dua
S himpunan bagian L dan R. Pdf dari tuple ti∈S dalam
3
2. Menentukan error dari masing-masing nilai point. 6 PROSES PEMBUATAN TREE
Pada langkah kedua ini, generate error dibagi
menjadi dua untuk masing-masing nilai point. Pada bagian ini dijelaskan tentang perancangan
Pembagiannya yaitu left dan right. Untuk mendapatkan proses untuk mengetahui alur dari proses pembuatan tree.
nilai generate error left dan right digunakan rumus Data yang digunakan adalah data yang dihasilkan dari
sebagai berikut: proses generate data yaitu berupa data yang memiliki
interval. Selanjutnya, dari masing-masing data interval
Gen errorleft = nilai point – rangeAj tersebut [a,b] digunakan untuk membangun decision tre
Gen error right = nilai point + rangeAj dengan split point tertntu yaitu sesuai dengan algoritma
yang dipilih oleh user. jika lagoritma yang dipilih adalah
Perhitungan ini dilakukan pada semua nilai point averaging, maka masing-masing data interval diubah
yang dimiliki oleh dataset. Pada langkah kedua ini yang menjadi nilai mean dengan rumus sebagai berikut:
dihasilkan adalah suatu interval yakni nilai left dan right. 1
. = / .&. 0.
3. Membuat PDF #
Pada langkah ketiga ini, nilai interval yang Sedangkan untuk algoritma distribution based, masing-
dihasilkan dari langkah kedua selanjutnya akan diuji masing data interval diubah menjadi nilai probabilitas
menggunakan distribusi Gaussian. Dalam distribusi dengan rumus sebagai berikut:
Gaussian dilakukan penentuan jumlah sampel yang akan 1
digunakan. Pada tugas akhir ini sampel yang digunakan 2. = / &. 0.
sebanyak 100. Fungsi random.Gaussian akan dilakukan
#
selama nilai interval >= NUM_STDEV/2 atau nilai Pada tugas akhir ini, distribusi yang dipilih adalah
interval <= -NUM_STDEV/2. Hasil dari distribusi ini distribusi Gaussian atau distribusi normal sehingga fungsi
selanjutnya akan dilakukan proses sorting untuk probabilitasnya adalah sebagai berikut:
mengurutkan data dari yang terkecil hingga terbesar. 1 7 8
Setelah proses sorting, akan didapatkan interval yang baru &. =
Secara umum proses membuat data uncertain dari data Selanjutnya dilakukan pencarian atribut terbaik
certain dapat digambarkan dengan diagram alir sebagai
untuk menentukan root node dan internal node. Secara
berikut :
garis besar proses ini dapat ditunjukkan diagram alir
sebagai berikut:
4
Rule yang dihasilkan untuk data Iris dari proses decision
7 UJI COBA DAN PEMBAHASAN tree dengan algoritma averaging pada data iris adalah
sebagai berikut:
Total data yang digunakan berjumlah 100 untuk 1. (Petal length > 1,9) Kelas 1
masing-masing dataset. Dataset yang tersedia adalah 2. (Petal length > 1,9) ^ (Petal width ≤ 1,7) ^ (Petal
dataset Iris dan Breast. Dari 100 data tersebut, diambil 90 length ≤ 4,9 ) ^ (Petal width ≤ 1,6 ) Kelas 2
data untuk proses pembelajaran(traning set) dan 10 data 3. (Petal length > 1,9) ^ (Petal width ≤ 1,7) ^ (Petal
untuk proses pelatihan sistem (testing set).
length ≤ 4,9 ) ^ (Petal width > 1,6 ) Kelas 3
Pada bagian ini dijelaskan mengenai skenario uji
coba yang telah dilakukan untuk mengetahui kemampuan 4. (Petal length > 1,9) ^ (Petal width ≤ 1,7) ^ (Petal
sistem dalam memprediksi hasil klasifikasi data length >4,9 ) ^ (Petal width ≤ 1,5 ) Kelas 3
menggunakan decision tree. Skenario ini dibagi menjadi 5. (Petal length > 1,9) ^ (Petal width ≤ 1,7) ^ (Petal
dua bagian yaitu skenario dengan pemilihan algortima length >4,9 ) ^ (Petal width > 1,5) ^ Sepal length ≤ 6,7
Averaging (AVG) dan skenario dengan pemilihan ) Kelas 2
algoritma Distribution Based (UDT). 6. (Petal length > 1,9) ^ (Petal width ≤ 1,7) ^ (Petal
length >4,9 ) ^ (Petal width > 1,5) ^ Sepal length >6,7
Kedua skenario tersebut dijelaskan pada subbab berikut ) Kelas 3
ini.
7. (Petal length >1,9) ^ (Petal width >1,7) ^ (Petal
length≤ 4,8 ) ^ (Sepal Length ≤ 5,9) Kelas 2
7.1 Uji Coba Decision Tree dengan Averaging
8. (Petal length >1,9) ^ (Petal width >1,7) ^ (Petal length
Tahap uji coba algoritma averaging dilakukan pada ≤ 4,8 ) ^ (Sepal Length >5,9) Kelas 2
kedua dataset yaitu dataset Iris dan Breast. Untuk 9. (Petal length >1,9) ^ (Petal width >1,7) ^ (Petal length
melakukan skenario uji coba ini, jumlah dataset yang >4,8 ) Kelas 3
digunakan sebanyak 100 data dengan pembagian 90 untuk
traning set dan 10 untuk testing set. Kemudian uji coba Tabel 2 Hasil Uji Coba dengan Averaging
ini dilakukan sebanyak 10 kali dengan perbedaan
komposisi data traning dan data testing. Tabel 2
Dataset Akurasi
menunjukkan hasil tahap uji coba untuk algoritma
averaging. Sedangkan hasil dari proses pembuatan tree Iris 0,94598
untuk dataset Iris dengan algoritma averaging ditunjukkan Breast 0,935
oleh gambar 3 sebagai berikut:
5
10. (Petal length>1,96) ^ (Petal width>1,72) ^ (Petal
length≤4,85) Kelas 3
6
9. (F23≤115,68) ^ (F28≤0,137) ^ (F23>107,03) ^
(F2>18,77) ^ (F21>16,8) ^ (F28>0,122) Kelas M Dari tabel 4 terlihat bahwa hasil akurasi dari
10. (F23≤115,68) ^ (F28>0,137) ^ (F22≤27,55) ^ distribution based lebih tinggi jika dibandingkan dengan
(F24≤702,29) Kelas B averaging. Terbukti bahwa distribution based lebih baik
11. (F23≤115,68) ^ (F28>0,137) ^ (F22≤27,55) ^ jika dibandingkan dengan averaging.
(F24>702,29) ^ (F22≤20,21) Kelas B
12. (F23≤115,68) ^ (F28>0,137) ^ (F22≤27,55) ^ 8 KESIMPULAN
(F24>702,29) ^ (F22>20,21) ^ (F6≤0,122) ^
(F2≤20,41) Kelas B Kesimpulan yang dapat diambil berdasarkan hasil
13. (F23≤115,68) ^ (F28>0,137) ^ (F22≤27,55) ^ uji coba yang telah dilakukan pada Tugas Akhir ini yaitu :
(F24>702,29) ^ (F22>20,21) ^ (F6≤0,122) ^
Kesimpulan yang dapat diambil dari hasil uji coba
(F2>20,41) Kelas M
dari Tugas Akhir ini adalah sebagai berikut:
14. (F23≤115,68) ^ (F28>0,137) ^ (F22≤27,55) ^
1. Algortima distribution based lebih baik daripada
(F24>702,29) ^ (F22>20,21) ^ (F6>0,122) ^
averaging dibuktikan dengan hasil akurasi yang lebih
(F2≤17,29) Kelas M
tinggi.
15. (F23≤115,68) ^ (F28>0,137) ^ (F22≤27,55) ^
2. Waktu yang diperlukan untuk membangun tree
(F24>702,29) ^ (F22>20,21) ^ (F6>0,122) ^
dengan algoritma distribution based lebih lama jika
(F2>17,29) Kelas M
dibandingkan dengan aloritma averaging.
16. (F23≤115,68) ^ (F28>0,137) ^ (F22>27,55) Kelas
M
17. (F23>115,67) ^ (F7≤0,64) ^ (F30≤0.061) Kelas B
18. (F23>115,67) ^ (F7≤0,64) ^ (F30>0.061) ^ REFERENSI
(F2≤15,40) Kelas B
19. (F23>115,67) ^ (F7≤0,64) ^ (F30>0.061) ^ [1] Agrawal,R, T.Imielinski, and A. N. Swami. Database
(F2>15,40) Kelas M Mining: A Performance Perspective. IEEE Trans.vol
20. (F23>115,67) ^ (F7>0,64) Kelas M 5. pp.914-925. 1993
Tabel 3 Hasil Akurasi dengan Distribution Based [2] Kaufmann , Morgan (1993).C4.5: Programs for
Machine Learning. ISBN 1-55860-238-0
dataset Akurasi
Iris 0,9467 [3] Tsang, Smith, Ben Kao, Kevin Y.Yipi, Wai shing Ho,
and sau Dan Lee. Decision Tree for Uncertain Data.
Breast 0,94044
IEEE Computer Society. 2009
dataset Akurasi
Averaging Distribution
Based
Iris 0,94598 0,9467
Breast 0,935 0,94044
7
1