ANALISIS RULE DECISION TREE DENGAN SELEKSI ATRIBUT
TESIS
SERI RAHMADANI 137038011
PROGRAM MAGISTER S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2017
ANALISIS RULE DECISION TREE DENGAN SELEKSI ATRIBUT TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
SERI RAHMADANI 137038011
PROGRAM MAGISTER S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN
2017
PERSETUJUAN
Judul Tesis : ANALISIS RULE DECISION TREE DENGAN SELEKSI ATRIBUT
Kategori : TESIS
Nama Mahasiswa : SERI RAHMADANI
NIM : 1370380 11
Program Studi : MAGISTER TEKNIK INFORMATIKA
Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
Komisi Pembimbing
Pembimbing 2, Pembimbing 1,
Dr. Zakarias Situmorang Prof. Dr. Muhammad Zarlis, M. Sc NIP: 195990901 198601 1 003 Diketahui/disetujui oleh
Program Studi S2 Teknik Informatika Ketua,
Prof. Dr. Muhammad Zarlis, M.Sc NIP: 19570701 198601 1 003
PERNYATAAN
ANALISIS RULE DECISION TREE DENGAN SELEKSI ATRIBUT
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 3 Agustus 2017
Seri Rahmadani NIM. 1370380 11
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN
AKADEMIS
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : Seri Rahmadani
NIM : 1370380 11
Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Eksklusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:
ANALISI RULE DECISION TREE DENGAN SELEKSI ATRIBUT Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian pernyataan ini dibuat dengan sebenarnya.
Medan, 3 Agustus 2017
Seri Rahmadani NIM. 1370380 11
Telah diuji pada
Tanggal: 3 Agustus 2017
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Muhammad Zarlis, M.Sc
RIWAYAT HIDUP
DATA PRIBADI
Nama Lengkap : Seri Rahmadani
Tempat dan Tanggal Lahir : Padang Sidimpuan, 13 Juni 1983
Alamat Rumah : Jl. Persatuan Gg. Ikhlas No. 12C Sei Agul Telepon/Fax/HP : 082164357770
Email : [email protected]
DATA PENDIDIKAN
SD : SD Negeri 12 Padang Sidimpuan Tahun : 1995
SMP : MTS NU Padang Sidimpuan Tahun : 1998
SMA : MAN 1 Padang Sidimpuan Tahun : 2001
D3: Ilmu Komputer Universitas Sumatera Utara Medan Tahun : 2006 S1: Illmu Komputer Universitas Gadjah Mada Yogyakarta Tahun : 2012 S2 : Teknik Informatika Universitas Sumatera Utara Medan Tahun : 2017
UCAPAN TERIMA KASIH
Puji dan syukur penulis panjatkan kepada Allah SWT atas segala rahmat dan karunia-Nya, sehingga laporan penelitian tesis ini berhasil diselesaikan. Tesis ini adalah salah satu persyaratan untuk memperoleh gelar Magister S2 bagi mahasiswa S2 Program Studi Magister S2 Teknik Informatika Fakultas Ilmu Komputer Dan Teknologi Informasi Universitas Sumatera Utara.
Penulis mengucapkan terima kasih yang tulus kepada semua pihak yang telah memberikan bantuan dan dukungannya sehingga laporan ini dapat terselesaikan.
Ucapan terima kasih penulis sampaikan kepada:
1. Umak, alm. papa, kakak, abang, dan adikku serta mertua, yang senantiasa memberi dukungan, doa dan perhatian, dan kasih sayangnya yang telah membuat saya bisa menyelesaikan kuliah di USU ini. Semoga Allah selalu memberikan rahmat, hidayah dan kebaikan untuk kalian semua
2. Suamiku tercinta Awaluddin Dongoran atas kesabarannya dan kebaikannya, terima kasih dan maafkan adekmu ini ya abangku sayang. Anak-anakku tersayang Kindi dan Zaydan yang terabaikan selama penulis menyusun tesis ini, maafin mama ya mang.
3. Bapak Dr. Zakarias Situmorang dan Prof. Dr. Muhammad Zarlis, M.Sc sebagai dosen pembimbing tesis atas bimbingan dan arahan yang diberikan.
4. Bapak Prof. Dr. Herman Mawengkang dan Dr. Syahril Efendi S.Si, M.IT sebagai dosen penguji.
5. Staf pengajar dan karyawan Program Studi Magister S2 Teknik Informatika Fakultas Ilmu Komputer Dan Teknologi Informasi Universitas Sumatera Utara.
6. Rekan-rekan S2 Teknik Informatika angkatan 2013, dila (mak comlang), winda, kak ari, kak erma, dan teman-teman yang lain, yang telah mengisi hari-hari perkuliahan penulis di USU. Terima kasih untuk setiap kenangan yang tidak terlupakan selama masa perkuliahan.
Penulis menyadari bahwa tesis ini masih jauh dari sempurna, untuk itu penyusun sangat terbuka untuk semua saran dan kritik yang bertujuan untuk perbaikan di masa yang akan datang.
Medan, 3 Agustus 2017 Penulis
Seri Rahmadani
ABSTRAK
Algoritma decision tree merupakan salah satu teknologi model prediksi dalam data mining, yang digunakan untuk mengklasifikasi suatu obyek data, decision tree sangat baik dalam menangani data non numerik, algoritma genetika digunakan sebagai metode untuk mengoptimasi. Dalam penelitian ini penulis akan melakukan pengoptimasian terhadap rule yang dihasilkan oleh algoritma decision tree untuk meningkatkan nilai akurasi, dengan menyeleksi atribut pada data set dan crossover yang digunakan adalah pmx crossover. Hasil penelitian menunjukkan bahwa dengan menggunakan algoritma decision tree menghasilkan akurasi sebesar 68.00%, setelah dilakukan pengoptimasian didapat sebesar 74.00%.
Kata Kunci: Data Mining, Decision Tree, C4.5, Algoritma Genetika, Seleksi, PMX Crossover
ABSTRACT
Decision Tree algorithm is one of data mining prediction model technology, used for object data classification, decision tree is good for handle non numeric data, genetic algorithm is used for optimized method. This Research writer would optimized output decision tree algorithm is rule, for increase percentage of accuracy, with attribute selection on data set and using pmx crossover. The result of research shows by using decision tree algorithm achieved with percentage of 68.00% accuracy, after optimized achieved with percentage of 74.00% accuracy
Keywordsi: Data Mining, Decision Tree, C4.5, Genetic Algorithm, Selection, PMX Crossover
DAFTAR ISI
Halaman
HALAMAN JUDUL ... i
PERSETUJUAN ... ii
PERNYATAAN ORISINALITAS ... iii
PERSETUJUAN PUBLIKASI ... iv
PANITIA PENGUJI ... v
RIWAYAT HIDUP ... vi
UCAPAN TERIMA KASIH ... vii
ABSTRAK ... ix
ABSTRACT ... x
DAFTAR ISI ... xi
DAFTAR GAMBAR ... xii
DAFTAR TABEL ... xiii
BAB 1 PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Rumusan Masalah ... 2
1.3 Batasan Masalah ... 2
1.4 Tujuan Penelitian ... 2
1.5 Manfaat Penelitian ... 3
BAB 2 TINJAUAN PUSTAKA ... 4
2.1 Decision Tree ... 4
2.1.1 Algoritma C4.5 ... 5
BAB 3 METODOLOGI PENELITIAN ... 10
3.1 Pendahuluan ... 10
3.2 Data Set ... 10
3.3 Pembelajaran Dengan Decision Tree ... 11
3.4 Pembelajaran Decision Tree Dengan Seleksi Atribut ... 21
3.5 Siklus Algoritma Genetika ... 25
BAB 4 HASIL DAN PEMBAHASAN ... 29
4.1 Pendahuluan ... 29
4.2 Dataset ... 29
4.3 Pengujian Akurasi Pembelajaran Dengan Decision Tree ... 29
4.4 Pengujian Akurasi Pembelajaran Dengan Decision Tree dengan seleksi atribut... 33
BAB 5 KESIMPULAN DAN SARAN ... 37
5.1 Kesimpulan ... 37
5.2 Saran ... 37
DAFTAR PUSTAKA ... 38
DAFTAR GAMBAR
Halaman
Gambar 2.1 Model Decision Tree ... 4
Gambar 2.2. Siklus Algoritma Genetika ... 8
Gambar 3.1 Pembelajaran Dengan Decision Tree ... 11
Gambar 3.2 Hasil Akhir Induksi Decision Tree ... 20
Gambar 3.3 Pembelajaran Decision Tree Dengan Seleksi Atribut ... 22
Gambar 4.1 Pohon Keputusan Pembelajaran Dengan Decision Tree ... 31
Gambar 4.2 Pohon Keputusan Pembelajaran Decision Tree Dengan Seleksi Atribut ... 34
DAFTAR TABEL
Halaman
Tabel 2.1 Matriks Confusion ... ... 7
Tabel 3.1 Data Set German Credit ... 12
Tabel 3.2 Posisi v untuk pemecahan atribut ‘credit amount’ ... 16
Tabel 3.3 Hasil perhitungan entropi dan information gain untuk simpul akar ... 17
Tabel 3.4 Hasil pemisahan data oleh atribut ‘savings account/bonds’ ... 18
Tabel 3.5 Hasil perhitungan entropi dan information gain untuk simpul dua ... 19
Tabel 3.6 Hasil pemisahan data oleh atribut ‘credit amount’ ... 20
Tabel 3.7 Dataset German Credit Card ... 23
Tabel 3.8 Credit Hostory ... 23
Tabel 3.9 Kode Credit Amount ... 24
Tabel 4.1 Matriks Confusion Pembelajaran Dengan Decision Tree ... 33
Tabel 4.2 Matriks Confusion Pembelajaran Decision Tree Dengan Seleksi Atribut ... 36
BAB I PENDAHULUAN
1.1 Latar Belakang Masalah
Perkembangan teknologi penyimpanan data berkembang seiring dengan peningkatan jumlah data yang ada, kebutuhan metode untuk pengolahan basis data yang berukuran besar tersebut memunculkan data mining sebagai jawaban untuk menyelesaikan persoalan ini. Algoritma decision tree merupakan salah satu teknologi model prediksi dalam data mining, yang digunakan untuk mengklasifikasi suatu obyek data, salah satu variabel decision tree memiliki label berupa class yang nantinya sistem akan menggunakan informasi tersebut untuk membangun model berupa pohon keputusan yang dapat dinyatakan dalam bentuk aturan atau rule (if ... then …).
Apabila dibandingkan dengan metode klasifikasi lain seperti neural network, decision tree memiliki kualitas yang lebih baik untuk menangani data non numerik dan dapat dipahami lebih mudah, neural network membutuhkan banyak parameter ketika dijalankan dan membutuhkan waktu yang lama untuk proses pembelajaran (Zheng, 2007), support vector machine memiliki precision yang tinggi tetapi hasil tidak bisa dipahami dengan mudah. Pada penelitian sebelumnya [Dong-sheng Liu dan Shu-jiang Fan, 2014] melakukan modifikasi terhadap decision tree dengan algoritma genetika, akurasi sebelum dilakukan modifikasi sebesar 68.20%, sesudah dilakukan modifikasi mengalami peningkatan sebesar 73.82%. Penelitian yang dilakukan [Micheal Camilleri dan Filippo Neri, 2014], juga menggunakan algoritma genetika sebagai meta-optimizer untuk menemukan parameter yang optimal pada decision tree.
2
Algoritma decision tree yang digunakan peneliti adalah C4.5, C4.5 adalah perbaikan dari algoritma decision tree sebelumnya yaitu ID3, sebagai versi perbaikan dari ID3, yang membedakan algoritma C4.5 dari ID3 yaitu selain dapat menangani data kategorikal, juga dapat menangani data fitur dengan tipe numerik, melakukan pemotongan (pruning) decision tree dan penurunan (deriving) rule set. Decision tree seringkali, tidak bisa memberikan rule yang optimal, sehingga kita membutuhkan metode untuk mengoptimasi, algoritma genetika seringkali digunakan sebagai metode untuk mengoptimasi. Pada penelitian ini, penulis akan melakukan pengoptimasian terhadap rule yang dihasilkan oleh algoritma decision tree dengan seleksi atribut dan crossover yang digunakan yaitu pmx crossover, untuk menghasilkan rule yang lebih optimal sehingga mendapatkan akurasi yang lebih baik dibandingkan sebelum dilakukan pengotimalan terhadap algoritma decision tree.
1.2 Rumusan Masalah
Berdasarkan latar belakang yang dijelaskan, maka permasalahan yang di analisis adalah akurasi terhadap data uji yang diperoleh untuk mendapatkan rule yang lebih optimal.
1.3 Batasan Masalah
Dalam penelitian ini terdapat beberapa batasan masalah yang dilakukan, yaitu:
1. Algoritma decision tree yang digunakan adalah C4.5
2. Dataset yang digunakan diperoleh dari UCI Machine Learning Repository.
3. Studi kasus terhadap dataset layak atau tidak layak untuk mendapatkan kartu kredit.
4. Algoritma optimasi yang digunakan adalah algoritma genetika dengan seleksi atribut dan crossover yang digunakan yaitu PMX Crossover.
1.4 Tujuan Penelitian
Tujuan penelitian ini adalah mengoptimalkan hasil decision tree yaitu rule dengan seleksi atribut dan jenis crossover yang digunakan yaitu PMX Crossover (Partial
3
Mapping Crossover), sehingga diharapkan dapat meningkatkan nilai akurasi pengklasifikasian pada data yang baru.
1.5 Manfaat Penelitian
Memberikan kemudahan untuk pemodelan dan pengklasifikasian data yang belum memiliki kelas data.
BAB 2
TINJAUAN PUSTAKA
2.1 Decision Tree
Salah satu metode dalam data mining yang umum digunakan untuk klasifikasi adalah decision tree. Decision tree adalah struktur flowchart yang menyerupai pohon (tree), dimana setiap simpul internal menandakan atribut yang telah diuji, setiap cabang mewakili pembagian hasil uji dan simpul daun merepresentasikan kelas. Simpul teratas pada pohon adalah simpul akar yang biasanya berupa atribut yang paling memiliki pengaruh terbesar pada suatu kelas tertentu. Decision tree ditunjukkan pada gambar 2.1. Gambar 2.1 menunjukkan konsep pembelian komputer, yaitu meramalkan kemungkinan apakah pelanggan akan atau tidak membeli komputer. Simpul internal dilambangkan dengan persegi panjang dan simpul daun dilambangkan dengan oval.
`
Gambar 2.1 Model Decision Tree (Han dan Kamber, 2001)
5
Pada umumnya Decision tree melakukan strategi pencarian secara top-down untuk solusinya. Proses dalam decision tree adalah mengubah bentuk data menjadi pohon keputusan (decision tree) dan mengubah model tree menjadi keputusan (rule), kemudian menyederhanakan rule (pruning). Ketika decision tree dibangun, banyak cabang dapat mencerminkan noise pada data training, pruning mencoba untuk mengindentifikasi dan menghilangkan beberapa cabang-cabang, dengan tujuan meningkatkan akurasi klasifikasi pada data yang baru. Yang menjadi hal penting dalam induksi decision tree adalah bagaimana menyatakan syarat pengujian pada simpul. Ada 3 kelompok penting dalam syarat pengujian node yaitu fitur biner, fitur bertipe kategorikal dan fitur bertipe numerik
2.1.1 Algoritma C4.5
Algoritma C4.5 diperkenalkan oleh Quinlan (1996) sebagai versi perbaikan dari ID3.
Dalam ID3, induksi decision tree dapat bekerja dengan baik pada semua atribut data bertipe kategorikal (nominal atau ordinal), perbaikan yang membedakan algoritma C4.5 dari ID3 adalah dapat menangani atribut dengan tipe numerik (interval atau rasio). Berikut proses induksi atau proses pembuatan model decision tree dengan algoritma C4.5.
1. Dimulai dari node akar.
2. Untuk semua atribut, hitung nilai entropi untuk semua sampel (data training) pada simpul.
3. Pilih atribut dengan Information Gain yang maksimal.
4. Gunakan atribut tersebut sebagai simpul pemecah menjadi cabang.
5. Lakukan secara rekursif pada setiap cabang yang dibuat dengan mengulangi langkah 2 sampai 4 hingga semua data dalam setiap simpul hanya memberikan satu label kelas. Simpul yang tidak dapat dipecah lagi merupakan daun yang berisi keputusan (label kelas).
6
𝑝(𝜔 ! | 𝑠) adalah proporsi kelas ke-i dalam semua data training yang diproses di simpul s. 𝑝(𝜔 ! | 𝑠) didapatkan dari jumlah baris data dengan label kelas I dibagi jumlah baris semua data. Sementara m adalah jumlah nilai berbeda dalam data.
Entropi digunakan untuk menentukan simpul yang manakah yang akan menjadi pemecah data training berikutnya. Nilai entropi yang lebih tinggi akan meningkatkan potensi klasifikasi. Yang perlu diperhatikan adala jika entropi untuk simpul bernilai 0 berarti semua data berada pada label kelas yang sama dan simpul tersebut menjadi daun yang berisi keputusan (label kelas). daun yang berisi keputusan (label kelas).
Yang juga perlu diperhatikan dalam perhitungan entropy adalah jika salah satu elemen 𝜔 ! jumlahnya 0 maka entropy dipastikan 0 juga. Jika proporsi semua elemen 𝜔 ! sama jumlahnya maka dipastikan entropi bernilai 1.
Information Gain digunakan untuk memperkirakan pemilihan atribut yang tepat untuk menjadi pemecah pada simpul tersebut. Information Gain sebuah atribut ke-j dihitung menggunakan persamaan berikut:
𝐺 𝑠, 𝑗 = 𝐸 𝑠 − !!!!𝑝(𝑣! 𝑠 x 𝐸(𝑠! ) (2.2) p(vi | s) proporsi nilai v muncul pada kelas dalam kelas dalam simpul. E(si) adalah entropi komposisi nilai v dari kelas ke-j dalam data ke-i simpul tersebut, n adalah jumlah nilai berbeda dalam simpul.
2.2 Evaluasi Kinerja Metode Klasifikasi 2.2.1 Akurasi
Perkiraan keakuratan dalam suatu metode klasifikasi sangat penting untuk dapat mengevaluasi bagaimana keakuratan metode klasifikasi yang akan memperbaiki label class data yang akan datang yaitu data yang belum di-training oleh metode klasifikasi. Matriks confusion merupakan tabel yang mencatat hasil kinerja klasifikasi. Tabel 2.1 merupakan contoh matriks confusion yang melakukan klasifikasi masalah biner untuk dua kelas, misalnya kelas 1 dan kelas 0. Setiap sel fij
dalam matriks menyatakan jumlah record/data dari kelas i yang hasil prediksinya masuk ke kelas j. Misalnya sel f11 adalah jumlah data dalam kelas 1 yang secara benar
7
dipetakan ke kelas 1, dan f10 adalah data dalam kelas 1 yang dipetakan secara salah ke kelas 0.
Tabel 2.1 Matriks Confusion
f
ij Kelas hasil prediksi (j)Kelas = 1 Kelas = 0
Kelas asli (i)
Kelas = 1 f11 f10
Kelas = 0 f01 f00
Berdasarkan isi matriks confusion, maka dapat diketahui jumlah data dari masing- masing kelas yang diprediksi secara benar yaitu (f11 + f00) dan data yang diklasifikasikan secara salah yaitu (f10 + f01), dengan mengetahui jumlah data yang diklasifikasikan secara benar maka dapat diketahui akurasi klasifikasi hasil prediksi, untuk menghitung akurasi digunakan formula sebagai berikut:
Akurasi = Jumlah data yang diprediksi secara benar Jumlah data prediksi yang dilakukan = f11 + f00
f11 + f10 + f01 + f00
2.3 Algoritma Genetika
Algoritma genetika mencoba untuk menggabungkan ide-ide evolusi alam. Pada algoritma ini akan menghasilkan rule secara acak. masing-masing rule dapat disajikan dalam bentuk string bit. Misalnya, dalam suatu data training dideskripsikan dalam dua atribut yaitu A1 dan A2 dan ada dua kelas yaitu C1 dan C2. Misalkan terdapat rule “If A1 And Not A2 Then C2” akan dikodekan dalam suatu bit ‘100’, atau rule “If
8
David Goldberg adalah orang yang pertama kali memperkenalkan siklus algoritma genetika yang digambarkan seperti pada gambar 2.2. Siklus dimulai dari membuat populasi awal secara acak, kemudian setiap individu dihitung nilai fitness- nya. Proses berikutnya adalah menyeleksi individu terbaik, kemudian dilakukan crossover dan dilanjutkan oleh proses mutase sehingga terbentuk populasi baru.
Selanjutnya populasi baru ini mengalami siklus yang sama dengan populasi sebelumnya. Proses ini berlangsung terus hingga generasi ke-n.
Gambar 2.2. Siklus Algoritma Genetika Yang Diperkenalkan Oleh David Goldberg
Fase awal dari algoritma genetika adalah inisialisasi populasi yang menyatakan alternatif solusi. Elemen dari populasi adalah dideskripsikan dalam bentuk deretan bit string yang berisi bit 0 atau 1 yang disebut sebagai kromosom.
Kemudian langkah selanjutnya adalah menghitung nilai fitness berdasarkan gen yang ada pada kromosom dalam tiap populasi. Berdasarkan nilai fitness dari tiap koromosom, maka tahapan selanjutnya adalah tahapan seleksi yang berfungsi untuk memilih kromosom yang terpilih sebagai parent yang akan menjalani crossover.
Proses crossover yang berjalan dengan beberapa variasi operator crossover berperan penting dalam membentuk kromosom anak (offspring) yang juga berperan penting untuk menambah keanekaragaman string di dalam suatu populasi.
Populasi Awal
Evaluasi Fitness
Seleksi Individu
Reproduksi:
Crossover Dan Mutasi Populasi
Baru
9
Kromosom selanjutnya akan masuk ke dalam tahap mutasi yang berfungsi untuk memastikan bahwa keanekaragaman (diversity) dari kromosom dalam suatu populasi tetap terjaga, untuk menghindari terjadinya konvergensi prematur yang berujung pada terjadinya solusi yang local optima.
2.3.1 Cross-Over (Pindah Silang) Metode Partial-Mapped CrossOver (PMX) Metode ini diciptakan oleh Goldberg dan Lingle dengan langkah-langkah berikut:
a. Tentukan dua posisi (P1 dan P2) pada individu secara random. Substring yang berbeda dalam dua posisi ini disebut daerah pemetaan.
b. Tukar dua substring antar dua induk untuk menghasilkan proto-child.
c. Di antara daerah dua pemetaan, tentukan hubungannya.
d. Mengacu pada hubungan pemetaan tadi, tentukan individu ketutunannya.
BAB 3
METODOLOGI PENELITIAN
3.1 Pendahuluan
Klasifikasi digunakan untuk menemukan model atau fungsi yang menggambarkan dan membedakan konsep atau kelas data, dengan tujuan menggunakan model tersebut untuk memprediksi kelas dari suatu obyek yang label kelasnya tidak diketahui.
Algoritma decision tree merupakan salah satu teknologi model prediksi dalam data mining, yang digunakan untuk mengklasifikasi suatu obyek data. Konsep data dalam decision tree adalah data dinyatakan dalam bentuk tabel dengan atribut dan record. Atribut menyatakan suatu parameter yang dibuat sebagai kriteria dalam pembentukan tree. Salah satu atribut merupakan atribut yang menyatakan data solusi tiap item data yang disebut dengan target atribut atau kelas. Atribut memiliki nilai-nilai yang dinamakan dengan instance.
Pengoptimasian terhadap rule dengan algoritma genetika diharapkan menghasilkan model rule yang lebih optimal untuk mendapatkan akurasi yang lebih baik.
3.2 Data Set
Data yang digunakan adalah data set German Credit Data yang diperoleh dari UCI Machine Learning Repository, jumlah atribut German adalah 21, jumlah instances adalah 1000 data.
\\
11
3.3 Pembelajaran Dengan Decision Tree
Pada tahap ini, dilakukan pembelajaran dengan menggunakan decision tree dengan algoritma C4.5 terhadap data training, berikut langkah-langkah tahap pembelajaran dengan decision tree:
Gambar 3.1 Pembelajaran Dengan Decision Tree Berikut proses induksi atau proses pembuatan model algoritma C4.5:
1. Dimulai dari node akar.
2. Untuk semua atribut, hitung nilai entropi untuk semua sampel (data training) pada simpul.
3. Pilih atribut dengan Information Gain yang maksimal.
4. Gunakan atribut tersebut sebagai simpul pemecah menjadi cabang.
5. Lakukan secara rekursif pada setiap cabang yang dibuat dengan Data Training
C4.5
Model dan Rule
Data Testing
Akurasi
12
Proses untuk node akar dimulai dari simpul akar, harus dihitung dulu entropi untuk simpul akar (semua data) terhadap komposisi kelas. Misalnya diambil beberapa sampel data dari data set German Credit Data, seperti pada tabel 3.1.
Tabel 3.1 Data Set German Credit Job Personal Status
And Sex
Credit History
Savings account/bonds
Credit Amount
Class
A173 A93 A34 A65 1169 Good
A172 A91 A32 A64 3059 Good
A174 A94 A34 A61 5234 Bad
A173 A92 A32 A61 4308 Bad
A173 A92 A32 A61 1567 Good
A172 A92 A32 A62 1282 Bad
A173 A93 A30 A65 8072 Good
A174 A92 A32 A61 12579 Bad
A171 A92 A32 A63 1352 Good
A172 A93 A31 A65 783 Good
A173 A93 A33 A61 4870 Bad
Entropi dapat dihitung dengan menggunakan persamaan berikut:
𝐸 𝑠 = − !!!!𝑝(𝜔! 𝑠 log!𝑝(𝜔! | 𝑠)
E(class) = - [ ((good|class) x log2 (good|class)) + ((bad|class) x log2 (bad|class))]
= - [ ((6/11) x log2 (6/11)) + ((5/11) x log2 (5/11)) ] = 0.9940
Selanjutnya dihitung entropi untuk setiap nilai fitur terhadap kelas, kemudian dihitung information gain untuk setiap fitur. Untuk nilai entropi dalam ‘job’ didapat:
13
E(class_A171) = - [ ((good|A171) x log2 (good|A171)) + ((bad|A171) x log2
(bad|A171)) ]
= - [ ((1/1) x log2 (1/1)) + ((0/1) x log2 (0/1)) ]
= 0
E(class_A172) = - [ ((good|A172) x log2 (good|A172)) + ((bad|A172) x log2
(bad|A172)) ]
= - [ ((2/3) x log2 (2/3)) + ((1/3) x log2 (1/3)) ]
= 0.5490
E(class_A173) = - [ ((good|A173) x log2 (good|A173)) + ((bad|A173) x log2
(bad|A173)) ]
= - [ ((3/5) x log2 (3/5)) + ((2/5) x log2 (2/5)) ]
= 0.9710
E(class_A174) = - [ ((good|A174) x log2 (good|A174)) + ((bad|A174) x log2
(bad|A174)) ]
= - [ ((0/2) x log2 (0/2)) + ((2/2) x log2 (2/2)) ]
= 0
Information_ gain_job = E(class) − !!!!𝑝(𝑣! 𝑠𝑒𝑚𝑢𝑎 𝑥 𝐸 (𝑐𝑙𝑎𝑠𝑠!"#)
= 0.9940 – [ ((1/11)x0) + ((3/11)x0.5490) + ((5/11)x0.9710) + ((2/11)x0) ]
= 0.4029
Selanjutnya dihitung entropi ‘personal status and sex’, maka didapat:
E(class_A91) = - [ ((good|A91) x log2 (good|A91)) + ((bad|A91) x log2 (bad|A91))]
14
E(class_A92) = - [ ((good|A92) x log2 (good|A92)) + ((bad|A92) x log2 (bad|A92))]
= - [ ((3/5) x log2 (3/5)) + ((2/5) x log2 (2/5)) ] = 0.9710
E(class_A93) = - [ ((good|A93) x log2 (good|A93)) + ((bad|A93) x log2 (bad|A93))]
= - [ ((3/4) x log2 (3/4)) + ((1/4) x log2 (1/4)) ] = 0.9183
E(class_A94) = - [ ((good|A94) x log2 (good|A94)) + ((bad|A94) x log2 (bad|A94))]
= - [ ((0/1) x log2 (0/1)) + ((1/1) x log2 (1/1)) ] = 0
Information_gain_personal = 0.9940 - [ ((1/11)x0) + ((5/11)x0.9710) + ((4/11)x0.9183) + ((1/11)x0) ]
= 0.2187
Selanjutnya dihitung entropi ‘credit history’, maka didapat:
E(class_A30) = - [ ((good|30) x log2 (good|A30)) + ((bad|30) x log2 (bad|A30))]
= - [ ((1/1) x log2 (1/1)) + ((0/1) x log2 (0/1)) ] = 0
E(class_A31) = - [ ((good|A31) x log2 (good|A31)) + ((bad|A31) x log2 (bad|A31))]
= - [ ((1/1) x log2 (1/1)) + ((0/1) x log2 (0/1)) ] = 0
E(class_A32) = - [ ((good|A32) x log2 (good|A32)) + ((bad|A32) x log2 (bad|A32))]
= - [ ((3/6) x log2 (3/6)) + ((3/6) x log2 (3/6)) ] = 1.0000
15
E(class_A33) = - [ ((good|A33) x log2 (good|A33)) + ((bad|A33) x log2 (bad|A33))]
= - [ ((0/1) x log2 (0/1)) + ((1/1) x log2 (1/1)) ] = 0
E(class_A34) = - [ ((good|A34) x log2 (good|A34)) + ((bad|A34) x log2 (bad|A34))]
= - [ ((1/2) x log2 (1/2)) + ((1/2) x log2 (1/2)) ] = 1.000
Information_gain_credit_history = 0.9940 - [ ((1/11)x0) + ((1/11)x0) + ((6/11)x1.000) + ((1/11)x0) + ((2/11)x1.000) ]
= 0.2667
Selanjutnya dihitung entropi ‘savings account/bonds‘, maka didapat:
E(class_A61) = - [ ((good|A61) x log2 (good|A61)) + ((bad|A61) x log2 (bad|A61))]
= - [ ((1/5) x log2 (1/5)) + ((4/5) x log2 (4/5)) ] = 0.7219
E(class_A62) = - [ ((good|A62) x log2 (good|A62)) + ((bad|A62) x log2 (bad|A62))]
= - [ ((0/1) x log2 (0/1)) + ((1/1) x log2 (1/1)) ] = 0
E(class_A63) = - [ ((good|A63) x log2 (good|A63)) + ((bad|A63) x log2 (bad|A63))]
= - [ ((1/1) x log2 (1/1)) + ((0/1) x log2 (0/1)) ] = 0
E(class_A64) = - [ ((good|A64) x log2 (good|A64)) + ((bad|A64) x log2 (bad|A64))]
= - [ ((1/1) x log2 (1/1)) + ((0/1) x log2 (0/1)) ]
16
E(class_A65) = - [ ((good|A65) x log2 (good|A65)) + ((bad|A65) x log2 (bad|A65))]
= - [ ((3/3) x log2 (3/3)) + ((0/3) x log2 (0/3)) ] = 0
Information_gain_savings_account = 0.9940 - [ ((5/11)x0.7219) + ((1/11)x0) + ((1/11)x0) + ((1/11)x0) + ((3/11)x0) ]
= 0.6659
Selanjutnya dihitung entropi ‘credit amount’, credit amount adalah atribut bertipe numerik, harus ditentukan posisi v yang terbaik untuk pemecahan,disini kita gunakan pemecahan biner, atribut yang hanya mempunyai dua nilai berbeda. Hasil perhitungan entropi dan nilai gain-nya disajikan pada tabel 3.2.
Tabel 3.2 Posisi v untuk pemecahan atribut ‘credit amount’
Credit Amount 1282 4870 8072
<= > <= > <= >
Good 2 4 5 1 6 0
Bad 1 4 3 2 4 1
IG 0.0163 0.0494 0.1113
Nilai information gain tertinggi didapatkan pada posisi v = 8072
17
Tabel 3.3 Hasil perhitungan entropi dan information gain untuk simpul akar
Simpul Jml Good Bad Entropi IG
1 Total 11
Job 0.4029
A171 1 1 0 0
A172 3 2 1 0.5490
A173 5 3 2 0.9710
A174 2 0 2 0
Personal Status & Sex
0.2187
A91 1 1 0 0
A92 5 3 2 0.9710
A93 4 3 1 0.9183
A94 1 0 1 0
Credit History 0.2667
A30 1 1 0 0
A31 1 1 0 0
A32 6 3 3 1.000
A33 1 0 1 0
A34 2 1 1 1.000
Savings
account/bonds 0.6659
A61 5 1 4 0.7219
A62 1 0 1 0
A63 1 1 0 0
A64 1 1 0 0
A65 3 3 0 0
Credit
Amount 0.1113
<= 8072 10 6 4 0.9710
> 8072 1 0 1 0
Hasil yang didapat pada tabel 3.3 menunjukkan bahwa information gain tertinggi ada pada atribut ‘savings account/bonds’, sehingga atribut ‘savings account/bonds’
dijadikan sebagai simpul akar. Untuk cabangnya, digunakan 3 nilai di dalam simpul akar. Selanjutnya data akan terpecah menjadi 3 kelompok, yaitu ‘A61’, ‘A62’, dan‘A63’ sampai dengan ‘A65’. Pemisahan data yang didapatkan dari atribut ‘savings
18
Tabel 3.4 Hasil pemisahan data oleh atribut ‘savings account/bonds’
Savings account/bonds
Job Personal Status And Sex
Credit History
Credit Amount
Class
A61 A173 A92 A32 4308 Bad
A61 A173 A93 A33 4870 Bad
A61 A174 A94 A34 5234 Bad
A61 A174 A92 A32 12579 Bad
A61 A173 A92 A32 1567 Good
A62 A172 A92 A32 1282 Bad
A63 A171 A92 A32 1352 Good
A64 A172 A91 A32 3059 Good
A65 A173 A93 A34 1169 Good
A65 A173 A93 A30 8072 Good
A65 A172 A93 A31 783 Good
Untuk simpul di cabang A62, entropi bernilai nol, sehingga dapat dipastikan semua data di cabang A62, masuk di kelas yang sama dan simpul yang tuju A62 menjadi daun atau node terminal. Simpul di cabang A63, A64 dan A65, entropi-nya juga bernilai nol, sehingga dapat dipastikan semua data di cabang A63 sampai dengan A65, masuk di kelas yang sama dan simpul yang dituju oleh cabang A63 sampai dengan A65 menjadi node daun atau node terminal.
Dalam perhitungan entropi dan information gain berikutnya, atribut ‘savings account/bonds’ tidak dilibatkan. Untuk simpul internal di cabang A61 didapat hasil seperti berikut:
19
Tabel 3.5 Hasil perhitungan entropi dan information gain untuk simpul dua
Simpul Jml Good Bad Entropi IG
2 Total 5 1 4
Job 0.4430
A173 3 1 2 0.9183
A174 2 0 2 0
Personal Status
& Sex
0.4430
A92 3 1 2 0.9183
A93 1 0 1 0
A94 1 0 1 0
\ Credit History 0.4430
A32 3 1 2 0.9183
A33 1 0 1 0
A34 1 0 1 0
Credit Amount
<= 4308 2 1 1 1.000 0.5940
> 4308 5 0 3 0
Hasil yang didapat di tabel 3.5, gain tertinggi adalah ‘credit amount’maka dijadikan sebagai simpul internal (simpul 2) dengan cabang <= 4308 dan > 4308. Cabang
<=4308 bernilai 1 sehingga bisa dipastikan semua elemen bernilai sama dan > 4308 bernilai nol, yang menjadi simpul terminal. Pemisahan data yang didapatkan dari atribut ‘credit amount’ disajikan pada table 3.6 dan hasil akhir induksi decision tree disajikan pada gambar 3.2.
20
Tabel 3.6 Hasil pemisahan data oleh atribut ‘credit amount’
Savings account/bonds
Job Personal Status And Sex
Credit History
Credit Amount
Class
A61 A173 A92 A32 4308 Bad
A61 A173 A93 A33 4870 Bad
A61 A174 A94 A34 5234 Bad
A61 A174 A92 A32 12579 Bad
A61 A173 A92 A32 1567 Good
A62 A172 A92 A32 1282 Bad
A63 A171 A92 A32 1352 Good
A64 A172 A91 A32 3059 Good
A65 A173 A93 A34 1169 Good
A65 A173 A93 A30 8072 Good
A65 A172 A93 A31 783 Good
Untuk Kasus “Apakah kriteria pengajuan customer kredit bank ‘good’ atau ‘bad’
seperti pada gambar 3.2.
1
A61 A62 A63..A65 2
< 4308 >= 4308
Gambar 3.2 Hasil Akhir Induksi Decision Tree savings
good credit_amount
good bad
bad
21
Pohon keputusan yang dihasilkan juga dapat dinyatakan dalam bentuk aturan IF THEN atau rule sebagai berikut:
IF savings account/bonds = A61 AND credit amount < 4308 THEN customer is good IF savings account/bonds = A61 AND credit amount >= 4308 THEN customer is bad IF savings account/bonds = A62 THEN customer is bad
IF savings account/bonds = A63 THEN customer is good IF savings account/bonds = A64 THEN customer is good IF savings account/bonds = A65 THEN customer is good
3.4 Pembelajaran Decision Tree Dengan Seleksi Atribut
Data set 100% dibagi menjadi dua bagian, yaitu 90% untuk data training, 10% untuk data testing, data training dilatih dengan algoritma decision tree yaitu C4.5, dengan kriteria pemilihan atribut yaitu information gain, dibahas pada sub bab sebelumnya.
Berikut langkah-langkah pembelajaran decision tree dengan seleksi atribut seperti pada gambar 3.3.
22
Gambar 3.3 Pembelajaran Decision Tree Dengan Seleksi Atribut
Sebelum memasuki tahap pengoptimasian dengan algoritma genetika, data harus dikodekan terlebih dahulu, dengan menggunakan pengkodean diskrit desimal yaitu nilai gen berupa bilangan bulat dalam interval [0 … 9]. Data Set terdiri dari 20 atribut, 20 atribut tersebut akan dikodekan menjadi gen, nilai gen didapat nilai desimal masing-masing gen. Setelah dikodekan, data tersebut diolah menggunakan tahapan algoritma genetika yaitu seleksi, crossover dan mutasi. Berikut daftar nilai atribut yang akan dikodekan dari table 3.1 yang diambil dari beberapa sampel data dari data set German Credit Data.
Algoritma C4.5 Data Training
Rule Pembentukan
Populasi dan Seleksi
Data Testing Crossover dan Mutasi
Akurasi
Fitness
Model Tree
Data Testing
Akurasi
Analisi Perbandingan
23
Tabel 3.7 Dataset German Credit Data
Tabel 3.8 Credit History Job Description Kode Personal
Status And Sex
Description Kode
A171 unemployed/
unskilled/non resident
1 A91 male: divorced/separated 1
A172 unskilled/resident 2 A92 female:
divorced/separated/married 2 A173 skilled employee /
official 3 A93 male: single 3
A174 management/ self- employed/ highly qualified employee/
officer
4 A94 male: married/widowed 4
A95 female: single 5
Credit History
Description Kode Savings
Account/Bonds
Description Kode A30 no credits taken/all
credits paid back duly
1 A61 ... < 100 DM 1
A31 all credits at this bank paid back duly
2 A62 100 <= ... < 500 DM
2 A32 existing credits paid
back duly till now
3 A63 500 <= ... < 1000 DM
3
A33 delay in paying off in the past
4 A64 .. >= 1000 DM
4
A34 critical account/other credits existing (not at this bank)
5 A65 unknown/ no
savings account 5
24
Untuk data numerik kita gunakan pengkodean berikut ini:
< = 2000 : 1
>2000 .. < = 4000 : 2
>4000 .. < = 6000 : 3
>6000 .. < = 8000 : 4
>8000 : 5
Tabel 3.9 Kode Credit Amount Credit Amount Kode
1169 1
3059 2
5234 3
4308 3
1567 1
1282 1
8072 5
12579 5
1352 1
783 1
4870 3
A173 A93 A34 A65 1169 = 3 3 5 5 1 A172 A91 A32 A64 3059 = 2 1 3 4 2 A174 A94 A34 A61 5234 = 4 4 5 1 3 A173 A92 A32 A61 4308 = 3 2 3 1 3 A173 A92 A32 A61 1567 = 3 2 3 1 1 A172 A92 A32 A62 1282 = 2 2 3 2 1 A173 A93 A30 A65 8072 = 3 3 1 5 5 A174 A92 A32 A61 12579 = 4 2 3 1 5 A171 A92 A32 A63 1352 = 1 2 3 3 1 A172 A93 A31 A65 783 = 2 3 2 5 1 A173 A93 A33 A61 4870 = 3 3 4 1 3
25
3.5 Siklus Algoritma Genetika
Berikut ini akan dijelaskan contoh penyelesaian masalah menggunakan algoritma genetika.
1. Populasi Awal dan Evaluasi Fitness 3 3 5 5 1 = 17
2 1 3 4 2 = 12 4 4 5 1 3 = 17 3 2 3 1 3 = 12
3 2 3 1 1 = 10 à 4 4 5 1 3 = 17 2 2 3 2 1 = 10 à 4 2 3 1 5 = 15 3 3 1 5 5 = 17
4 2 3 1 5 = 15
1 2 3 3 1 = 10 à 3 3 4 1 3 = 14 2 3 2 5 1 = 13
3 3 4 1 3 = 14 Total Fitness = 147
2. Seleksi Individu 3 3 5 5 1 à 3 3 5 5 1 2 1 3 4 2 à 2 1 3 4 2 4 4 5 1 3 à 4 4 5 1 3 3 2 3 1 3 à 3 2 3 1 3 3 2 3 1 1 à 4 4 5 1 3 2 2 3 2 1 à 4 2 3 1 5 3 3 1 5 5 à 3 3 1 5 5 4 2 3 1 5 à 4 2 3 1 5 1 2 3 3 1 à 3 3 4 1 3 2 3 2 5 1 à 2 3 2 5 1
26
2 1 3 4 2 à 2 4 5 1 2 à 2 4 5 1 2 4 4 5 1 3 à 4 1 3 4 3 à 4 1 3 4 5
3 2 3 1 3 à 3 4 5 1 3 à 3 4 5 1 3 4 4 5 1 3 à 4 2 3 1 3 à 4 2 3 1 5
4 2 3 1 5 à 4 3 4 1 5 à 2 3 4 1 5 3 3 4 1 3 à 3 2 3 1 3 à 4 2 3 1 4
2 3 2 5 1 à 2 3 4 1 1 à 2 3 4 1 5 3 3 4 1 3 à 3 3 2 5 3 à 3 3 2 5 3 Individu sesudah di crossover:
3 3 5 5 1 2 4 5 1 2 4 1 3 4 5 3 4 5 1 3 4 2 3 1 5 4 2 3 1 5 3 3 1 5 5 2 3 4 1 5 4 2 3 1 4 2 3 4 1 5 3 3 2 5 3
27
4. Mutasi
Misalkan nilai Probability Mutation (Pm = 0.1)
Maka jumlah gen yang dimutasi = Jumlah_Individu x Panjang_Gen x Pm = 11 x 5 x 0.1 = 5.5 à 5
Sehingga jumlah gen yang dimutasi adalah 5 3 3 5 5 1
2 4 5 1 2 4 1 3 4 5
3 4 5 1 3 à 3 4 5 3 2 4 2 3 1 5 à 4 2 3 3 5 4 2 3 1 5
3 3 1 5 5
2 3 4 1 5 à 2 3 4 4 1 4 2 3 1 4
2 3 4 1 5 3 3 2 5 3
5. Populasi Baru
Nilai Fitness untuk populasi baru adalah 173 3 3 5 5 1 = 17
2 4 5 1 2 = 14
28
4 2 3 1 5 = 15 3 3 1 5 5 = 17 2 3 4 4 1 = 14 4 2 3 1 4 = 14
2 3 4 1 5 = 15 3 3 2 5 3 = 16
Nilai Fitness untuk populasi baru mengalami peningkatan yang cukup baik tetapi penilaian akhir masih tetap pada akurasi klasifikasi pada decision tree, populasi baru ini akan diterjemahkan lagi menjadi nilai atributnya masing-masing, kemudian dihitung lagi entropi untuk menentukan atribut paling berpengaruh berdasarkan information gain-nya.
BAB 4
HASIL DAN PEMBAHASAN
4.1. Pendahuluan
Proses pengujian dilakukan untuk mengetahui akurasi pembelajaran decision tree dengan algoritma genetika. Pada penelitian ini ditampilkan hasil dari akurasi pembelajaran yang dihasilkan dari proses pembelajaran dan pengujian data.
4.2. Dataset
Data yang digunakan adalah Data Set German Credit Data yang diperoleh dari UCI Machine Learning Repository, jumlah atribut Data Set German Credit Data adalah 21 (7 numerical, 14 categorical), jadi jumlah instances adalah 1000 data, salah satu atribut data set ini adalah label class yaitu Good dan Bad. Data Set German Credit Data dibagi dua, yaitu, 95% -nya menjadi data training dan 10%-nya menjadi data testing.
4.3. Pengujian Akurasi Pembelajaran Dengan Decision Tree
Sebelum melakukan training, data terlebih dahulu divalidasi agar nantinya model yang dihasilkan benar-benar memberikan pengklasifikasian yang baik, selanjutnya data dilatih dengan Decision Tree dengan algoritma C4.5, hasil training ini berupa pohon keputusan yang selanjutnya dapat dirubah menjadi rule-rule.
30
keputusan. Atribut yang menjadi root adalah Status of existing checking account, atribut ini adalah atribut yang paling berpengaruh dan memiliki nilai information gain tertinggi, atribut Status of existing checking account memiliki nilai atribut A11, A12, A13 dan A14. Simpul di cabang A11, A12 dan A14, entropinya bernilai nol, sehingga dapat dipastikan semua data di masing-masing cabang tersebut menjadi daun atau node terminal. Property menjadi simpul internal di cabang A13 memiliki beberapa cabang, dan seterusnya, pohon keputusan pembelajaran decision tree dapat dilihat pada gambar 4.1.
31
32
Rule Set dari pohon keputusan pembelajaran dengan decision tree adalah sebagai berikut:
if Status of existing checking account = A11 then Good (128 / 128) if Status of existing checking account = A12 then Good (154 / 99) if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income > 3.500 and
Present residence since > 1.500 then Bad (0 / 4)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income > 3.500 and
Present residence since ≤ 1.500 then Good (1 / 1)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and Age in years > 35 then Good (7 / 0)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and Age in years ≤ 35 and Personal status and sex = A92 then Bad (0 / 2) if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and Age in years ≤ 35 and Personal status and sex = A93 then Good (3 / 1) if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and Age in years ≤ 35 and Personal status and sex = A94 then Good (2 / 0) if Status of existing checking account = A13 and Property = A122 then Good (11 / 0)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A72 then Bad (1 / 2)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A73 then Good (10 / 0)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A74 then Good (2 / 0)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A75 then Good (5 / 0)
if Status of existing checking account = A13 and Property = A124 and Credit amount > 1324 then Good (5 / 0)
if Status of existing checking account = A13 and Property = A124 and Credit amount ≤ 1324 then Bad (0 / 3)
if Status of existing checking account = A14 then Good (336 / 45)
33
Hasil akurasi klasifikasi pembelajaran dengan decision tree dari data testing disajikan pada tabel 4.1.
Tabel 4.1 Matriks Confusion Pembelajaran Dengan Decision Tree Akurasi: 68.00% True Good True Bad Class Precission
Pred Good 34 15 69.39%
Perd Bad 1 0 0.00%
Class Recall 97.14% 0.00%
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑏𝑒𝑛𝑎𝑟
𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑦𝑎𝑛𝑔 𝑑𝑖𝑙𝑎𝑘𝑢𝑘𝑎𝑛𝑥100%
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
!"!!"!!!! !" ! !𝑥 100%
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 68.00%
4.4. Pengujian Akurasi Pembelajaran Decision Tree Dengan Seleksi atribut Sebelum dilakukan pembelajaran dengan decision tree, algoritma genetika digunakan sebagai pengoptimasi dan penyeleksi atribut pada data training, penilaian menggunakan nilai fitness tertinggi. Tahapan-tahapan pada algoritma genetika yaitu selection menggunakan tournament dan pmx crossover (Partial Mapping Crossover).
Dari hasil pembelajaran decision tree dengan seleksi atribut, didapat sembilan atribut yang dianggap memenuhi kriteria nilai information gain, sebagai penyusun pohon keputusan. Atribut yang menjadi root adalah Status of existing checking account, atribut ini adalah atribut yang paling berpengaruh dan memiliki nilai information gain tertinggi, atribut Status of existing checking account memiliki nilai atribut A11, A12, A13 dan A14. Simpul di cabang A11, A12 dan A14, entropinya bernilai nol, sehingga dapat dipastikan semua data di masing-masing cabang tersebut
34
Gambar 4.2 Pohon Keputusan Pembelajaran Decision Tree Dengan Seleksi Atribut
35
Rule Set dari pohon keputusan pembelajaran decision tree dengan seleksi atribut adalah sebagai berikut:
if Status of existing checking account = A11 then Good (134 / 131) if Status of existing checking account = A12 then Good (158 / 99) if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income > 3.500 and
Present residence since > 1.500 then Bad (0 / 3)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income > 3.500 and
Present residence since ≤ 1.500 then Good (1 / 1)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and
Personal status and sex = A91 then Good (2 / 0)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and
Personal status and sex = A92 and Age in years > 35 then Good (2 / 0)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and
Personal status and sex = A92 and Age in years ≤ 35 then Bad (0 / 2)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and
Personal status and sex = A93 then Good (5 / 0)
if Status of existing checking account = A13 and Property = A121 and Installment rate in percentage of disposable income ≤ 3.500 and
Personal status and sex = A94 then Good (2 / 0)
if Status of existing checking account = A13 and Property = A122 then Good (12 / 0)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A72 then Bad (1 / 2)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A73 then Good (10 / 1)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A74 then Good (2 / 0)
if Status of existing checking account = A13 and Property = A123 and Present employment since = A75 then Good (4 / 0)
36
if Status of existing checking account = A13 and Property = A124 and Credit amount ≤ 1324 and Credit history = A34 then Good (1 / 1) if Status of existing checking account = A14 then Good (326 / 43)
Hasil akurasi klasifikasi pembelajaran decision tree dengan seleksi atribut dari data testing disajikan pada tabel 4.1.
Tabel 4.2 Matriks Confusion Pembelajaran Decision Tree Dengan Seleksi Atribut
Akurasi: 74.00% True A True B Class Precission
Pred A 35 13 72.92%
Perd B 0 2 100.00%
Class Recall 100.00% 13.33%
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑑𝑖𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑏𝑒𝑛𝑎𝑟
𝐽𝑢𝑚𝑙𝑎ℎ 𝑑𝑎𝑡𝑎 𝑝𝑟𝑒𝑑𝑖𝑘𝑠𝑖 𝑦𝑎𝑛𝑔 𝑑𝑖𝑙𝑎𝑘𝑢𝑘𝑎𝑛𝑥100%
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 =
!"!!"!!!! !" ! !𝑥 100%
𝑎𝑘𝑢𝑟𝑎𝑠𝑖 = 74.00%
BAB 5
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Terdapat beberapa kesimpulan yang dapat diambil dari penelitian dalam penyusunan tesis ini, yaitu:
1. Algoritma decision tree dihasilkan tingkat akurasi sebesar 68.00%, persentasi sesudah dilakukan pengoptimasian meningkat menjadi 74.00%.
2. Atribut yang dihasilkan pada pohon keputusan dengan pembelajaran decision tree berjumlah 8 atribut, sesudah dilakukan seleksi atribut dengan algoritma genetika berjumlah menjadi 9 atribut, sehingga rule yang dihasilkan lebih detail lagi untuk mengklasifikasi data.
3. Model yang dihasilkan cukup baik dilihat dari nilai akurasi Karena dapat mengenali data yang belum memiliki label kelas, walaupun belum 100%
sempurna.
1.2 Saran
Saran yang diberikan berkaitan dengan penelitian ini adalah sebagai berikut:
1. Penelitian ini dapat dianalisis kembali dengan menggunakan parameter- parameter yang nilai atributnya sama panjang, untuk menghindari nilai missing value pada nilai atribut apabila pengkodean yang digunakan adalah diskrit desimal dan jenis atributnya kategorikal.
2. Penelitian selanjutnya dapat dilakukan dengan menggunakan teknik-teknik pengoptimasian seperti Particle Swarm Optimization (PSO) dan yang lainnya.
DAFTAR PUSTAKA
Cagnoni, S., Lutton, E., & Olague, G. 2007. Genetic and Evolutionary for Image Processing and Analysis. EURASIP Book Series on Signal Processing and Communication. Vol. 8. Hindawi Publishing Coorperation: USA.
Camilleri, M. & Neri, F. 2014. Parameter Optimization in Decision Tree Learning by using Simple Genetic Algorithms. E-ISSN: 2224-2872, Volume 13.
Cha, S. -H. & Tappert, C. 2009. A Genetic Algorithm for Constructing Compact Binary Decision Trees. Journal Of Pattern Recognition Research 1: 1 – 13.
Carvalho, D. R. & Freitas, A. A. New Result For A Hybrid Decision Tree /Genetic Algorithm For Data Mining. Computer Science Dept. Universidade Tuiuti do Parana, Computing Laboratory University Of Kent At Canterbury.
Englebrecht , A. P. 2007. An Intoduction: Computational Intelligence. 2nd Edition.
John Wiley & Sons, Ltd: England.
Fu, Z., Golden, B. L., Lele, S., Raghavan, S., Wasil., E. A. 2003. A Genetic Algortihm -Based Approach For Building Accurate Decision Tree. Journal On Computing. Vol. 15, No. 1, pp. 3-22.
Han, J. & Kamber, M. 2001. Data Mining: Concept and Techniques. Morgan Kaufmann Publisher: United States of America.
Liu, D. -S. & Fan, S. -J. 2014. A Modified Decision Tree Algorithm Based on Genetic Algorithm for Mobile User Classification Problem. The Scientific World Journal: Volume 2014, Article ID 468324, 11 pages. (Online) http://dx.doi.org/10.1155/2014/468324, Hindawi Publishing Corporation.
Mola, F., Miele, R. & Conversano, C. 2008. Evolutionary Algorithms in Decision Tree Induction. In Book Edited by: Kosinski, W,. Advances In Evolutionary Algorithms. ISBN 978-953-7619-11-4. pp. 468. Tech Education and Publishing: Vienna, Austria.
Stein, G., Chen, B., Wu, A. Hua, K. A. Decision Tree Classifier For Network Intrusion Detection With GA-Based Feature Selection. Computer Science University of Central Florida.
Zheng, M. –C. 2007. A Comparative Analysis of Classifying Algorithms in Data Mining Technology, Lanzhou University of Finance and Economics.