penerapan information gain guna meningkatkan …lib.unnes.ac.id/32370/1/4611412004.pdf · vi motto...
TRANSCRIPT
PENERAPAN INFORMATION GAIN GUNA
MENINGKATKAN AKURASI PADA ALGORITMA
SUPPORT VECTOR MACHINE DAN NAÏVE BAYES
DALAM MENDIAGNOSA CHRONIC KIDNEY
DISEASE
Skripsi
disusun sebagai salah satu syarat
untuk memperoleh gelar Sarjana Komputer
Program Studi Teknik Informatika
oleh
Kiki Prima Wijaya
4611412004
JURUSAN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS NEGERI SEMARANG
2017
vi
MOTTO DAN PERSEMBAHAN
MOTTO
� Tuhanmu lebih tahu batas rasa sakit yang bisa kau tampung. Jangan sampai
engkau menyerah disaat selangkah lagi Tuhanmu menggantikan kesakitan
dengan sejuta keindahan.
� Sifat gagah berani. Dilemahkan oleh waktu dan nasib. Namun, Keinginan
yang kuat. Digunakan untuk berjuang, mencari, menemukan. BUKAN
UNTUK MENYERAH “Tennyson”.
PERSEMBAHAN
Skripsi ini ku persembahkan kepada:
� Kedua orang tuaku yang sangat saya cintai, Mamah
(Ani Siti Lestari) dan Papah (Juli Hartono), terimakasih
atas doa, dukungan dan kasih sayang yang tiada
hentinya selalu engkau berikan.
� Adik-adikku tercinta, Oktovyanne S dan Dimas Rizki
Reyhansyah yang selalu memberiku semangat dan doa.
� Putri Fajarotul Solikhah terkasih yang telah menjadi
penyemangat, sahabat-sahabat k9ndo family Abdur,
Whisnu, Bayu, Ageng, Oky, Odi, Eka Ar, Hardo &
Zahra, teman-teman ILKOM 2012.
� Semua pihak yang tidak dapat disebutkan satu persatu
yang telah membantu hingga terselesaikannya penulisan
skripsi ini.
� Almamaterku UNNES
vii
PRAKATA
Puji syukur Alhamdulillah senantiasa penulis panjatkan kepada Tuhan
Yang Maha Esa atas segala limpahan rahmat dan karunia-Nya sehingga penulis
dapat menyelesaikan skripsi yang berjudul “Penerapan Information Gain guna
Meningkatkan Akurasi pada Algoritma Support Vector Machine Dan Naive
Bayes Dalam Mendiagnosa Chronic Kidney Disease”.
Penulis menyadari bahwa penulisan skripsi ini tidak akan selesai tanpa
adanya dukungan serta bantuan dari berbagai pihak. Oleh karena itu, penulis ingin
menyampaikan ucapan terima kasih kepada:
1. Prof. Dr. Fathur Rokhman, M.Hum., Rektor Universitas Negeri Semarang.
2. Prof. Dr. Zaenuri, S.E., M.Si., Akt., Dekan Fakultas Matematika dan Ilmu
Pengetahuan Alam Universitas Negeri Semarang.
3. Endang Sugiharti, S.Si., M.Kom., selaku Ketua Penguji I dan Ketua Jurusan
Ilmu Komputer FMIPA Universitas Negeri Semarang.
4. Much Aziz Muslim, S.Kom., M.Kom., selaku Dosen Pembimbing I yang telah
meluangkan waktu, membantu, membimbing, mengarahkan dan memberikan
saran sehingga penulis dapat menyelesaikan skripsi ini.
5. Riza Arifudin, S.Pd, M.Cs., selaku Dosen Pembimbing II yang telah
meluangkan waktu, membantu, membimbing, mengarahkan dan memberikan
saran sehingga penulis dapat menyelesaikan skripsi ini.
6. Bapak dan Ibu Dosen Jurusan Ilmu Komputer yang telah memberikan bekal
kepada penulis dalam penyusunan skripsi ini.
ix
ABSTRAK
Wijaya, Kiki Prima. 2017. Penerapan Information Gain guna Meningkatkan Akurasi pada Algoritma Support Vector Machine dan Naïve Bayes dalam Mendiagnosa Chronic Kidney Disease. Skripsi, Jurusan Ilmu Komputer Fakultas
Matematika dan Ilmu Pengetahuan Alam Universitas Negeri Semarang.
Pembimbing Utama Much Aziz Muslim, S.Kom., M.Kom. dan Pembimbing
Pendamping Riza Arifudin, S.Pd, M.Cs.
Kata kunci: Data Mining, SVM, Naïve bayes, Information gain, Chronic kidney disease.
Perkembangan database dalam bidang kesehatan tumbuh sangat pesat.
Data tersebut sangat penting untuk dapat diolah supaya bermanfaat. Data mining
merupakan bidang ilmu penelitian yang dapat mengolah database menjadi
pengetahuan yang dapat dimanfaatkan untuk mendiagnosa penyakit, seperti
chronic kidney disease (CKD). Salah satu teknik data mining yang digunakan
untuk memprediksi suatu hal adalah klasifikasi. Support vector machine (SVM)
dan Naïve bayes termasuk dalam algoritma klasifikasi data mining yang baik
digunakan untuk mendiagnosa CKD. Kelemahan SVM dan Naïve Bayes adalah
sulit digunakan pada data berskala besar dan sulit membedakan antara atribut
yang berpengaruh dan tidak berpengaruh dalam proses prediksi.
Tujuan riset ini adalah untuk mengetahui peningkatan akurasi dan
membandingkan antara hasil akurasi SVM dan Naïve bayes setelah menerapkan
Information gain. Digunakannya Information gain untuk mengoptimalisasi atribut
pada dataset guna meningkatkan akurasi SVM dan Naïve bayes dalam
mendiagnosa CKD.
Hasil pada penelitian ini dengan menerapkan Information Gain dalam
mendiagnosa CKD menggunakan dataset CKD yang diperoleh dari UCI
repository of machine learning datasets, algoritma SVM menunjukkan tingkat
akurasi meningkat 0,3333% dari 98% menjadi 98,3333%, sedangkan pada
algoritma Naïve Bayes menunjukkan peningkatan sebesar 1,0075% dari 98,4925%
menjadi 99,5%. Berdasarkan hasil penelitian yang diamati setelah menerapkan
Information Gain, kinerja algoritma Naïve Bayes lebih baik daripada algoritma
SVM dalam mendiagnosa CKD. Penelitian ini dapat dijadikan sebagai acuan agar
peneliti selanjutnya dapat melakukan penanganan missing value yang lebih efektif
dan efisien untuk mendapatkan akurasi yang lebih optimal.
x
DAFTAR ISI
Halaman
HALAMAN JUDUL ........................................................................................ i
PERNYATAAN .............................................................................................. ii
PERSETUJUAN PEMBIMBING .................................................................... iii
HALAMAN PENGESAHAN .......................................................................... iv
MOTTO DAN PERSEMBAHAN ................................................................... v
PRAKATA ....................................................................................................... vi
ABSTRAK ....................................................................................................... viii
DAFTAR ISI .................................................................................................... ix
DAFTAR TABEL ............................................................................................ xiii
DAFTAR GAMBAR ....................................................................................... xiv
DAFTAR LAMPIRAN .................................................................................... xvi
BAB
1. PENDAHULUAN ....................................................................................... 1
1.1 Latar Belakang ...................................................................................... 1
1.2 Rumusan Masalah ................................................................................. 5
1.3 Batasan Masalah .................................................................................... 5
1.4 Tujuan Penelitian ................................................................................... 6
1.5 Manfaat Penelitian ................................................................................. 6
1.6 Sistematika Penulisan ............................................................................ 7
xi
2. TINJAUAN PUSTAKA............................................................................... 9
2.1 Data Mining .......................................................................................... 9
2.2.1 Proses Data Mining ..................................................................... 10
2.2 Klasifikasi .............................................................................................. 14
2.2.1 Konsep Pembuatan Model dalam Klasifikasi ............................. 15
2.3 Support Vector Machine (SVM) ........................................................... 17
2.4 Naive Bayes ........................................................................................... 20
2.4.1 Teorema Bayes ............................................................................ 20
2.4.2 Naive Bayes untuk Klasifikasi ..................................................... 22
2.5 Dataset ................................................................................................... 27
2.6 Feature Selection Information Gain ...................................................... 28
2.6.1 Information Gain ......................................................................... 29
2.6.1.1 Penanganan atribut kontinyu ........................................... 31
2.7 Chronic Kidney Disease (CKD) ............................................................ 32
2.8 Penelitian Terkait .................................................................................. 32
3. METODE PENELITIAN ............................................................................. 35
3.1 Studi Pendahuluan ................................................................................. 35
3.2 Tahap Pengambilan Data dan Pengumpulan Data ................................ 36
3.2.1 Studi Pustaka ............................................................................... 36
3.2.2 Pembagian Training Set dan Testing Set ..................................... 37
3.3 Tahap Analisis Data .............................................................................. 37
3.3.1 Tahapan Algoritma Support Vector Machine ............................. 37
3.3.2 Tahapan Algoritma Naive Bayes ................................................. 39
xii
3.3.3 Tahapan Algoritma Information Gain ........................................ 40
3.4 Model yang Digunakan ......................................................................... 42
3.5 Pembuatan Sistem ................................................................................. 44
3.6 Pengujian Analisis Sistem ..................................................................... 45
3.7 Penarikan Kesimpulan ........................................................................... 45
4. HASIL DAN PEMBAHASAN .................................................................... 46
4.1 Hasil Penelitian ...................................................................................... 46
4.1.1 Tahap Pengambilan Data ............................................................ 46
4.1.2 Tahap Pengolahan Data............................................................... 47
4.1.2.1 Penanganan Missing Value (Tahap Data Cleaning) ....... 48
4.1.2.2 Tahap Integrasi Data (Data Integration)......................... 50
4.1.2.3 Tahap Proses Seleksi Data (Data Selection) ................... 50
4.1.2.4 Tahap Proses Transformasi Data (Data Transformasi) .. 53
4.1.2.5 Tahap Proses Mining Data (Data Mining)...................... 53
4.1.3 Tahap Perancangan Sistem ......................................................... 53
4.1.3.1 Perancangan Desain Sistem ............................................ 54
4.2 Tahap Implementasi Sistem......... ......................................................... 55
4.2.1 Tampilan Sistem GUI Matlab ..................................................... 55
4.2.2 Implementasi Sistem Information Gain, Support Vector Machine dan
Naive Bayes ................................................................................. 63
4.3 Analisis Hasil Kerja Sistem ................................................................... 68
5. PENUTUP .................................................................................................... 70
5.1 Simpulan ................................................................................................ 70
xiii
5.2 Saran ...................................................................................................... 71
DAFTAR PUSTAKA ...................................................................................... 72
LAMPIRAN ..................................................................................................... 74
xiv
DAFTAR TABEL
Tabel Halaman
2.1 Data latih klasifikasi hewan ....................................................................... 25
2.2 Probabilitas fitur dan kelas ......................................................................... . 26
2.3 Contoh data bermain Baseball.. ................................................................. 30
4.1 Atribut dataset chronic kidney disease.. .................................................... 46
4.2 Beberapa data missing value dalam dataset.. ............................................. 49
4.3 Beberapa data yang telah di replace missing value.. ................................. 49
4.4 Proses mencari Information Gain atribut age dengan Entropy-Based
Discretization. .................................................................................................. 51
4.5 Proses mencari Information Gain atribut specific gravity.. ....................... 51
4.6 Tabel Information Gain.. ........................................................................... 52
4.7 Akurasi Algoritma Support Vector Machine dan Naive Bayes.. ................ 53
4.8 Keterangan GUI Matlab.. ........................................................................... 54
4.9 Akurasi sebelum dan penerapan Information Gain.. ................................. 69
xv
DAFTAR GAMBAR
Gambar Halaman
2.1 Proses Data Mining .................................................................................... 11
2.2 Klasifikasi sebagai pemetakan atribut x ke dalam label kelas y ................ 14
2.3 Proses Klasifikasi ....................................................................................... 16
2.4 Pemisahan dua kelas data dengan margin maksimum ............................... 18
3.1 Proses mining dalam penelitian .................................................................. 35
3.2 Flowchart algoritma SVM dengan Information Gain ............................... 43
3.3 Flowchart algoritma Naive Bayes dengan Information Gain .................... 44
4.1 Dataset file berformat .ARFF .................................................................... 47
4.2 Dataset dalam bentuk excel ....................................................................... 48
4.3 Desain Sistem GUI Matlab ........................................................................ 54
4.4 Tampilan sistem diagnosa chronic kidney disease..................................... 55
4.5 Source Code Load Data ............................................................................. 57
4.6 Source code pilihan skenario pengujian ..................................................... 58
4.7 Source code tabel dataset ........................................................................... 58
4.8 Source code Information Gain ................................................................... 61
4.9 Source code tabel nilai Information Gain .................................................. 61
4.10 Source code menampilkan atribut yang dihapus ...................................... 62
4.11 Source code tombol Proses ...................................................................... 63
4.12 Tahap Load dataset .................................................................................. 64
4.13 Hasil implementasi sistem ....................................................................... 65
xvi
4.14 Hasil Load data ........................................................................................ 66
4.15 Pilihan skenario pengujian ....................................................................... 66
4.16 Hasil perhitungan Information Gain ........................................................ 67
4.17 Atribut yang dihapus ................................................................................ 67
4.18 Hasil Proses Mining ................................................................................. 68
xvii
DAFTAR LAMPIRAN
Lampiran Halaman
1 Desain Tampilan Program dengan Propertinya ............................................ 75
2 Kode Program Sistem GUI Matlab ............................................................... 76
3 Contoh Program Saat Dijalankan .................................................................. 89
4 Dataset Chronic kidney Disease (Format .arff)............................................. 90
5 Surat Keputusan Penetapan Dosen Pembimbing Skripsi .............................. 107
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Pada masa kini, perkembangan database dalam bidang kesehatan tumbuh
sangat pesat. Database kesehatan menyimpan banyak sekali data-data yang terkait
dalam lingkungan kesehatan seperti data pasien, data obat, data penyakit yang
sangat penting data tersebut untuk dapat diolah supaya lebih bermanfaat. Bidang
ilmu yang dapat mengolah data menjadi pengetahuan sering disebut dengan istilah
data mining.
Menurut Turban et al., (2005: 263) Data mining adalah suatu istilah yang
digunakan untuk menguraikan penemuan pengetahuan di dalam database. Data
mining juga merupakan proses yang menggunakan teknik statistik, matematika,
kecerdasan buatan, dan machine learning untuk mengekstraksi dan
mengidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari
berbagai database dalam volume besar. Data mining menurut Santosa (2007: 10)
sering juga disebut knowledge discovery in database (KDD) adalah kegiatan yang
meliputi pengumpulan, pemakaian data historis untuk menemukan keteraturan,
pola atau hubungan dalam dataset berukuran besar. Menurut Hermawati (2013: 3)
data mining adalah proses yang mempekerjakan satu atau lebih teknik
pembelajaran komputer (machine learning) untuk menganalisis dan
mengekstraksi pengetahuan (knowledge) secara otomatis. Menurut Larose (2005:
2
11) terdapat enam fungsi dalam data mining yang paling umum, yaitu fungsi
deskripsi, fungsi estimasi, fungsi prediksi, fungsi pengelompokan, fungsi asosiasi,
dan fungsi klasifikasi. Dalam data mining ada berbagai teknik umum dengan
fungsi dan kegunaannya masing-masing, salah satu teknik data mining adalah
klasifikasi.
Klasifikasi merupakan salah satu teknik data mining yang dapat digunakan
untuk memprediksi keanggotaan kelompok untuk data instance. Klasifikasi adalah
proses menemukan model (atau fungsi) yang menggambarkan dan membedakan
kelas data atau konsep (Han et al., 2012: 18). Menurut Hermawati (2013: 14),
klasifikasi adalah sebuah record data baru ke salah satu dari beberapa kategori
(atau kelas) yang telah didefinisikan sebelumnya. Disebut juga dengan
‘supervised learning’. Beberapa algoritma dalam teknik klasifikasi yang sering
kali digunakan adalah Support Vector Machine (SVM) dan Naïve Bayes.
Menurut Vijayarani & Dhayanand (2015: 17) Support Vector Machine
merupakan metode baru untuk klasifikasi baik itu data linier dan nonlinier, yang
menciptakan diskrit hyperplane dalam ruang descriptor dari data pelatihan dan
diklasifikasikan berdasarkan sisi hyperplane berada. Support Vector Machine
memetakan data input non-liner ke beberapa ruang dimensi yang lebih tinggi,
dimana data dapat dipisahkan secara linier, sehingga memberikan kinerja
klasifikasi atau regresi yang besar (Kumar & Chezian, 2014: 448-449).
Bayes merupakan teknik prediksi berbasis probalistik sederhana yang
berdasar pada penerapan teorema bayes atau aturan bayes dengan asumsi
independensi (ketidak tergantungan) yang kuat (na ve). Dengan kata lain, naïve
3
bayes, model yang digunakan adalah model fitur independen (Prasetyo, 2012:
157).
Kedua algoritma klasifikasi data mining tersebut dapat dimanfaatkan dan
membantu ahli medis dalam mendiagnosa suatu penyakit, salah satunya adalah
chronic kidney disease. Chronic kidney disease (CKD) merupakan suatu kondisi
dimana kinerja fungsi ginjal mulai mengalami penurunan secara bertahap, dimana
kondisi tersebut mempunyai sifat yang permanen dan dapat berakhir dengan gagal
ginjal. Pada umumnya, CKD merupakan suatu penyakit yang dapat dideteksi
melalui tes urin dan darah dalam uji laboratorium. Gejala yang bersifat umum
membuat pengidap penyakit ginjal ini tidak mengetahui dan menyadari bahwa
gejalanya telah menuju stadium lanjut. Penyakit gagal ginjal ini merupakan
penyakit yang sukar untuk disembuhkan maka dari itu diperlukan pengobatan
yang teratur untuk menetralisir dan memperlambat proses menuju stadium akhir.
Menurut National Kidney Foundation (2012: 1) penyakit ginjal kronis merupakan
masalah kesehatan masyarakat di seluruh dunia. Di amerika serikat, insiden ini
meningkat, dengan hasil yang buruk dan biaya yang tinggi.
Penelitian diagnosa dilakukan dengan menggunakan dataset chronic kidney
disease. Dataset yang digunakan dalam penelitian ini adalah dataset chronic
kidney disease yang diperoleh dari UCI repository of machine learning datasets.
Dataset merupakan kumpulan dari objek dan atributnya. Atribut merupakan sifat
atau karakteristik dari suatu objek (Hermawati, 2013: 24).
Beniwal & Arora (2012: 2) dalam penelitiannya menjelaskan bahwa
kemungkinan ada banyak atibut yang tidak relevan dalam suatu data yang akan
4
digunakan sehingga perlu dihapus. Banyak juga algoritma mining yang tidak
melakukan tugasnya dengan baik karena jumlah fitur dan atribut yang besar. Oleh
karena itu perlu menerapkan teknik yang dapat mengevaluasi dan
mengoptimalkan atribut pada dataset tersebut. Salah satu teknik yang dapat
digunakan adalah feature selection. Feature selection adalah proses pemilihan
fitur yang relevan, atau subset calon fitur. Kriteria evaluasi digunakan untuk
mendapatkan bagian fitur optimal (Kumar & Minz, 2014: 214). Tujuannya adalah
pengurangan ukuran dimensi untuk menghasilkan peningkatan akurasi klasifikasi.
Dari hasil eksperimen yang dilakukan oleh Ramaswami & Bhaskaran (2009, 11),
menunjukkan bahwa teknik feature selection Information Gain menunjukkan hasil
yang terbaik dalam mengoptimalisasi atribut dari studi komparasi dari enam
teknik feature selection yang telah ditentukan. Menurut Jensen & Shen (2008:
156) Information Gain merupakan ekspektasi dari pengurangan entropi yang
dihasilkan dari partisi objek dataset berdasarkan fitur tertentu.
Berdasarkan uraian di atas, maka diusulkan menggunakan penerapan
Information Gain guna meningkatkan akurasi dalam diagnosa pada algoritma
Support Vector Machine dan Naïve Bayes. Oleh karena itu menjadi latar belakang
peneliti dalam melakukan penelitian yang berjudul “Penerapan Information
Gain guna Meningkatkan Akurasi pada Algoritma Support Vector Machine
dan Naïve Bayes dalam Mendiagnosa Chronic Kidney Disease”.
5
1.2 Rumusan Masalah
Berdasarkan pada latar belakang, maka rumusan masalah yang dapat
dirumuskan adalah sebagai berikut.
1) Bagaimana hasil akurasi sebelum dan setelah penerapan Information Gain
pada algoritma Support Vector Machine dan Naïve Bayes dalam
mendiagnosa chronic kidney disease?
2) Manakah yang lebih baik dalam hal akurasi antara algoritma Support Vector
Machine dan Naïve Bayes setelah menerapkan Information Gain untuk
mendiagnosa chronic kidney disease?
1.3 Batasan Masalah
Agar dalam pembahasan skripsi ini tidak terlalu meluas, maka penulis
mencantumkan pembatasan sabagai berikut.
1) Penelitian ini menggunakan Information Gain untuk mengoptimalisasi
atribut.
2) Menggunakan algoritma Support Vector Machine dan Naïve Bayes untuk
mendiagnosa chronic kidney disease.
3) Dataset yang akan digunakan adalah dataset chronic kidney disease yang
diperoleh dari UCI repository of machine learning
(https://archive.ics.uci.edu/ml/datasets/Chronic_Kidney_Disease).
4) Menggunakan teknik Entropy-Based Discretization untuk mendapatkan
nilai entropi dari atribut yang bertipe numeric.
6
5) Dataset dibagi menjadi 50% training set dan 50% testing set untuk
pengujian sistem.
6) Tool yang digunakan adalah Matlab.
1.4 Tujuan Penelitian
Tujuan dari penelitian ini adalah sebagai berikut.
1) Mengetahui akurasi dari penerapan algoritma Support Vector Machine dan
Naïve Bayes dalam mendiagnosa chronic kidney disease.
2) Mengetahui peningkatan akurasi setelah menerapkan Information Gain pada
algoritma Support Vector Machine dan Naïve Bayes dalam mendiagnosa
chronic kidney disease.
3) Mengetahui manakah algoritma yang lebih baik antara algoritma Support
Vector Machine dan Naïve Bayes dalam mendiagnosa chronic kidney
disease setelah penerapan Information Gain.
1.5 Manfaat Penelitian
Manfaat dari penelitian ini adalah sebagai berikut.
1) Mengetahui hasil akurasi dari penerapan algoritma Support Vector Machine
dan Naïve Bayes dalam mendiagnosa chronic kidney disease.
2) Mengetahui hasil akurasi setelah menerapkan Information Gain pada
algoritma Support Vector Machine dan Naïve Bayes dalam mendiagnosa
chronic kidney disease.
7
3) Mengetahui algoritma yang lebih baik antara Support Vector Machine dan
Naïve Bayes setelah diterapkan Information Gain dalam mendiagnosa
chronic kidney disease.
1.6 Sistematika Skripsi
Sistematika penulisan untuk memudahkan dalam memahami alur pemikiran
secara keseluruhan skripsi. Penulisan skripsi ini secara garis besar dibagi menjadi
tiga bagian yaitu sebagai berikut:
1) Bagian Awal Skripsi
Bagian awal skripsi terdiri dari halaman judul, halaman pengesahan,
halaman pernyataan, halaman motto dan persembahan, abstrak, kata pengantar,
daftar isi, daftar gambar, daftar tabel, dan daftar lampiran.
2) Bagian Isi Skripsi
Bagian isi skripsi terdiri dari lima bab yaitu sebagai berikut.
a. BAB 1: PENDAHULUAN
Bab ini terdiri atas latar belakang, rumusan masalah, batasan masalah,
tujuan penelitian, manfaat penelitian serta sistematika skripsi.
b. BAB 2: TINJAUAN PUSTAKA
Bab ini terdiri atas landasan teori yang berhubungan dengan topik skripsi
dan penelitian terkait.
8
c. BAB 3: METODE PENELITIAN
Bab ini terdiri atas studi pendahuluan, tahap pengumpulan dan
pengumpulan data, studi pustaka, teknik analisis data, analisis kebutuhan,
dan pengambilan kesimpulan.
d. BAB 4: HASIL DAN PEMBAHASAN
Bab ini terdiri atas hasil penelitian dan pembahasan penelitian.
e. BAB 5: PENUTUP
Bab ini terdiri atas simpulan yang diambil terkait dengan penelitian yang
dilakukan dan saran untuk pengembangan algoritma agar lebih baik.
3) Bagian Akhir Skripsi
Bagian akhir skripsi berisi daftar pustaka yang merupakan informasi
mengenai buku-buku, sumber-sumber dan referensi yang digunakan penulis serta
lampiran-lampiran yang mendukung dalam penulisan skripsi ini.
9
BAB II
TINJAUAN PUSTAKA
2.1 Data Mining
Menurut Gorunescu dalam Prasetyo (2014: 1), nama data mining
sebenarnya mulai dikenal sejak tahun 1990, ketika pekerjaan pemanfaatan data
menjadi sesuatu yang penting dalam berbagai bidang, mulai dari bidang
akademik, bisnis, hingga medis. Menurut Turban et al (2005: 263) Data mining
adalah suatu istilah yang digunakan untuk menguraikan penemuan pengetahuan di
dalam database. Data mining adalah proses yang menggunakan teknik statistic,
matematika, kecerdasan buatan, dan machine learning untuk mengekstraksi dan
menidentifikasi informasi yang bermanfaat dan pengetahuan yang terkait dari
berbagai database besar.
Menurut Santosa (2007: 10), data mining sering juga disebut knowledge
discovery in database (KDD) adalah kegiatan yang meliputi pengumpulan,
pemakaian data historis untuk menemukan keteraturan, pola atau hubungan dalam
dataset berukuran besar. Sedangkan menurut Hermawati (2013: 3) data mining
merupakan proses mempekerjakan satu atau lebih teknik pembelajaran komputer
(machine learning) untuk menganalisis dan mengekstraksi pengetahuan
(knowledge) secara otomatis.
Prasetyo (2014: 3-4) menyatakan bahwa data mining adalah pencarian
otomatis pola dalam basis data besar, menggunakan teknik komputasional
10
campuran dari statistik, pembelajaran mesin, dan pengenalan pola; mengekstraksi
implisit non-trivial, yang sebelumnya belum diketahui secara potensial adalah
informasi berguna dari data; ilmu pengekestrakan informasi yang berguna dari
dataset/basis data besar; eksplorasi otomatis/semiotomatis dan analisis data dalam
jumlah besar, dengan tujuan untuk menemukan pola yang bermakna; proses
penemuan informasi otomatis dengan mengidentifikasikan pola dan hubungan
tersembunyi dalam data.
Data mining, dalam hal sederhana adalah menemukan pola yang berguna
dalam data. Menjadi kata kunci, ada berbagai definisi dan kriteria untuk data
mining. Data mining juga disebut sebagai penemuan pengetahuan, pembelajaran
mesin, dan analisis prediktif. Namun, setiap istilah memiliki konotasi yang sedikit
berbeda, tergantung pada konteksnya (Kotu & Deshpande, 2015: 2).
2.1.1. Proses Data Mining
Secara sistematis, ada tiga langkah utama dalam data mining menurut
Gorunescu (2011) dalam Prasetyo (2014: 7):
1. Eksplorasi/pemrosesan awal data
Eksplorasi/pemrosesan awal data terdiri dari ‘pembersihan’ data,
normalisasi data, transformasi data, penanganan data yang salah, reduksi dimensi,
pemilihan subset fitur, dan sebagainya.
2. Membangun model dan melakukan validasi terhadapnya
Membangun model dan melakukan validasi terhadapnya berarti melakukan
analisis berbagai model dan memilih model dengan kinerja prediksi yang terbaik.
Dalam langkah ini digunakan metode-metode seperti klasifikasi, regresi, analisis
11
cluster, deteksi anomali, analisis asosiasi, analisis pola sekuensial, dan
sebagainya. Dalam beberapa referensi, deteksi anomali juga masuk dalam langkah
eksplorasi. Akan tetapi, deteksi anomali juga dapat digunakan sebagai algoritma
utama, terutama untuk mencari data-data yang spesial.
3. Penerapan
Penerapan berarti menerapkan model pada data yang baru untuk
menghasilkan perkiraan/prediksi masalah yang diinvestigasi.
Han (2012: 7-8) menyatakan bahwa tahap-tahap data mining ada 7
sebagaimana digambarkan pada Gambar 2.1.
Gambar 2.1 Proses Data Mining
1) Seleksi Data (Data Selection)
Data yang ada pada database sering kali tidak semuanya dipakai, oleh
karena itu hanya data yang sesuai untuk dianalisis yang akan diambil dari
database. Sebagai contoh, sebuah kasus yang meneliti faktor kecenderungan orang
membeli dalam kasus market basket analisis, tidak perlu mengambil nama
pelanggan, cukup dengan id pelanggan saja.
2) Pembersihan Data (Data Cleaning)
12
Pembersihan data merupakan proses menghilangkan noise dan data yang
tidak konsisten atau data tidak relevan. Pada umumnya data yang diperoleh, baik
dari database suatu perusahaan maupun hasil eksperimen, memiliki isian-isian
yang tidak sempurna seperti data yang hilang, data yang tidak valid atau juga
hanya sekedar salah ketik. Selain itu, ada juga atribut-atribut data yang tidak
relevan dengan hipotesa data mining yang dimiliki. Data yang tidak relevan itu
juga lebih baik dibuang. Pembersihan data juga akan mempengaruhi performasi
dari teknik data mining karena data yang ditangani akan berkurang jumlah dan
kompleksitasnya.
3) Integrasi Data (Data Integration)
Integrasi data merupakan penggabungan data dari berbagai database ke
dalam satu database baru. Tidak jarang data yang diperlukan untuk data mining
tidak hanya berasal dari satu database tetapi juga berasal dari beberapa database
atau file teks. Integrasi data dilakukan pada atribut-aribut yang
mengidentifikasikan entitas-entitas yang unik seperti atribut nama, jenis produk,
nomor pelanggan dan lainnya. Integrasi data perlu dilakukan secara cermat karena
kesalahan pada integrasi data bisa menghasilkan hasil yang menyimpang dan
bahkan menyesatkan pengambilan aksi nantinya. Sebagai contoh bila integrasi
data berdasarkan jenis produk ternyata menggabungkan produk dari kategori yang
berbeda maka akan didapatkan korelasi antar produk yang sebenarnya tidak ada.
4) Transformasi Data (Data Transformation)
Data diubah atau digabung ke dalam format yang sesuai untuk diproses
dalam data mining. Beberapa metode data mining membutuhkan format data yang
13
khusus sebelum bisa diaplikasikan. Sebagai contoh beberapa metode standar
seperti analisis asosiasi dan clustering hanya bisa menerima input data
kategorikal. Karenanya data berupa angka numerik yang berlanjut perlu dibagi-
bagi menjadi beberapa interval. Proses ini sering disebut transformasi data.
5) Proses Mining
Merupakan suatu proses utama saat metode diterapkan untuk menemukan
pengetahuan berharga dan tersembunyi dari data.
6) Evaluasi Pola (Pattern Evaluation)
Untuk mengidentifikasi pola-pola menarik ke dalam knowledge based yang
ditemukan. Dalam tahap ini hasil dari teknik data mining berupa pola-pola yang
khas maupun model prediksi dievaluasi untuk menilai apakah hipotesa yang ada
memang tercapai. Bila ternyata hasil yang diperoleh tidak sesuai hipotesa ada
beberapa alternatif yang dapat diambil seperti menjadikannya umpan balik untuk
memperbaiki proses data mining, mencoba metode data mining lain yang lebih
sesuai, atau menerima hasil ini sebagai suatu hasil yang di luar dugaan yang
mungkin bermanfaat.
7) Presentasi Pengetahuan (Knowledge Presentation)
Merupakan visualisasi dan penyajian pengetahuan mengenai metode yang
digunakan untuk memperoleh pengetahuan yang diperoleh pengguna. Tahap
terakhir dari proses data mining adalah bagaimana memformulasikan keputusan
atau aksi dari hasil analisis yang didapat. Ada kalanya hal ini harus melibatkan
orang-orang yang tidak memahami data mining. Karenanya presentasi hasil data
mining dalam bentuk pengetahuan yang bisa dipahami semua orang adalah satu
14
tahapan yang diperlukan dalam proses data mining. Dalam presentasi ini,
visualisasi juga bisa membantu mengkomunikasikan hasil data mining.
2.2 Klasifikasi
Hermawati (2013: 14) menyatakan bahwa klasifikasi adalah menentukan
sebuah record data baru ke salah satu dari beberapa kategori (atau kelas) yang
telah didefinisikan sebelumnya. Disebut juga dengan ‘supervised learning’.
Klasifikasi menurut Han et al., (2012: 18) adalah proses menemukan model (atau
fungsi) yang menggambarkan dan membedakan kelas data atau konsep.
Klasifikasi dapat didefinisikan secara detail sebagai suatu pekerjaan yang
melakukan pelatihan/pembelajaran terhadap fungsi target f yang memetakan
setiap vektor (set fitur) x ke dalam satu dari sejumlah label kelas y yang tersedia.
Pekerjaan pelatihan tersebut akan menghasilkan suatu model yang kemudian
disimpan sebagai memori (Prasetyo. 2014: 11). Di dalam klasifikasi diberikan
sejumlah record yang dinamakan training set, yang terdiri dari beberapa atribut,
atribut dapat berupa kontinu ataupun kategoris, salah satu atribut menunjukkan
kelas untuk record.
Gambar 2.2 Klasifikasi sebagai pemetakan atribut x ke dalam label kelas y
Menurut Hermawati (2013: 56) ada dua jenis model klasifikasi yaitu:
15
1. Pemodelan Deskriptif (descriptive modelling): Model klasifikasi yang dapat
berfungsi sebagai suatu alat penjelasan untuk membedakan objek-objek
dalam kelas-kelas yang berbeda.
2. Pemodelan Prediktif (predictive modelling): Model klasifikasi yang dapat
digunakan untuk memprediksi label kelas record yang tidak diketahui.
Teknik klasifikasi (classifier) merupakan suatu pendekatan sistematis untuk
membangun model klasifikasi dari suatu himpunan data masukan. Tiap teknik
menggunakan suatu algoritma pembelajaran (learning algorithm) untuk
mendapatkan suatu model yang paling memenuhi hubungan antara himpunan
atribut dan label kelas dalam data masukan. Tujuan dari algoritma pembelajaran
adalah untuk membangun model yang secara umum berkemampuan baik, yaitu
model yang dapat memprediksi label kelas dari record yang tidak diketahui kelas
sebelumnya dengan lebih akurat (Hermawati, 2013: 56).
2.2.1. Konsep pembuatan model dalam klasifikasi
Untuk mendapatkan model, kita harus melakukan analisis terhadap data
latih (training set). Sedangkan data uji (test set) digunakan untuk mengetahui
tingkat akurasi dari model yang telah dihasilkan. Klasifikasi dapat digunakan
untuk memprediksi nama atau nilai kelas dari suatu obyek data (Tan, et al., 2004).
Proses klasifikasi data dapat dibedakan dalam 2 tahap, yaitu :
1) Pembelajaran / Pembangunan Model
Tiap – tiap record pada data latih dianalisis berdasarkan nilai–nilai
atributnya, dengan menggunakan suatu algoritma klasifikasi untuk mendapatkan
model.
16
2) Klasifikasi
Pada tahap ini, data uji digunakan untuk mengetahui tingkat akurasi dari
model yang dihasilkan. Jika tingkat akurasi yang diperoleh sesuai dengan nilai
yang ditentukan atau dianggap cukup baik, maka model tersebut dapat digunakan
untuk mengklasifikasikan record–record data baru yang belum pernah dilatihkan
atau diujikan sebelumnya.
Gambar 2.3 Proses Klasifikasi
Untuk meningkatkan akurasi dan efisiensi proses klasifikasi, terdapat
beberapa langkah pemrosesan terhadap data, yaitu :
1. Data Cleaning
Data cleaning merupakan suatu pemrosesan terhadap data untuk
menghilangkan noise dan penanganan terhadap missing value pada suatu record.
17
2. Analisis Relevansi
Pada tahap ini, dilakukan penghapusan terhadap atribut–atribut yang
berlebihan ataupun kurang berkaitan dengan proses klasifikasi yang akan
dilakukan. Analisis relevansi dapat meningkatkan efisiensi klasifikasi karena
waktu yang diperlukan untuk pembelajaran lebih sedikit daripada proses
pembelajaran terhadap data–data dengan atribut yang masih lengkap (masih
terdapat redundansi).
3. Transformasi Data
Pada data dapat dilakukan generalisasi menjadi data dengan level yang lebih
tinggi. Misalnya dengan melakukan diskretisasi terhadap atribut degan nilai
kontinu. Pembelajaran terhadap data hasil generalisasi dapat mengurangi
kompleksitas pembelajaran yang harus dilakukan karena ukuran data yang harus
diproses lebih kecil.
Menurut Hermawati (2013: 56-57), untuk mengevaluasi performa dari
model yang dibangun, perlu dilakukan pengukuran performa, yaitu pengukuran
akurasi (accuracy) atau tingkat kesalahan (error rate). Jika fij menotasikan jumlah
record dari kelas j pada saat pengujian, maka pengukuran akurasi (accuracy)
dapat dituliskan dengan Persamaan 1.
(1)
Sedangkan tingkat kesalahan (error rate) didefinisikan pada Persamaan 2.
(2)
18
Algoritma klasifikasi berusaha untuk mencari model yang mempunyai
akurasi yang tinggi atau error rate yang rendah ketika model diterapkan pada data
uji (test set).
2.3 Support Vector Machine (SVM)
SVM dikembangkan pada tahun 1992 oleh Vladimir Vapnik dan rekannya,
Bernhard Boser dan Isabelle Guyon yang dikembangkan dari teori structural risk
minimaization. Dengan menggunakan trik kernel untuk memetakan sampel
pelatihan dari ruang input ke ruang fitur dimensi tinggi (Li et al., 2008: 786).
Menurut Han et al., (2012: 408) metode SVM menjadi sebuah metode baru yang
menjanjikan untuk mengklasifikasi data, baik data linier maupun nonlinier. SVM
adalah sebuah algoritma yang bekerja menggunakan pemetaan nonlinier untuk
mengubah data pelatihan asli ke dimensi yang lebih tinggi, dalam dimensi yang
baru, kemudian akan mencari linier optimal pemisah hyperplane (yaitu, “decision
boundary” yang memisahkan tupel dari satu kelas dengan kelas lainnya). Dengan
pemetaan nonlinier yang tepat untuk dimensi yang cukup tinggi, data dari dua
kelas selalu dapat dipisahkan dengan hyperplane. SVM menemukan hyperplane
ini menggunakan support vector (“essential” training tupels) dan margins
(didefinisikan oleh support vectors). Pada Gambar 2.4, SVM menemukan
hyperlane pemisah maksimum, yaitu hyperlane yang mempunyai jarak maksimum
antara tupel pelatihan terdekat. Support vector ditunjukkan dengan batasan tebal
pada titik tupel.
19
Gambar 2.4 Pemisahan dua kelas data dengan margin maksimum
Langkah awal suatu algoritma SVM adalah pendefinisian persamaan suatu
hyperplane pemisah yang dituliskan dengan Persamaan 3.
(3)
W merupakan suatu bobot vektor, yaitu n adalah
jumlah atribut dan b merupakan suatu skalar yang disebut dengan bias. Jika
berdasarkan pada atribut A1, A2 dengan permisalan tupel pelatihan X = ( ,
x1 dan x2 merupakan nilai dari atribut A1 dan A2, dan jika b dianggap sebagai
suatu bobot tambahan , maka persamaan suatu hyperplane pemisah dapat
ditulis ulang seperti pada Persamaan 4.
(4)
Setelah persamaan dapat didefinisikan, nilai dan dapat dimasukkan ke
dalam persamaan untuk mencari bobot , dan atau b. Grafik pemisahan
dua kelas data dengan margin maksimum dapat dilihat pada Gambar 2.4.
Dengan demikian, setiap titik yang terletak di atas hyperplane pemisah
memenuhi Persamaan 5.
(5)
Sedangkan, titik yang terletak dibawah hyperlane pemisah memenuhi rumus
seperti pada Persamaan 6.
20
(6)
Melihat dua kondisi di atas, maka didapatkan dua persamaan hyperplane,
seperti pada Persamaan 7 dan 8.
untuk yi = +1, (7)
untuk yi = -1. (8)
Artinya, setiap tuple yang berada di atas H1 memikiki kelas +1, dan setiap
tuple yang berada di bawah H2 memiliki kelas -1. Perumusan model SVM
menggunakan trik matematika yaitu Lagrangian Formulation. Berdasarkan
Lagrangian formulation, Maximum Margin Hyperplane (MMH) dapat ditulis
ulang sebagai suatu batas keputusan (decision boundary) yaitu:
(9)
adalah label kelas dari support vector merupakan suatu tupel test.
dan adalah parameter numerik yang ditentukan secara otomatis oleh
optimalisasi algoritma SVM dan adalah jumlah vector support.
2.4 Naïve Bayes
2.4.1 Teorema Bayes
Bayes merupakan teknik prediksi berbasis probalistik sederhana yang
berdasar pada penerapan teorema bayes atau aturan bayes dengan asumsi
independensi (ketidaktergantungan) yang kuat (na ve). Dengan kata lain, Naïve
Bayes, model yang digunakan adalah model fitur independen (Prasetyo, 2012:
59). Dalam Bayes (terutama Naïve Bayes), maksud independendensi yang kuat
pada fitur adalah bahwa sebuah fitur pada sebuah data tindak berkaitan dengan
21
ada atau tidaknya fitur lain dalam data yang sama. Prediksi Bayes didasarkan pada
teorema Bayes dengan formula umum dengan Persamaan 10.
(10)
Penjelasan formula diatas sebagai berikut: Parameter Keterangan
P(H|E) Probabilitas bebas bersyarat (conditional probability) suatu hipotesis
H jika diberikan bukti (Evidence) E terjadi.
P(E|H) Probabilitas sebuah bukti E terjadi akan mempengaruhi hipotesis H
P(H) Probabilitas awal (priori) hipotesis H terjadi tanpa memandang bukti
apapun
P(E) Probabilitas awal (priori) bukti E terjadi tanpa memandang
hipotesis/bukti yang lain
Ide dasar dari aturan Bayes adalah bahwa hasil dari hipotesis atas peristiwa
(H) dapat diperkirakan berdasarkan pada beberapa bukti (E) yang diamati. Ada
beberapa hal penting dalam aturan Bayes tersebut yaitu,
a) Sebuah probabilitas awal/prior H atau P(H) adalah probabilitas dari
suatu hipotesis sebelum bukti diamati.
b) Sebuah probabilitas akhir H atau P(H|E) adalah probabilitas dari suatu
hipotesis setelah bukti diamati.
Contoh kasus:
Dalam suatu peramalan cuaca untuk memperkirakan terjadinya hujan, ada faktor
yang memperngaruhi terjadinya hujan, yaitu mendung. Jika diterapkan dalam
22
Naïve Bayes, probabilitas terjadinya hujan, jika bukti mendung sudah diamati,
dinyatakan dengan
P (Hujan|Mendung) adalah nilai probabilitas hipotesis hujan terjadi jika
bukti mendung sudah diamati. P (Mendung|Hujan) adalah nilai probabilitas bahwa
mendung yang diamati akan memengaruhi terjadinya hujan. P(Hujan) adalah
probabilitas awal hujan tanpa memandang bukti apapun, sementara P(Mendung)
adalah probabilitas terjadinya mendung.
Contoh tersebut dapat dikembangkan dengan menambahkan beberapa observasi
yang lain sebagai bukti. Semakin banyak bukti yang dilibatkan, semakin baik
hasil prediksi yang diberikan. Namun, tentu saja bukti tersebut harus benar-benar
berkaitan dan memberi pengaruh pada hipotesis. Dengan kata lain, penambahan
bukti yang diamati tidak sembarangan. Bukti gempa bumi tentu saja tidak
berkaitan dengan hujan sehingga penambahan bukti gempa bumi dalam prediksi
cuaca akan memberikan hasil yang salah. Walaupun ada bukti lain yang
mempengaruhi cuaca seperti suhu udara, tetap saja ada nilai probabilitas P(Suhu)
yang harus dinilaisecara independen dalam teorema bayes, yang sulit dilakukan
karena suhu udara juga dipengaruhi oleh faktor lain seperti cuaca kemarin,
mendung, polusi, dan sebagainya. Jadi, penilaian probabilitas tersebut tidak
memandang faktor lain. Inilah sebabnya disebut Naïve Bayes (Bayes Naif).
Teorema bayes juga bisa menangani beberapa bukti, jika ditambahkan bukti suhu
udara dan angin, bentuknya berubah menjadi
23
2.4.2 Naïve Bayes untuk Klasifikasi
Prasetyo (2012: 61) menjelaskan kaitan antara Naïve Bayes dengan
klasifikasi, kolerasi hipotesis dan bukti klasifikasi adalah bahwa hipotesi dalam
teorema bayes merupakan label kelas yang menjadi target pemetaan dalam
klasifikasi, sedangkan bukti merupakan fitur-fitur yang menjadikan masukan
dalam model klasifikasi. Jika X adalah vektor masukkan yang berisi fitur dan Y
adalah label kelas, Naïve Bayes dituliskan dengan P(X|Y). Notasi tersebut berarti
probabilitas label kelas Y didapatkan setelah fitur-fitur X diamati. Notasi ini
disebut juga probabilitas akhir (posterior probability) untuk Y, sedangkan P(Y)
disebut probabilitas awal (prior probability) Y.
Selama proses pelatihan harus dilakukan pembelajaran probabilitas akhir
P(Y|X) pada mobel untuk setiap kombinasi X dan Y berdasarkan informasi yang
didapat dari data latih. Dengan membangun model tersebut, suatu data uji X’
dapat diklasifikasikan dengan mencari nilai Y’ dengan memaksimalkan P(Y’|X’)
yang didapat. Formulasi Naïve Bayes untuk klasifikasi yaitu pada Persamaan 11.
(11)
P(X|Y) adalah probabilitas data dengan vektor X pada kelas Y. P(Y) adalah
probabilitas awal kelas Y. adalah probabilitas independen kelas Y
dari semua fitur dalam vetor X. Nilai P(X) selalu tepat sehingga dalam
24
perhitungan prediksi nantinya kita tinggal menghitung bagian P(Y)
dengan memilih yang terbesar sebagai kelas yang dipilih sebagai hasil prediksi.
Sementara probabilitas independen tersebut merupakan pengaruh
semua fitur dari data terhadap setiap kelas Y, yang dinotasikan dengan Persamaan
12.
(12)
Setiap set fitur X= terdiri atas q atribut (q dimensi).
Umumnya, Bayes mudah dihitung untuk fitur bertipe ketegoris seperti pada
kasus klasifikasi hewan dengan fitur “penutup kulit” dengan nilai {bulu, rambut,
cangkang} atau kasus fitur “jenis kelamin” dengan nilai {pria, wanita}. Namun
untuk fitur dengan tipe numerik (kontinu) ada perlakuan khusus sebelum
dimasukan dalam Naïve Bayes. Caranya yaitu
a) Melakukan diskretisasi pada setia fitur kontinu dan mengganti nilai fitur
kontinu tersebut dengan nilai interval diskret. Pendekatan ini dilakukan
dengan mentransformasikan fitur kontinu ke dalam fitur ordinal.
b) Mengasumsi bentuk tertentu dari distribusi probabilitas untuk fitur
kontinu dan memperkirakan parameter distribusi dengan data pelatihan.
Distribusi Gaussian biasanya dipilih untuk merepresentasikan
probabilitas bersyarat dari fitur kontinu pada sebuah kelas P(Xi|Y),
sedangkan ditribusi Gaussian dikarateristikkan dengan dua parameter:
mean, . Untuk setiap kelas yj, probabilitas bersyarat
kelas yj untuk fitur Xi adalah seperti pada Persamaan 13.
25
(13)
Parameter bisa didapat dari mean sampel Xi ( dari semua data latih
yang menjadi milik kelas yj, sedangkan dapat diperkirakan dari varian sampel
( ) dari data latih.
Contoh kasus:
Tabel 2.1 adalah data latih untuk klasifikasi jenis hewan. Fitur yang menggunakan
tipe numerik adalah berat. Mean dan varian untuk masing-masing kelas mamalia
dan reptil dihitung sebagai berikut:
26
Untuk memperjelas penggunaan fitur bertipe numerik, contoh data uji berupa
hewan musang dengan nilai fitur penutup kulit = rambut, melahirkan = iya, berat
= 15. Masuk ke kelas manakah hewan musang tersebut?
Tabel 2.1 Data latih klasifikasi hewan
Nama Hewan Penutup Kulit Melahirkan Berat Kelas
Ular
Tikus
Kambing
Sapi
Kadal
Kucing
Bekicot
Harimau
Rusa
Kura-kura
Sisik
Bulu
Rambut
Rambut
Sisik
Rambut
Cangkang
Rambut
Rambut
Cangkang
Ya
Ya
Ya
Ya
Tidak
Ya
Tidak
Ya
Ya
Tidak
10
0.8
21
120
0.4
1.5
0.3
43
45
7
Reptil
Mamalia
Mamalia
Mamalia
Reptil
Mamalia
Reptil
Mamalia
Mamalia
Reptil
Untuk menyelesaikannya, pertama kita harus mengetahui nilai probabilitas setiap
fitur pada setiap kelasnya atau , ringkasnya dapat dilihat pada Tabel 2.2.
Selanjutnya, untuk data uji di atas, hitung nilai probabilitas untuk fitur dengan tipe
numerik, yaitu berat.
27
Tabel 2.2 Probabilitas fitur dan kelas
Penutup kulit Melahirkan
Mamalia Reptil Mamalia Reptil
Sisik = 0 Bulu = 1 Rambut = 5 Cangkang = 0
Sisik = 2
Bulu = 0
Rambut = 0
Cangkang = 2
Ya = 6
Tidak = 0
Ya = 1
Tidak = 0
Berat Kelas Mamalia Reptil Mamalia Reptil
Berulah kemudian menghitung probabilitas akhir untuk setiap kelas:
Selanjutnya, nilai tersebut dimasukan untuk mendapatkan probabilitas akhir.
nilainya konstan sehingga tidak perlu diketahui karena yang terbesar
dari dua kelas tersebut tidak dapat dipengaruhi P(X). Karena nilai probabilitas
akhir terbesar ada di kelas mamalia, data uji musang diprediksi sebagai kelas
mamalia.
2.5 Dataset
Kata ‘data’ dalam terminologi statistik adalah kumpulan objek dengan
atribut-atribut tertentu, di mana objek tersebut adalah individu berupa data di
28
mana setiap data memilih sejumlah atribut. Atribut tersebut berpengaruh pada
dimensi dari data, semakin banyak atribut/fitur maka semakin besar dimensi data.
Kumpulan data-data membentuk dataset (Prasetyo, 2014: 7).
Dataset merupakan kumpulan dari objek dan atributnya. Atribut merupakan
sifat atau karakteristik dari suatu objek. Contohnya: warna mata seseorang, suhu,
dsb. Atribut juga dikenal sebagai variabel, field, karakteristik atau fitur. Kumpulan
dari atribut menggambarkan sebuah objek. Objek juga disebut record, titik, kasus,
sample, entitas atau instance (Hermawati, 2013: 24).
Prasetyo (2014: 8) menyatakan bahwa dataset yang diolah dalam data
mining adalah keluaran dari sistem data warehouse yang menggunakan query
untuk melakukan pengambilan data dari sejumlah tabel dalam sistem basis data.
Dataset yang berisi kumpulan data, dengan semua data mempunyai sejumlah
atribut (fitur) numerik yang sama, dapat dipandang sebagai vektor (data) dalam
wilayah multidimensi, dimana setiap dimensi (fitur) merepresentasikan atribut
berbeda yang menggambarkan objek/data.
2.6 Feature Selection
Feature Selection adalah proses pemilihan fitur yang relevan, atau subset
calon fitur. Kriteria evaluasi yang digunakan untuk mendapatkan bagian fitur
optimal (Kumar & Minz, 2014: 214). Menurut Tang et al., (2014: 4) feature
selection merupakan teknik yang secara umum digunakan untuk mengurangi
dimensi dikalangan praktisi. Hal ini bertujuan untuk memilih subset kecil dari
fitur yang relevan dari yang asli menurut kriteria evaluasi relevansi tertentu, yang
29
biasanya menyebabkan kinerja learning yang lebih baik (misalnya, akurasi yang
lebih tinggi untuk klasifikasi), biaya komputasi yang lebih rendah, dan model
interpretability yang lebih baik. Sedangkan menurut Jindal et al., (2015: 6)
penerapan metode feature selection digunakan untuk mengurangi dimensi dari set
fitur dengan menghapus fitur yang tidak relevan.
Feature selection memiliki sejumlah keunggulan seperti ukuran dataset
yang lebih kecil, menyusutnya ruang pencarian, dan kebutuhan komputasi ynag
lebih rendah. Tujuannya adalah pengurangan ukuran dimensi untuk menghasilkan
peningkatan akurasi klasifikasi. Metode untuk feature subset selection untuk
klasifikasi dokumen teks menggunakan fungsi evaluasi yang diterapkan untuk
satu kata. Scoring dari kata-kata individu (Fitur individu terbaik) dapat dilakukan
menggunakan beberapa tindakan, salah satunya Information Gain (IG). Metode
fiture-scoring ini, peringkat fitur dan skor ditentukan secara independen.
2.6.1 Information Gain
Menurut Jensen & Shen (2008: 156) Information Gain merupakan
ekspektasi dari pengurangan entropi yang dihasilkan dari partisi objek dataset
berdasarkan fitur tertentu. Ada 2 kasus berbeda pada saat perhitungan Information
Gain, pertama untuk kasus perhitungan atribut tanpa missing value dan kedua,
perhitungan atribut dengan missing value.
� Perhitungan Information Gain tanpa Missing value
Untuk menghitung Information Gain tanpa missing value digunakan rumus
seperti pada Persamaan 14.
(14)
30
Dimana:
S : himpunan kasus
A : atribut
: jumlah kasus pada partisi ke-i
: jumlah kasus dalam S
Sementara itu, untuk menghitung nilai Entropi dari koleksi label benda S
dan A didefinisikan pada Persamaan 15.
(15)
Dimana:
S : himpunan kasus
c : jumlah partisi S
Pi : proporsi dari Si terhadap S.
Sebagai contoh kasus untuk mencari apakah pemain baseball akan masuk
class “yes play” atau “no play” berdasarkan data berikut:
Tabel 2.3 Contoh data bermain Baseball
Outlook Temperature Humidity Windy Play ball Sunny Sunny
Overcast Rain Rain Rain
Overcast Sunny Sunny Rain
Sunny Overcast
Hot Hot Hot Mild Cool Cool Cool Mild Cool Mild Mild Mild
High High High High
Normal Normal Normal
High Normal Normal Normal
High
Weak Strong Weak Weak Weak Strong Strong Weak Weak Weak Strong Strong
No No Yes Yes Yes No Yes No Yes Yes Yes Yes
31
Overcast Rain
Hot Mild
Normal High
Weak Strong
Yes No
Data-data diatas diklasifikasikan berdasarkan atribut outlook, temperature,
humidity, dan windy. Pembagian hasilnya ada 2, yaitu ‘Yes’ dan “No’ untuk
playball. Dari tabel diketahui bahwa ada 14 data, 5 menyatakan ‘No’ playball, 9
menyatakan ‘Yes’ playball.
Maka,
Entropi untuk atribut outlook:
Nilai Gain untuk atribut outlook:
Dengan menggunakan cara yang sama, Gain dari semua atribut dapat dicari.
32
Gain(outlook) = 0,246 Gain(humidity) = 0,151
Gain(windy) = 0,048 Gain(temperature) = 0,246
Setelah nilai Information Gain pada semua atribut dihitung, maka atribut
yang mempunyai nilai Information Gain tersebar yang dipilih menjadi tes atribut.
� Perhitungan Information Gain dengan missing value
Untuk atribut dengan missing value perhitungan Information Gain-nya
diselesaikan dengan gain ratio.
2.6.1.1 Penanganan atribut kontinyu
Salah satu cara menangani masalah atribut kontinyu adalah dengan
menggunakan Entropy-Based Discretization yang melibatkan perhitungan class
entropy. Proses diskretisasi merupakan proses transformasi data kuantitatif ke
dalam data kualitatif. Teknik ini digunakan untuk mereduksi jumlah nilai suatu
peubah yang berskala numerik atau kontinu dengan cara memilah-milah selang
nilai peubah ke dalam sub-sub selang nilai.
2.7 Chronic Kidney Disease (CKD)
Penelitian dari Muslim et al., (2015: 70) menjelaskan bahwa Chronic
Kidney Disease (CKD) merupakan proses patofisiologis dengan berbagai
penyebab (etiologi) yang variasi yang akan menyebabkan penurunan progresif
fungsi ginjal secara signifikan dimana pada umumnya akan berakhir dengan
terjadinya gagal ginjal. Uji laboratorium sangat diperlukan untuk proses deteksi
dini chronic kidney disease. Tingkat serum kreatinin, tingkat plasma ureum, dan
33
nilai dari tingkat filltrasi glomerulus menjadi sebuah indikator kuat yang
menyatakan seorang pasien didiagnosa menderita chronic kidney disease atau
tidak.
2.8 Penelitian Terkait
Penelitian ini dikembangkan dari beberapa referensi penelitian terdahulu
yang mempunyai keterkaitan dengan metode dan objek penelitian. Penggunaan
referensi ini ditujukan untuk memberikan batasan-batasan terhadap metode yang
nantinya akan dikembangkan lebih lanjut. Berikut adalah uraian dari penelitian
dari peneliti sebelumnya.
Vijayarani & Dhayanand (2015) melakukan penelitian yang berjudul “Data
Mining Classification Algorithms for Kidney Disease Prediction”. Penelitian ini
menggunakan algoritma Support Vector Machine (SVM) dan Naïve Bayes untuk
memprediksi kidney disease dan kemudian membandingkan dua algoritma
tersebut berdasarkan akurasi klasifikasi dan faktor eksekusi waktu. Penelitian ini
menghasilkan bahwa diantara SVM dan Naïve Bayes, SVM mencapai kinerja
klasifikasi tertinggi, hasil lebih akurat, maka dianggap sebagai classifier terbaik
bila dibandingkan dengan Naïve Bayes, namun Naïve Bayes memiliki waktu
eksekusi minimum dalam mengklasifikasikan data.
Ariadi & Fithriasari (2015) dalam penelitiannya yang berjudul “Klasifikasi
Berita Indonesia menggunakan Metode Naïve Bayesian Classification (NBC) dan
Support Vector Machine dengan Confix Stripping Stemmer” menggunakan
algoritma klasifikasi Naïve Bayes Classifier dan Support Vector Machine untuk
34
mengkategorikan data berita yang berbentuk teks, dengan melalui proses confix-
stripping stemmer untuk mendapatkan data kasar dari berita indonesia. Hasil dari
penelitian menunjukan, perbandingan keduanya dalam klasifikasi data berita
berdasarkan Akurasi, Precision, Recall, F-Measure. NBC menunjukan 82.2%,
83.9%, 82.2%, 82.4%, sedangkan SVM menunjukan 88.1%, 89.1%, 88.1 %,
88.3%. Dari hasil tersebut dapat dikatakan bahwa SVM melakukan lebih baik
daripada NBC dalam mengklasifikasikan data berita di Indonesia.
Vijayarani & Dhayanand (2015) pada penelitian lainnya yang berjudul
“Liver Disease Prediction using SVM and Naïve Bayes Algorithms” menggunakan
algoritma SVM dan Naïve Bayes lalu membandingkan akurasi dan waktu eksekusi
dalam mendiagnosa penyakit hati. Dari hasil percobaan menunjukan bahwa
akurasi dari algoritma SVM lebih baik dari pada Naïve Bayes, namun untuk waktu
eksekusi Naïve Bayes mempunyai waktu lebih singkat dalam pelaksaannya.
Ramaswami & Bhaskaran (2009) dalam penelitiannya yang berjudul “A
Study on Feature Selection Techniques in Educational Data Mining” yang
membandingkan enam teknik selection feature yang mempengaruhi keakuratan
dalam memprediksi perilaku siswa dalam proses pembelajaran. Dari pengamatan
eksperimen enam teknik yang dibandingkan (Correlation-based Attribute
evaluation (CB), Chi-Square Attribute evaluation (CH), Gain-Ratio Attribute
evaluation (GR), Information-Gain Attribute evaluation (IG), Relief Attribute
evaluation (RF) dan Symmetrical Uncertainty Attribute evaluation (SU)),
berdasarkan nilai ROC, F1-Measure, high Predictive Accuracy (PA) dan low Root
Mean Square Error menunjukan bahwa dengan menggunakan Information Gain
35
(IG) dapat mengoptimalkan atribut dengan lebih baik dari teknik selection feature
lainnya.
Sari (2016) dalam penelitiannya yang berjudul “Implementasi Teknik
Seleksi Fitur Information Gain Pada Algoritma Klasifikasi Machine Learning
Untuk Prediksi Performa Akademik Siswa” menggunakan Information Gain pada
algoritma klasifikasi untuk mengidentifikasi faktor relevan yang mempengaruhi
performa akademik siswa. Dari hasil percobaan, menunjukan bahwa dengan
mengimplementasikan teknik Information Gain dapat meningkatkan akurasi dari
algoritma klasifikasi machine learning dalam memprediksi performa akademik
siswa pada mata pelajaran Matematika.
73
BAB V
SIMPULAN
5.1. Simpulan
Dari hasil penelitian dan pembahasan terkait implementasi Information
Gain guna meningkatkan akurasi pada algoritma Support Vector Machine dan
algoritma Naïve Bayes dalam mendiagnosa chronic kidney disease, menggunakan
dataset chronic kidney disease yang diperoleh dari UCI repository of machine
learning dapat ditarik kesimpulan sebagai berikut.
1) Penerapan Information Gain pada algoritma Support Vector Machine dan
Naïve Bayes pada penelitian ini dapat meningkatkan hasil akurasi dari kedua
algoritma tersebut. Hasil akurasi yang dihasilkan oleh algoritma Support
Vector Machine setelah menerapkan Information Gain mengalami
peningkatan sebesar 0,3333%, sedangkan akurasi yang dihasilkan oleh
algoritma Naïve Bayes dapat meningkat 1,0075%.
2) Setelah menerapkan Information Gain pada kedua algoritma, maka
diperoleh akurasi terbaik 99,50% yang dihasilkan algoritma Naïve Bayes,
sedangkan algoritma support vector machine menghasilkan akurasi sebesar
98,3333%. Berdasarkan hasil tersebut dalam penelitian ini dapat
disimpulkan bahwa dengan menerapkan Information Gain hasil akurasi dari
algoritma Naïve Bayes lebih baik dari pada algoritma Support Vector
Machine dalam mendiagnosa chronic kidney disease.
74
5.2. Saran
1) Untuk penelitian selanjutnya diharapkan adanya improvisasi pada sistem ini,
agar sistem dapat mengklasifikasikan dan mendiagnosa lebih dari satu
dataset. Dan juga dapat menambahkan perhitungan yang lebih akurat pada
perhitungan Information Gain secara otomatis dalam sistem.
2) Perlunya penanganan yang lebih baik dan lebih efektif lagi pada variabel
yang memiliki missing value agar mendapatkan hasil akurasi yang lebih
optimal.
3) Sistem ini memungkinkan untuk dikembangkan dengan menggunakan
software lain selain software Matlab agar lebih mudah dan bisa digunakan
oleh masyarakat umum atau instansi terkait, hal ini dikarenakan software
Matlab membutuhkan banyak memori di komputer.
75
DAFTAR PUSTAKA
Ariadi, D., & Fithriasari, K. 2016. Klasifikasi Berita Indonesia Menggunakan
Metode Naïve Bayesian Classification dan Support Vector Machine Dengan
Confix Stripping Stemmer. Jurnal Sains dan Seni ITS. 4(2).
Beniwal, S., & Arora, J. 2012. Classification and feature selection techniques in
data mining. International Journal of Engineering Research & Technology (IJERT). 1-6.
Han, J., Micheline, K., & Jian, P. 2012. Data mining: Concepts and Techniques (3
th ed.). Waltham, MA: Elsevier/Morgan Kaufmann.
Hermawati, F. A. 2013. Data mining. Yogyakarta: CV. Andi Offset.
Jensen, R., & Shen, Q. 2008. Computational Intelligence and Feature Selection: Rough and Fuzzy Approaches. Vol. 8. John Wiley & Sons.
Jindal, R., Malhotra, R & Jain, A. 2015. Techniques for text classification:
Literature review and current trends. Weobology, 12(2), 1-28.
Kumar, K. S., & Chezian, D. R. M. 2014. Support Vector Machine and K-Nearest
Neighbor Based Analysis for the Prediction of Hypothyroid. International Journal of Pharma and Bio Sciences, 5(4): (B) 447-453.
Kumar, V., & Minz, S. 2014. Feature Selection: A Literature Review. Smart Computing Review. Vol 4(3), 211-229.
Kotu, V., & Deshpande, B. 2015. Predictive Analytics and Data mining: Concepts and Practice with RapidMiner. Waltham, MA: Elsevier/Morgan Kauffmann.
Larose, D. T. 2014. Discovering knowledge in data: an introduction to data mining. New Jersey: A John Wiley & Sons.
Li, X., Wang, L., & Sung, E. 2008. AdaBoost with SVM-based component
classifiers. Engineering Applications of Artificial Intelligence. Vol. 21 (5):
785-795.
Muslim, M. A., Kurniawati, I., & Sugiharti, E. 2015. Expert System Diagnosis
Chronic Kidney Disease Based On Mamdani Fuzzy Inference System.
Journal of Theoretical and applied Information Technology. 78(1), 70-75.
National Kidney Foundation. (2002). K/DOQI Clinical Practice Guildelines for Chronic Kidney Disease: Evaluation, Classification and Stratification. Am J
Kidney Dis 39:S1-S266.
76
Prasetyo, E. 2012. Data Mining: Konsep dan Aplikasi Menggunakan Matlab.
Yogyakarta: CV. Andi Offset.
Prasetyo, E. 2014. Data Mining: Mengolah Data Menjadi Informasi Menggunakan Matlab. Yogyakarta: CV. Andi Offset.
Ramaswami, M., & Bhaskaran, R. (2009). A study on feature selection techniques
in educational data mining. Journal of computing. Vol. 1 (1) : 7-11.
Santosa, B. 2007. Data Mining: Teknik Pemanfaatan Data untuk Keperluan Bisnis. Yogyakarta: Graha Ilmu.
Santosa, B. 2007. Data Mining Terapan dengan Matlab. Yogyakata: Graha Ilmu.
Sari, B. N. 2016. Implementasi teknik seleksi fitur information gain pada
algoritma klasifikasi machine learning untuk prediksi performa akademik
siswa. Seminar Nasional Teknologi Informasi dan Multimedia. Vol. 4(1): 55-
60.
Sugiyono. 2013. Metode Penelitian Pendidikan: Pendekatan Kuantitaif, Kualitatif dan R&D. Bandung: Alfabeta.
Tan, B.C.,Ho, B.C.,& Shea. 2004. Two new moss species, Trichosteleum
fleischeri and Splachnobryum temasekensis. Journal of Hattori Botanical Laboratory. 96(223-230).
Tang, J., Alelyani, S., & Liu, H. 2014. Feature selection for classification: A
review. Data Classification: Algorithms and Applications. (37).
Turban, E., Aronson, J., Liang, T. 2005. Decision Support System and Intelegent Systems. Yogyakarta: Andi Offset
Vijayarani, S., & Dhayanand, M, S. 2015. Data Mining Classification Algorithms
for Kidney Disease Prediction. International Journal on Cybernetics & Informatics (IJCI). Vol. 4 (4):13-25.
Vijayarani, S., & Dhayanand, M, S. 2015. Liver disease prediction using SVM
and Naïve Bayes algorithms. International Journal of Science, Engineering and Technology Research (IJSETR). Vol. 4(4): 816-820.