KLASIFIKASI RANDOM FOREST PADA DATA IMBALANCED
LAILI FADILAH
PROGRAM STUDI MATEMATIKA
FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH
JAKARTA
i
KLASIFIKASI RANDOM FOREST
PADA DATA IMBALANCED
Skripsi
Diajukan kepada
Universitas Islam Negeri Syarif Hidayatullah Jakarta Fakultas Sains dan Teknologi
Untuk Memenuhi Salah Satu Persyaratan Dalam Memperoleh Gelar Sarjana Matematika (S.Mat)
Oleh:
Laili Fadilah 1111094000016
PROGRAM STUDI MATEMATIKA FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH JAKARTA
ii
LEMBAR PENGESAHAN
Skripsi ini berjudul “Klasifikasi Random Forest pada Data Imbalanced” yang ditulis oleh Laili Fadilah, NIM 1111094000016 telah diuji dan dinyatakan lulus dalam sidang munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta pada hari, 2018. Skripsi ini telah diterima untuk memenuhi salah satu persyaratan dalam memperoleh gelar sarjana Strata Satu (S1) Program Studi Matematika.
Menyetujui, Pembimbing I
Drs. Slamet Aji Pamungkas, M. Eng NIP. 19670618 199011 001
Pembimbing II
Muhaza Liebenlito, M.Si NIDN. 2003098802
Penguji I
Mahmudi, M. Si NIDN. 2029048801
Penguji II
M. Syamsuddin Wisnubroto, M.Si
Mengetahui, Dekan Fakultas Sains dan Teknologi
Dr. Agus Salim, M.Si NIP. 19720816 199903 1 003
Ketua Program Studi Matematika
Dr. Nina Fitriyati, M.Kom NIP. 19760414 200604 2 001
iii
PERNYATAAN
DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR-BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.
Jakarta, Juni 2018
Laili Fadilah 1111094000016
iv
PERSEMBAHAN DAN MOTTO
PERSEMBAHAN
Skripsi ini saya persembahkan untuk :
Kedua orang tua saya yang selalu memberikan doa, dukungan, motivasi, dan semangat yang tiada henti demi kesuksesan anaknya.
MOTTO
v
ABSTRAK
Laili Fadilah, Klasifikasi Random Forest pada Data Imbalanced. Di bawah
bimbingan Drs. Slamet Aji Pamungkas, M. Eng dan Muhaza Liebenlito, M.Si
Random Forest merupakan salah satu metode klasifikasi yang berisi kumpulan
dari pohon keputusan (ensemble). Namun pada data yang besar (big data) dapat mempengaruhi keseimbangan kelas (imbalanced) yang menyebabkan meningkatnya bias terhadap kelas mayoritas dan mengurangi kinerja klasifikasi. Sampling data dilakukan untuk menyeimbangkan gugus data sehingga tingkat keseimbangan yang diinginkan tercapai. Sampling data dilakukan dengan menggunakan metode Random Under Sampling, Random Over Sampling, SMOTE. Hasilnya diperoleh performa pada metode ROS, SMOTE, dan tanpa sampling memperoleh performa yang lebih baik, bila dibandingkan dengan metode RUS yang kurang begitu baik. Sedangkan hasil pengklasifikasian pada
Random Forest diperoleh mtry terbaik adalah 4 dan ntree terbaik adalah 1000. Kata Kunci : Random Forest, Data Sampling, Imbalanced Data.
vi
ABSTRACT
Laili Fadilah, Random Forest Classification in Imbalanced Data. Under the
guidance of Drs. Slamet Aji Pamungkas, M. Eng and Muhaza Liebenlito, M.
Si.
Random Forest is one of classification method that contains a collection of
decision tree (ensemble). However, large data can affect the class balance (imbalanced) that would caused increasing bias towards the majority class and reduce the classification performance. Sampling data was used to balance the data until the desired level of balance is achieved. Sampling data was done by using Random Under Sampling method, Random Over Sampling, and SMOTE. The result obtained that ROS, SMOTE, and without sampling have better performance when compared with the RUS method which has lower performance. The results of classification on Random Forest obtained best mtry is 4 and best ntree is 1000.
vii
KATA PENGANTAR
Assalamu’alaikum Wr. Wb.
Segala puji bagi Allah SWT yang telah memberikan Nikmat dan Rahmat-Nya kepada kita semua, Sholawat serta salam semoga senantiasa tercurahkan kepada Nabi Muhammad SAW, beserta keluarganya dan para sahabatnya.
Dengan segala kemudahan yang telah diberikan oleh Allah SWT, penulis dapat menyelesaikan penelirian dengan judul “Klasifikasi Random Forest pada
Data Imbalanced”.
Penulis menyadari bahwa penelitian ini dapat diselesaikan berkat dukungan dan bantuan dari beberapa pihak. Untuk itu, pada kesempatan ini penulis ingin menyampaikan terima kasih kepada:
1. Kedua orang tuaku tercinta Bapak Madina dan Ibu Taty, kakakku Nur Faizah serta keluarga-keluargaku yang tidak pernah berhenti memberikan doa, kasih sayang, semangat, serta dukungannya sehingga penulis dapat menyelesaikan penelitian ini.
2. Bapak Dr. Agus Salim, M.Si selaku Dekan Fakultas Sains dan Teknologi. 3. Ibu Dr. Nina Fitriyati, M.Kom selaku Ketua Program Studi Matematika
UIN Syarif Hidayatullah Jakarta.
4. Bapak Drs. Slamet Aji Pamungkas, M. Eng dan Bapak Muhaza Liebenlito, M.Si selaku pembimbing yang telah membantu penulis dalam menyelesaikan penelitian ini.
5. Bapak Mahmudi, M.Si dan Bapak M. Syamsuddin Wisnubroto, M.Si selaku penguji yang memberikan koreksi membangun dalam penelitian ini.
6. Bapak Taufik Edy Susanto, yang telah memberikan ide kepada penulis. 7. Seluruh Dosen dan Karyawan Program Studi Matematika, yang telah
mengajarkan banyak hal yang sangat bermanfaat bagi penulis. 8. Teman-teman seperjuangan, Dwi, Mare, Indah, Dini.
9. Teman-teman yang sudah banyak membantu, menyemangati dan mengajari penulis, Donat dan Utih, Dewi, Ujo, .
viii
10. Teman-teman sosialita yang tidak pernah lelah menyemangati dan memberi dorongan kepada penulis, Veli, Qori, Rani, Gina, Nisa.
11. Seluruh teman-teman Matematika 2011 yang senantiasa membantu, menemani dan memberikan semangat kepada penulis.
12. Semua pihak yang sudah membantu penulis dalam mengerjakan penelitian ini yang tidak dapat penulis sebutkan satu persatu.
Penulis menyadari bahwa dalam penelitian ini masih banyak kekurangan. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun untuk perbaikan di masa yang akan datang. Dan akhirnya, penulis berharap semoga penelitian ini dapat bermanfaat.
Wassalamu’alaikum Wr. Wb.
Jakarta, Juni 2018
ix
DAFTAR ISI
LEMBAR JUDUL ... i
LEMBAR PENGESAHAN ... ii
PERNYATAAN ... iii
PERSEMBAHAN DAN MOTTO ... iv
ABSTRAK ... v
ABSTRACT ... vi
KATA PENGANTAR ... vii
DAFTAR ISI ... ix
DAFTAR GAMBAR ... xi
DAFTAR TABEL ... xii
BAB I PENDAHULUAN ... 1 1.1 Latar Belakang ... 1 1.2 Rumusan Masalah ... 3 1.3 Tujuan Penelitian ... 3 1.4 Batasan Masalah ... 4 1.5 Manfaat Penelitian ... 4
BAB II TINJAUAN PUSTAKA ... 5
2.1 Data Sampling ... 5
2.2 Decision Tree ... 9
2.3 Classification And Regression Tree (CART) ... 11
2.4 Random Forest ... 16
2.4.1 Tingkat Misklasifikasi (Out of Bag Error) ... 19
2.4.2 Variable Importance (Variabel Terpenting) ... 20
2.5 Confusion Matrix ... 20
BAB III METODOLOGI PENELITIAN ... 22
3.1 Data dan Variabel Penelitian... 22
3.2 Metode Pengolahan dan Analisis Data ... 23
3.2.1 Sampling Data ... 23
x
3.3 Diagram Alur Penelitian ... 24
BAB IV HASIL DAN PEMBAHASAN ... 26
4.1 Persiapan Data ... 26
4.2 Sampling Data ... 26
4.3 Klasifikasi dengan Random Forest ... 28
4.3.1 Pemilihan mtry dan ntree ... 29
4.3.2 Rataan Tingkat Misklasifikasi (Out Of Bag Error) ... 29
4.3.3 Variable Importance (Variabel Terpenting) ... 31
4.4 Prediksi Hasil Testing ... 32
BAB V KESIMPULAN DAN SARAN ... 34
5.1 Kesimpulan ... 34
5.2 Saran ... 35
xi
DAFTAR GAMBAR
Gambar 2. 1 Struktur Decision Tree ... 10
Gambar 2. 2 Hasil pohon sementara ... 15
Gambar 2. 3 Bentuk pohon penuh ... 16
Gambar 2. 4 Contoh bentuk Out of Bag ... 19
Gambar 3. 1 Diagram alur penelitian ... 25
Gambar 4. 1 Hasil Out of Bag Error ... 30
xii
DAFTAR TABEL
Tabel 2. 1 Contoh Data yang Akan Di Sampling ... 6
Tabel 2. 2 Hasil ROS... 7
Tabel 2. 3 Hasil SMOTE ... 8
Tabel 2. 4 Contoh data untuk pembentukan CART ... 13
Tabel 2. 5 Banyaknya record untuk variabel buying ... 14
Tabel 2. 6 Hasil perolehan Ginisplit ... 14
Tabel 2. 7 Confusion Matrix ... 21
Tabel 4. 1 Hasil sampling RUS, ROS, dan SMOTE ... 27
Tabel 4. 2 Hasil performa dari RUS, ROS, SMOTE, dan Tanpa Sampling ... 27
Tabel 4. 3 Out of Bag Error (Rataan Tingkat Misklasifikasi) ... 30
1
BAB I
PENDAHULUAN
1.1 Latar Belakang
Banyak metode yang dapat digunakan untuk mengklasifikasikan data, salah satunya adalah Decision Tree. Decision Tree merupakan salah satu metode pengambilan keputusan. Ide dasar dari Decision Tree adalah pembentukan pohon keputusan. Pembentukan pohon pada Decision Tree ini diperoleh dengan mengklasifikasikan variabel-variabel ke dalam pohon mulai dari simpul akar hingga ke simpul daun (simpul akhir). Karena pertumbuhan pohon pada Desicion
Tree di tumbuhkan hingga mencapai kehomogenan, hal ini dapat mengakibatkan overfitting, sehingga diperlukan suatu metode yang dapat mengatasi hal ini.
Metode untuk menghindari overfitting ini dapat dilakukan dengan memangkas pohon (pruning) atau dapat menggunakan metode ensemble. Pemangkasan pohon (pruning) dapat dilakukan dengan algoritma CART, sedangkan penggunaan metode ensemble dapat menggunakan Random Forest.
Random Forest merupakan salah satu metode klasifikasi yang berisi
kumpulan dari pohon keputusan (ensemble). Banyak keuntungan yang diperoleh dengan menggunakan Random Forest seperti tahan terhadap outliers dan noise, serta mudah digunakan [2]. Namun pada data yang besar (big data) dapat mempengaruhi keseimbangan kelas (imbalanced) yang menyebabkan meningkatnya bias terhadap kelas mayoritas dan mengurangi kinerja klasifikasi
2 [2]. Salah satu cara dalam mengatasi masalah ini adalah dengan melakukan sampling data. Sampling data dilakukan untuk menyeimbangkan gugus data sehingga tingkat keseimbangan yang diinginkan tercapai [2].
Pada tahun 2014, Jamilu Awwalu melakukan penelitian yang berjudul “Performance Comparison of Data Mining Algorithm: A Case Study on Car
Evaluation Dataset” yaitu dengan membandingkan performa dari beberapa
algoritma yaitu Decision Tree, Artificial Neural Network (ANN), dan Naïve Bayes yang masing-masing menghasilkan akurasi sebesar 93.51%, 92.1% dan 93.51% [1]. Lalu pada tahun 2015, David J. Dittman, Taghi M. Khoshgoftaar dan Amri Napolitano melakukan penelitian yang berjudul “The Effect of Data Sampling
When Using Random Forest on Imbalanced Bioinformatics Data” yang menguji
pengaruh sampling data dengan menggunakan tiga teknik sampling data, yaitu
Random Under Sampling, Random Over Sampling, dan Synthetic Minority Oversampling (SMOTE) [6]. Dari penelitian tersebut diperoleh bahwa sampling
data memang meningkatkan kinerja klasifikasi Random Forest, namun analisis statistik menunjukkan bahwa peningkatan kinerja tidak signifikan secara statistik. Sehingga penggunaan sampling data tidak perlu dilakukan karena Random Forest cukup kuat dalam mengatasi data yang imbalanced. Oleh karena itu peneliti tertarik untuk mencoba mengklasifikasikan data acceptability car yang mempunyai data imbalance dengan menggunakan algoritma Random Forest. Berdasarkan penjelasan di atas, maka penulis akan melakukan penelitian yang berjudul “Klasifikasi Random Forest pada Data Imbalanced”.
3
1.2 Rumusan Masalah
Permasalahan yang akan dikaji berdasarkan latar belakang di atas adalah: 1. Bagaimana mengklasifikasi kelayakan mobil dengan menggunakan
algoritma Random Forest?
2. Bagaimana performa Random Forest pada data yang imbalanced?
3. Bagaimana hasil akurasi dari algoritma Random Forest jika dibandingkan dengan metode Decision Tree, ANN, dan Naïve Bayes?
4. Variabel manakah yang paling berpengaruh dalam pengklasifikasian kelayakan mobil?
1.3 Tujuan Penelitian
Tujuan penelitian dalam skripsi ini adalah sebagai berkut:
1. Menerapkan algoritma Random Forest dalam mengklasifikasi data kelayakan mobil.
2. Mengetahui apakah Random Forest dapat digunakan pada data yang
imbalanced.
3. Mengetahui tingkat akurasi dari hasil klasifikasi dengan menggunakan algoritma Random Forest.
4. Mengetahui variabel-variabel yang berpengaruh dalam penentuan klasifikasi kelayakan mobil.
4
1.4 Batasan Masalah
Dalam penelitian ini, penulis memberikan batasan masalah agar lebih terarah. Masalah yang akan penulis batasi adalah sebagai berikut:
1. Data yang digunakan adalah data Acceptability Car yang diambil dari situs UCI Machine Learning yang dapat diakses di http://archieve.ics.uci.edu. 2. Pembagian data ke dalam data training dan testing dilakukan secara acak,
sehingga hasil hanya berlaku pada data yang digunakan.
3. Proses sampling data menggunakan metode Random Under Sampling,
Random Over Sampling, dan Synthetic Minority Oversampling (SMOTE).
4. Penelitian dilakukan dengan mengklasifikasi data training dengan mtry yang dicobakan adalah 2 dan 4 dan banyaknya ntree 25, 50, 100, 500, 1000, 1500, dan 2000 yang kemudian diuji dengan data testing.
1.5 Manfaat Penelitian
Penelitian ini diharapkan bisa memberikan manfaat sebagai berikut:
1. Menambah pengetahuan dalam mengatasi klasifikasi pada data yang
imbalanced.
2. Menambah pengetahuan tentang teknik klasifikasi dengan Random Forest. 3. Dapat menjadi bahan acuan untuk penelitian dengan masalah yang sama
5
BAB II
TINJAUAN PUSTAKA
2.1 Data Sampling
Data sampling adalah teknik preprocessing suatu data yang dapat digunakan untuk mengatasi ketidakseimbangan kelas (imbalanced). Proses ini dilakukan dengan memodifikasi gugus data sehingga mempunyai distribusi kelas yang seimbang. Proses data sampling ini dapat diperoleh baik dengan berbagai cara seperti menghapus sampel dari kelas mayoritas atau menambahkan sampel dari kelas minoritas. Selain itu proses modifikasinya juga dapat dilakukan secara acak dan penambahan sampel dapat menggunakan duplikasi dari sampel yang telah ada atau dapat dibuat secara sintetik berdasarkan sampel yang sudah ada. Teknik sampling data ini dapat dilakukan dengan tiga cara [2]:
1. Random Under Sampling, yaitu teknik sampling untuk menciptakan
keseimbangan antara kelas yang tidak seimbang dengan cara mengurangi ukuran sampel kelas mayoritas. Pengurangan ini diperoleh dengan cara menghapus sampel secara random kelas mayoritas sampai rasio kelas yang diinginkan terpenuhi.
2. Random Over Sampling, yaitu teknik sampling yang berusaha meningkatkan
keseimbangan kelas dengan menambah ukuran kelas minoritas. Penambahan ini dilakukan dengan menduplikat sampel secara random dari
6 kelas minoritas sampai rasio kelas yang diinginkan terpenuhi. Sebagai contoh dapat dilihat pada Tabel 2.1.
Tabel 2. 1 Contoh Data yang Akan Di Sampling
buying maint doors persons lug_boot safety class
1 med med 2 4 big high vgood
2 low med 2 4 big high vgood
3 med low 2 4 small high good
4 med low 2 more med high good
5 med low 3 more small high good
6 low med 2 4 big med good
7 low med 2 more med med acc
8 low high 2 2 big low unacc
9 low low 5more more small med acc
10 vhigh med 2 4 small high acc
11 high high 2 4 small high acc
12 vhigh vhigh 2 2 small low unacc
13 vhigh vhigh 2 more small high unacc
14 vhigh low 5more 4 small med unacc
15 med med 5more more big low unacc
16 high vhigh 2 2 big high unacc
17 high high 3 2 small low unacc
18 high med 5more more med low unacc
19 med vhigh 2 4 small med unacc
20 med high 5more more big low unacc
Pada Tabel 2.1 terdapat 20 data dimana terdapat 2 kelas minoritas (vgood), 10 kelas mayoritas (unacc), dan masing-masing 4 kelas good dan acc, maka
Random Over Sampling diperoleh dengan cara menduplikat secara random
7 banyaknya masing-masing kelas adalah 10, karena masing-masing kelas mengikuti kelas mayoritas. Hasil ini dapat dilihat pada Tabel 2.2
Tabel 2. 2 Hasil ROS
buying maint doors persons lug_boot safety class
1 med med 2 4 big high vgood
2 low med 2 4 big high vgood
3 med low 2 4 small high good
4 med low 2 more med high good
5 med low 3 more small high good
6 low med 2 4 big med good
7 low med 2 more med med acc
8 low high 2 2 big low unacc
9 low low 5more more small med acc
10 vhigh med 2 4 small high acc
11 high high 2 4 small high acc
12 vhigh vhigh 2 2 small low unacc
13 vhigh vhigh 2 more small high unacc
14 vhigh low 5more 4 small med unacc
15 med med 5more more big low unacc
16 high vhigh 2 2 big high unacc
17 high high 3 2 small low unacc
18 high med 5more more med low unacc
19 med vhigh 2 4 small med unacc
20 med high 5more more big low unacc
21 low low 5more more small med acc
22 high high 2 4 small high acc
23 med low 3 more small high good
24 low med 2 4 big med good
8
26 low med 2 4 big high vgood
Dari Tabel 2.2 diperoleh hasil ROS, dimana data yang ditebalkan merupakan data hasil Random Over Sampling. Dari tabel di atas juga terlihat bahwa data dilakukan secara random. Terlihat pada data ke-21 merupakan hasil duplikat dari data ke-9. Begitu pula pada data ke-22 dan seterusnya perolehan data di ambil secara random.
3. Synthetic Minority Over Sampling TEchnique (SMOTE), yaitu teknik
sampling yang meningkatkan keseimbangan dengan menambah jumlah kelas minoritas melalui pembuatan sampel minoritas yang baru di sepanjang segmen garis yang menghubungkan setiap/semua tetangga kelas k minoritas yang dekat. Tetangga dari k-nearest neighbor dipilih bergantung pada jumlah over sampling yang diperlukan [5]. Teknik SMOTE ini juga dapat digabung dengan melakukan Under Sampling. Sebagai contoh dari Tabel 2.1 akan dilakukan SMOTE, sehingga diperoleh hasilnya pada Tabel 2.3.
Tabel 2. 3 Hasil SMOTE
buying maint doors persons lug_boot safety class
13 vhigh vhigh 2 more small high unacc
12 vhigh vhigh 2 2 small low unacc
16 high vhigh 2 2 big high unacc
20 med high 5more more big low unacc
15 med med 5more more big low unacc
6 low low 5more more small med acc
7 low med 2 more med med acc
9
10 vhigh med 2 4 small high acc
11 high high 2 4 small high acc
111 med low 2 4 med high good
3 med low 2 4 small high good
4 med low 2 more med high good
5 med low 3 more small high good
61 low med 2 4 big med good
161 med med 2 4 big high vgood
17 low med 2 4 big high vgood
18 low med 2 4 big high vgood
19 med med 2 4 big high vgood
201 low med 2 4 big high vgood
Tabel 2.3 merupakan hasil dari SMOTE, dimana data yang ditebalkan merupakan hasil sintesis (buatan) yang diperoleh dari pembuatan sampel yang baru di sepanjang segmen garis yang menghubungkan setiap/semua tetangga kelas k yang terdekat.
2.2 Decision Tree
Decision Tree pertama kali dikembangkan oleh J.R. Quinlan tahun 1986. Decision Tree (pohon keputusan) merupakan implementasi yang dikembangkan
untuk mencari dan memperoleh suatu keputusan dengan mempertimbangkan berbagai macam faktor yang berkaitan dalam lingkup masalah tersebut. Struktur
Decision Tree terdiri dari root node (simpul akar), internal node (simpul cabang)
dan leaf node (simpul daun). Simpul akar merupakan simpul utama yang kemudian akan terus membelah hingga mencapai simpul daun, sedangkan simpul
10 cabang merupakan turunan dari simpul akar yang masih akan terus membelah. Bentuk Decision Tree dapat dilihat pada Gambar 2.1
Gambar 2. 1 Struktur Decision Tree
Proses pembelahan simpul diperoleh dengan melakukan suatu perhitungan yang dikenal dengan Information Gain. Information Gain dilakukan untuk mencari variabel yang akan dipilih untuk menumbuhkan pohon. Untuk memperoleh Information Gain dilakukan perhitungan yang biasa digunakan dalam information theory yaitu Entropy. Misalkan diberikan koleksi S, dengan target positif dan negatif, maka Entropy dari S adalah [11]:
( )
dimana
: peluang kelas : peluang kelas
Dari hasil Entropy tersebut kemudian dapat dicari nilai untuk Information
11
( ) ( ) ∑ | |
| | ( ) ( )
dimana
( ) : himpunan nilai yang mungkin untuk variabel A
: subset dari S untuk variabel A yang mempunyai nilai v
Proses pencarian Information Gain tersebut terus dilakukan hingga semua simpul cabang mencapai simpul daun. Karena proses pembentukan pohon dilakukan secara sempurna pada data training, terkadang hal ini dapat menyebabkan kesulitan ketika terdapatnya noise pada data atau terlalu sedikitnya sampel pada data training yang dapat merepresentasikan target sebenarnya. Hal seperti ini dapat menyebabkan terjadinya overfitting. Overfitting terjadi ketika hasil akurasi dari data training menunjukkan hasil yang baik sedangkan hasil akurasi pada data testing tidak terlalu baik. Sehingga untuk mengatasi masalah ini dapat dilakukan dengan berbagai cara seperti melakukan pemangkasan pohon (pruning) atau dengan melakukan metode ensemble. Proses pemangkasan pohon dapat dilakukan dengan algoritma CART sedangkan untuk metode ensemble salah satunya dapat dilakukan dengan algoritma Random Forest.
2.3 Classification And Regression Tree (CART)
Proses pembentukan CART hampir mirip dengan pembentukan Decision
Tree. Hanya saja, dalam CART proses pemecahan simpulnya tidak menggunakan entropy, namun menggunakan indeks gini. Proses pembentukan CART dilakukan
12 1. Proses pemecahan dan pelabelan simpul. Pada proses ini dilakukan pemecahan pada simpul akar menjadi dua cabang. Proses pemecahan simpul ini dilakukan dengan menggunakan indeks gini:
( ) ∑ dimana
: frekuensi relatif dari kelas dalam : banyaknya variabel
Setelah dicari Indeks Gini, kemudian data dipilah menjadi dua subset dan dengan ukuran dan , lalu dicari Gini Split.
( ) ( ) ( )
Proses tersebut terus dilakukan pada tiap variabel hingga diperoleh terkecil. Selanjutnya proses pelabelan kelas diperoleh dari hasil terkecil.
2. Proses penghentian pembentukan pohon. Proses ini dilakukan jika pohon telah ditumbuhkan hingga maksimum dan bersifat homogen, artinya tiap objek telah masuk pada kelas yang sama.
3. Proses pemangkasan pohon. Pemangkasan pohon dapat dilakukan dengan dua cara. Yang pertama dengan memberhentikan pertumbuhan pohon sebelum mencapai maksimum dan yang kedua menumbuhkan pohon hingga maksimum kemudian memangkasnya.
13 Untuk lebih jelasnya, diberikan contoh pembentukan pohon dengan metode CART. Hal ini dapat dilihat pada Tabel 2.4. Misalkan diambil lima sampel dengan tiga kelas yaitu unacc sebanyak 2, acc sebanyak 2, dan vgood sebanyak 1.
Tabel 2. 4 Contoh data untuk pembentukan CART
buying maint doors persons lug_boot safety class
med med 3 more small low unacc
med med 3 4 med med acc
low high 3 more med high vgood
low high 5more more small med acc
low med 2 2 small low unacc
Karena data yang digunakan semuanya bersifat kategorik, maka tiap variabel dicari Indeks Gini dari masing-masing subset yang nantinya akan digunakan untuk pemecahan. Misalnya, untuk variabel doors, maka dicari Indeks Gini dari subset {3, 5more}, {3, 2}, dan {5more, 2}. Sedangkan jika data bersifat numerik atau ordinal maka tiap variabel dihitung nilai tengah dari jarak antar kelas. Sebelum mencari Indeks Gini dari masing-masing subset, terlebih dahulu dicari ukuran Indeks Gini dari partisi kelas dari data T adalah sebagai berikut
( ) ( ) ( ) ( )
Selanjutnya dicari Ginisplit dari masing-masing variabel. Misalnya pertama dipilih variabel buying yang kemudian akan dicari Ginisplit(buying). Untuk mempermudah perhitungan, dapat dibuat tabel seperti pada Tabel 2.5 yang menunjukkan banyaknya masing-masing kelas pada variabel buying.
14
Tabel 2. 5 Banyaknya record untuk variabel buying
Variabel Banyaknya record unacc acc vgood N=5
med 1 1 0 n1=2
low 1 1 1 n2=3
Ginisplit (buying) ( ) ( )
( . / . / ) ( . / . / . / ) = 0.6
Pencarian Ginisplit kemudian dilanjutkan untuk variabel yang lainnya yang kemudian dipilih perolehan Ginisplit terkecil. Perolehan Ginisplit dari masing-masing variabel disajikan pada Tabel 2.6.
Tabel 2. 6 Hasil perolehan Ginisplit
Value
Ginisplit (buying) 0.6
Ginisplit (maint) 0.467
Ginisplit (doors {3,5more}) 0.5
Ginisplit (doors {3,2}) 0.5
Ginisplit(doors {5more,2}) 0.6
15 Ginisplit (persons {more,4}) 0.5
Ginisplit(persons {4,2}) 0.6
Ginisplit (maint) 0.467
Ginisplit (safety {low,med}) 0.4
Ginisplit (safety {low,high}) 0.267
Ginisplit (safety {med,high}) 0.267
Dari tabel di atas diperoleh terkecil adalah Ginisplit safety {low,high}) dan Ginisplit(safety {med,high}). Sehingga kita dapat memilh salah satu dari subset tersebut untuk dijadikan pemilah. Misalkan kita ambil Ginisplit(safety {low,high}) sebagai pemilah. Setelah diperoleh terkecil, kemudian dicari reduksi dari penurunan impurity, yaitu:
( )
Gambar 2. 2 Hasil pohon sementara
Pada Gambar 2.2 karena safety {high} hanya berisi kelas acc, maka simpul kanan sudah homogen, sehingga tidak perlu lagi dilakukan pemecahan.
16 Sedangkan untuk simpul kiri, kelas masih bersifat heterogen, sehingga dilakukan pemecahan selanjutnya. Pemilihan variabel yang akan dijadikan pemilah berikutnya dilakukan dengan mencari kembali terkecil dari masing-masing subset yang tersisa dari hasil safety {low,high}. Hasil akhir dari pembentukan pohon CART dapat dilihat pada Gambar 2.3.
Gambar 2. 3 Bentuk pohon penuh
2.4 Random Forest
Random forest pertama kali diperkenalkan oleh Leo Breiman tahun 2001. Random Forest merupakan modifikasi dari bagging [8]. Hanya saja, pada Random Forest terdapat penambahan pada random sub sampling atau pemilihan m variabel
yang digunakan dalam membangun pohon. Proses pembentukan pohon dalam
random forest sama dengan proses pada CART, hanya saja tidak dilakukan pruning (pemangkasan).
17
Random forest merupakan suatu metode klasifikasi yang berisi koleksi dari
pohon klasifikasi. Misalkan * ( ) + dimana * + merupakan vekor random yang iid (independent identically distributed) dan tiap pohon memilih kelas yang paling banyak dari data (majority vote). Misalkan suatu ensemble ( ) ( ) ( ) dengan data training dipilih secara random dari distribusi vektor random Y dan X, fungsi margin ( ( )) dari random forest didefinisikan sebagai berikut [4]:
( ) ∑ ( ( ) ) *
∑ ( ( ) ) +
dimana adalah fungsi indikasi dan adalah banyaknya pohon. Fungsi margin digunakan untuk mengukur tingkat banyaknya jumlah vote pada X dan Y rata-rata vote dari kelas yang lain.
Strength (kekuatan) adalah rata-rata (ekspektasi) ukuran kekuatan akurasi
pohon tunggal. Nilai s yang semakin besar menunjukkan bahwa akurasi prediksinya semakin baik. Nilai s di definisikan sebagai berikut [4]:
( )
Rata-rata korelasi ( ̅) antar pasangan dugaan dari dua pohon tunggal dalam
random forest di definisikan sebagai berikut [4]
̅ ( ( ) ( ) ( )) ( ( ) ( ))
dimana ( ) ( ) ( ) merupakan korelasi antar pohon.
Batasan besarnya kesalahan prediksi ( ) oleh Random Forest adalah:
̅ (
18 Dari persamaan tersebut dapat dikatakan bahwa jika ingin memperoleh error yang kecil maka harus memiliki korelasi kecil dan memperkuat strength. Oleh karena itu diperlukan untuk mengubah nilai m dan ntree. Dengan memperkecil nilai m, maka memperkecil pula korelasi dan strength. Begitu pula dengan nilai
ntree. Jika ntree besar berarti kesamaan data diantara tiap-tiap pohon sangat
tinggi. Akan tetapi, jika pemilihan m dan ntree sangat rendah, mengartikan setiap pohon akan kehilangan beberapa informasi penting dan akan menaikkan error. Sehingga pemilihan m dan ntree sangat berpengaruh dalam Random Forest.
Berikut ini adalah algoritma Random Forest [7]:
1. Buat suatu bootsrap sample atau pengambilan sampel dengan replacement (pengembalian) dari suatu ukuran dari gugus data.
2. Pilih variabel secara random dari variabel, dimana . Biasanya ukuran terbaik dipilih melalui aproksimasi dari akar kuadrat dari total jumlah variabel, yaitu ⌊√ ⌋ . Menurut Leo Breiman [4], nilai juga dapat diperoleh dari dua kali nilai akar kuadrat dari total jumlah variabel ( ⌊√ ⌋) dan setengah dari nilai akar kuadrat dari total jumlah variabel ( ⌊√ ⌋).
3. Setelah dilakukan pemilihan secara random, maka pohon ditumbuhkan tanpa pruning (pemangkasan). Pemecahan simpul terbaik dalam suatu pohon dilakukan dengan menggunakan indeks gini.
4. Langkah 1-3 dilakukan sebanyak kali hingga terbentuk suatu forest (klasifier) sebanyak pohon.
19 5. Setelah terbentuk forest, kemudian dicari nilai misklasifikasi error (Out of
Bag Error) untuk mendapatkan mtry optimal dan diperoleh tingkat
kepentingan variabel (Variable Importance) yang lebih stabil.
6. Untuk prediksi suatu kelas dilakukan dengan majority vote (suara terbanyak).
2.4.1 Tingkat Misklasifikasi (Out of Bag Error)
Salah satu fitur penting dalam random forest adalah penggunaan out-of-bag (OOB). Misalkan untuk setiap dataset, OOB merupakan data dalam sampel yang tidak masuk dalam proses pemecahan (pembentukan pohon). Perolehan estimasi dalam OOB dapat diilustrasikan pada Gambar 2.4.
Gambar 2. 4 Contoh bentuk Out of Bag[12]
Pada Gambar 2.4 misalkan terdapat data sebanyak 7 data (kotak kiri). Dari 7 data tersebut sebagian data di ambil dengan cara bootstrap (kotak tengah) untuk dibentuk pohon klasifikasi (kotak merah) dan sisanya merupakan OOB yang digunakan untuk mencari errornya (kotak kanan). Sesudah pohon terbentuk kemudian data OOB dimasukkan ke dalam pohon dan di peroleh satu dari empat
20 data OOB yang salah klasifikasi, sehingga diperoleh hasil OOB errornya adalah ⁄ (kotak kuning).
2.4.2 Variable Importance (Variabel Terpenting)
Variable importance diperoleh berdasarkan rataan pemecah terbaik yang
diperoleh dari pemecahan masing-masing pohon dan diakumulasikan secara terpisah untuk setiap variabel. Proses ini disebut Mean Decrease Gini (MDG), yaitu:
∑, ( ) (
)-dimana,
: banyaknya pohon yang terbentuk
( ) : besaran penurunan indeks gini pada variabel saat simpul ke ( ) : 1 saat berada pada simpul , dan 0 lainnya.
2.5 Confusion Matrix
Confusion matrix merupakan matriks yang biasanya digunakan untuk
merepresentasikan hubungan antara atribut kelas sebenarnya dan kelas prediksinya. Confusion matrix juga digunakan untuk melihat performa suatu model. Elemen diagonal dari confusion matrix mengindikasikan prediksi benar, sedangkan sisi diagonal lainnya mengindikasikan prediksi salah [13].
Pada Tabel 2.7 berikut menggambarkan perbandingan kelas yang sebenarnya dengan kelas prediksi. (True Positives) merupakan banyaknya
21 sampel positif yang diklasifikasikan benar. (True Negatives) merupakan banyaknya sampel negatif yang diklasifiksikan benar. (False Negative) merupakan banyaknya sampel positif yang diklasifikasikan salah. (False
Positive) merupakan banyaknya sampel negatif yang dilklasifikasikan salah. Tabel 2. 7 Confusion Matrix
Predicted Positive Class Predicted Negative Class
Actual Positive Class
Actual Negative Class
Ukuran dalam mengevaluasi kinerja model berdasarkan confusion matrix ada berbagai macam, diantaranya adalah akurasi, recall, specificity, presisi, dan
F-Measure. Akurasi dalam confusion matrix adalah presentase kebenaran dari hasil
prediksi pada test data. Recall adalah ukuran proporsi dari TP dan specificity adalah ukuran proporsi dari TN. Presisi merupakan ukuran proporsi prediksi TP. Sedangkan F-Measure hasil yang merepresentasikan presisi dan recall. Akurasi,
recall, specificity, presisi, dan F-Measure dapat diperoleh sebagai berikut:
Akurasi = Recall = Specivicity = Presisi = F-Measure =
22
BAB III
METODOLOGI PENELITIAN
3.1 Data dan Variabel Penelitian
Data yang digunakan dalam penelitian ini adalah data tentang evaluasi kelayakan mobil (acceptability car) oleh Marco Bohanec. Data ini merupakan data sekunder yang diperoleh dari situs University of California-Irvine (UCI)
Machine Learning Repository yang dapat diakses di http://archieve.ics.uci.edu.
Jumlah data dalam penelitian ini sebanyak 1728 data dengan banyaknya variabel data yaitu 7 variabel yang terdiri dari 6 variabel independen dan 1 variabel dependen. Data ini bersifat kategorik dan terbagi atas 4 kelas. Variabel-variabel dalam penelitian ini dijelaskan sebagai berikut:
1. Car acceptability (class). Merupakan variabel yang dijadikan sebagai
variabel dependen. Variabel ini memiliki empat kategori, yaitu:
unacceptable (unacc) sebanyak 1207 data (69.85%), acceptable (acc)
sebanyak 385 data (22.28%), good sebanyak 70 (4.05%), dan very good (vgood) sebanyak 66 (3,82%) .
2. Buying Price (buying). Variabel ini dikategorikan dalam empat tingkat:
sangat tinggi (vhigh), tinggi (high), sedang (med), dan rendah (low).
3. Maintenance Price (maint). Variabel ini dibagi menjadi empat kategori,
23 4. Number of doors (doors). Variabel ini memiliki 4 kategori yaitu: dua pintu,
tiga pintu, empat pintu, dan lima atau lebih pintu.
5. Number of Persons (persons). Variabel ini dibagi menjadi 3 kategori , yaitu:
dua orang, empat orang, dan selebihnya.
6. Size of Luggage (lug_boot). Variabel ini memiliki 3 kategori, yaitu: kecil
(small), sedang (med), dan besar (big).
7. Safety. Varibel ini memiliki 3 kategori, yaitu: rendah (low), sedang (med),
dan tinggi (high).
3.2 Metode Pengolahan dan Analisis Data
Metode pengolahan data dalam penelitian ini adalah dengan menggunakan
software R versi 3.2.2 dengan menggunakan package UBL [3] untuk teknik
sampling dan package randomForest [10] untuk proses klasifikasi. Selanjutnya sebelum data di klasifikasi, dilakukan sampling data terlebih dahulu.
3.2.1 Sampling Data
Sampling data dilakukan karena terjadinya class-imbalanced
(ketidakseimbangan kelas) pada data. Dalam penelitian ini sampling data dilakukan dengan tiga cara, yaitu Random Under Sampling, Random Over
Sampling, dan SMOTE. Seteleh dilakukan sampling data, kemudian dilihat
performa dari masing-masing sampling data tersebut. Jika performa sudah baik, maka tahapan selanjutnya adalah mengklasifikasi data dengan Random Forest.
24
3.2.2 Klasifikasi dengan Random Forest
Tahapan-tahapan dalam melakukan klasifikasi dengan random forest adalah sebagai berikut:
1. Buat suatu bootsrap sample atau pengambilan sampel dengan
replacement (pengembalian) dari suatu ukuran dari gugus data. 2. Pilih (mtry) variabel secara random dari variabel, dimana . 3. Setelah dilakukan pemilihan secara random, maka pohon ditumbuhkan
tanpa pruning (pemangkasan).
4. Langkah 1-3 dilakukan sebanyak kali hingga terbentuk suatu forest sebanyak pohon.
5. Proses penentuan suatu kelas dilakukan dengan majority vote.
6. Setelah terbentuk forest, kemudian dicari parameter mtry yang optimal sehingga diperoleh nilai misklasifikasi error (Out of Bag Error) yang stabil dan tingkat kepentingan variabel (Variable Importance).
7. Setelah diperoleh nilai mtry optimal kemudian dilakukan prediksi dengan data testing.
3.3 Diagram Alur Penelitian
Tahapan/alur penelitian dalam melakukan klasifikasi data dengan metode
25
26
BAB IV
HASIL DAN PEMBAHASAN
4.1 Persiapan Data
Data yang digunakan dalam penelitian ini adalah data evaluasi mobil dimana suatu mobil diklasifikasikan berdasarkan kelayakannya. Data ini terdiri dari 1728 data dengan 6 variabel independen dan satu variabel dependen. yang akan digunakan untuk klasifikasi dengan Random Forest. Dari 1728 data diperoleh presentase dari masing-masing kelas yaitu unacc (69.85%), acc (22.28%), good (4.05%), dan vgood (3,82%), kemudian data ini dibagi menjadi dua data secara acak, yaitu data training sebesar 80% dan data testing sebesar 20%. Sehingga diperoleh data training sebanyak 1340 data dengan presentase masing-masing kelas adalah unacc sebanyak 937 (69,92%), acc sebanyak 304 (22,68%), good sebanyak 56 (4,1%), dan vgood sebanyak 43 (3,2%). Sedangkan data testing sebanyak 388 data dengan presentase masing-masing kelas adalah unacc sebanyak 273 (70,36%), acc sebanyak 80 (20,61%), good sebanyak 13 (3,35%), dan vgood sebanyak 22 (5,67%). Pada data training terlihat mengalami ketidakseimbangan kelas, sehingga dilakukan proses sampling data.
4.2 Sampling Data
Pada penelitian ini proses sampling data dilakukan dengan tiga cara, yaitu dengan Random Under Sampling, Random Over Sampling, dan SMOTE. Dari
27 masing-masing metode tersebut kemudian dicari performanya serta dilihat pula performa tanpa dilakukan sampling data. Hasil dari sampling data terlihat pada Tabel 4.1
Tabel 4. 1 Hasil sampling RUS, ROS, dan SMOTE
Kelas Banyaknya data sebelum di sampling RUS ROS SMOTE
unacc 937 43 937 335
acc 304 43 937 335
good 56 43 937 334
vgood 43 43 937 334
Pada Tabel 4.1 menunjukkan bahwa pada metode Random Under Sampling diperoleh penurunan sampel pada kelas mayoritas yang mengikuti kelas minoritas, sedangkan pada metode Random Over Sampling diperoleh data minoritas yang
di-resample hingga memperoleh data yang sama dengan kelas mayoritas. Pada
metode SMOTE diperoleh pada kelas minoritas mengalami penambahan sampel dan pada kelas mayoritas mengalami penurunan sampel hingga diperoleh data yang seimbang. Dari hasil tersebut kemudian di peroleh performa dari masing-masing metode. Hasil performa dari masing-masing-masing-masing metode dapat dilihat pada Tabel 4.2.
Tabel 4. 2 Hasil performa dari RUS, ROS, SMOTE, dan Tanpa Sampling
RUS ROS SMOTE NON
Akurasi 0.8505 0.971 0.9613 0.9691
Recall 0.7375 0.95 0.95 0.9875
Presisi 0.6146 0.9156 0.8941 0.8777
Specificity 0.8798 0.9773 0.9708 0.9643
28 Dari Tabel 4.2 diperoleh masing-masing performa dari masing-masing metode. Terlihat bahwa diantara masing-masing metode, akurasi yang paling baik diperoleh pada metode ROS yaitu sebesar 0.971 dan akurasi terendah ada pada metode RUS yaitu sebesar 0.8505. Lalu pada Recall diperoleh performa yang baik ada pada metode tanpa sampling sebesar 0.9875 dan terendah pada metode RUS yaitu sebesar 0.7375. Kemudian hasil Presisi, Specificity dan F-Measure masing-masing nilai terbesarnya ada pada metode ROS dan terendahhnya ada pada metode RUS. Hal ini berarti performa pada metode ROS, SMOTE, dan NON (tanpa sampling) memperoleh performa yang lebih baik, bila dibandingkan dengan metode RUS yang kurang begitu baik. Tabel 4.2 juga memperlihatkan bahwa hasil pada metode ROS, SMOTE, dan tanpa sampling tidak jauh berbeda, sehingga dapat dikatakan penggunaan sampling data tidak terlalu berpengaruh pada data kelayakan mobil karena hasil performa pada metode tanpa sampling sudah memperoleh hasil yang baik.
4.3 Klasifikasi dengan Random Forest
Karena hasil performa pada metode tanpa sampling sudah baik, maka selanjutnya dilakukan klasifikasi Random Forest dengan menggunakan data yang tidak di sampling. Tahapan awal dalam melakukan klasifikasi dengan Random
Forest adalah memilih mtry dan ntree yang kemudian dicari tingkat misklasifikasi
29
4.3.1 Pemilihan mtry dan ntree
Dalam proses klasifikasi dengan random forest, hal yang penting dilakukan adalah menentukan banyaknya variabel independen yang digunakan dalam penentuan klasifikasi. Pengambilan variabel independen ini dilakukan secara random dan replacement (random subsampling). Dalam penelitian ini diperoleh nilai mtry nya adalah sebagai berikut
, ⌊√ ⌋ ⌊√ ⌋
Dari masing-masing mtry tersebut kemudian akan dilakukan percobaan sebanyak n pohon (ntree). Banyaknya pohon yang dicobakan dalam penelitian ini adalah 25, 50, 100, 500, 1000, dan 2000. Setelah dilakukan percobaan sebanyak
mtry dan ntree, kemudian dilakukan analisis terhadap rataan tingkat misklasifikasi
(Out of Bag Error).
4.3.2 Rataan Tingkat Misklasifikasi (Out Of Bag Error)
Out of bag error diperoleh dari rataan misklasifikasi sampel yang tidak
masuk dalam pertumbuhan forest, sehingga pemilihan mtry berpengaruh dalam penentuan error terkecil. Perubahan out of bag error dari pemilihan mtry disajikan dalam Gambar 4.1.
30
Gambar 4. 1 Hasil Out of Bag Error
Pada Gambar di atas menunjukkan bahwa semakin besar ntree maka perubahan out of bag error semakin mengecil. Dari gambar tersebut juga memperlihatkan bahwa pada setiap ntree yang dicobakan, nilai out of bag error terkecil diperoleh pada mtry=4. Sehingga diperoleh mtry optimal adalah 4. Hal ini juga dapat dilihat pada Tabel 4.3
Tabel 4. 3 Out of Bag Error (Rataan Tingkat Misklasifikasi)
mtry Ntree
25 50 100 500 1000 1500 2000
2 7.09% 5.90% 5.15% 4.10% 3.73% 3.73% 3.73%
4 3.51% 2.99% 2.54% 2.54% 2.39% 2.39% 2.39%
Tabel 4.3 menunjukkan bahwa untuk mtry=2 Out of Bag Error terus mengalami penurunan, dan mencapai kekonvergenan pada saat ntree=1000 dengan nilai Out of Bag Error nya sebesar 3.73%. Begitu pula untuk mtry=4 memperlihatkan bahwa Out of Bag Error nya konvergen mulai dari ntree=1000
0.00% 1.00% 2.00% 3.00% 4.00% 5.00% 6.00% 7.00% 8.00% 25 50 100 500 1000 1500 2000 O ut o f B ag Er ror ntree mtry=2 mtry=4
31 dengan nilai Out of Bag Error sebesar 2.39%. Sehingga berdasarkan Gambar 4.1 dan Tabel 4.3 dapat disimpulkan mtry yang optimal adalah mtry=4 dengan
ntree=1000 karena pada saat mtry=4 random forest sudah mulai stabil.
4.3.3 Variable Importance (Variabel Terpenting)
Salah satu output dalam random forest adalah variable importance (variabel terpenting). Variable importance ini didapat dari rataan penurunan indeks gini (Mean Decrease Gini) yang diperoleh selama pembentukan forest. Variable
importance ini menunjukkan variabel mana saja yang berpengaruh dalam
penentuan kelayakan mobil. Berikut akan disajikan nilai MDG dari masing-masing mtry yang dicobakan.
Gambar 4. 2 Nilai MDG dari mtry=4
Dari Gambar di atas menunjukkan urutan variabel yang paling penting adalah safety, diikuti dengan variabel persons, maint, buying, lug_boot, dan doors. Gambar 4.2 juga menunjukkan bahwa meskipun dengan pohon berapa pun, urutan
safety persons maint buying lug_boot doors n=25 171.4637 152.7892 94.85531 78.6182 63.88614 30.46603 n=50 173.62255 146.55522 97.22905 80.79733 61.45953 31.89002 n=100 172.14528 144.48069 98.58025 79.27893 65.6255 31.69621 n=500 174.52303 139.92459 96.66654 81.30713 65.43894 31.69009 n=1000 174.02318 140.81584 96.40199 80.8596 64.87811 32.27967 n=1500 173.69929 141.14673 96.10427 80.93187 64.79558 32.45402 n=2000 173.24951 141.57694 96.32964 80.89176 65.10128 32.46026 0 20 40 60 80 100 120 140 160 180 200 M D G
32 variabel terpenting tidak berubah. Hal ini menunjukkan bahwa keamanan pada mobil lebih dipertimbangkan konsumen dalam memutuskan layak atau tidaknya pembelian mobil dibanding dengan variabel-variabel lainnya.
4.4 Prediksi Hasil Testing
Hasil prediksi dari data testing didapat setelah diperoleh model. Pada penelitian ini diperoleh model dengan menggunakan mtry optimal adalah 4 dan
ntree=1000, karena pada ntree=1000 random forest mulai menunjukkan
kestabilan. Dari 1728 data, sebanyak 388 data diambil untuk kemudian dilakukan pengecekan terhadap prediksi akurasi dari data testing. Hasil prediksi dari data testing diperoleh dalam bentuk confusion matrix sebagai berikut.
Tabel 4. 4 Hasil prediksi data testing
Actual Class Total
kelas Error
Percent Correct
Predicted Class acc good unacc vgood
acc 80 0.0375 96.25% 77 2 0 1 good 13 0.0769 92.30% 0 12 0 1 unacc 273 0.0219 97.80% 5 1 267 0 vgood 22 0 100% 0 0 0 22 Total 388 Rata-rata (%) 96.59% Rata-rata keseluruhan (%) 97.42%
33 Pada Tabel 4.4 menunjukkan hasil klasifikasi dari masing-masing kelas. Dari tabel tersebut diperoleh untuk kelas acc terjadi salah klasifikasi sebanyak 3 (2 masuk kelas good dan 1 masuk kelas vgood) dengan klasifikasi errornya sebesar 0.0389. Untuk kelas good sebanyak 1 dari 13 data terjadi salah klasifikasi (masuk ke dalam kelas vgood) dan untuk kelas unacc sebanyak 6 dari 273 terjadi salah klasifikasi (5 masuk kelas acc dan 1 masuk kelas good) dengan masing-masing klasifikasi errornya sebesar 0.0833 dan 0.0219. Sedangkan untuk kelas
vgood tidak terdapat kesalahan klasifikasi (klasifikasi errornya 0). Sehingga dari
tabel tersebut diperoleh error dari data testing sebesar 0.0257 atau 2.5% dan diperoleh hasil akurasi dari data testing tersebut sebesar 97.5%.
34
BAB V
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan penjabaran pada bab sebelumnya, maka diperoleh kesimpulan sebagai berikut :
1. Pengklasifikasian dengan random forest dilakukan dengan mencari nilai
mtry dan ntree optimal. Percobaan dilakukan dengan mencobakan nilai mtry-nya adalah 2 dan 4 dengan ntree-nya sebanyak 25, 50, 100, 500, 1000,
1500, 2000. Hasilnya diperoleh mtry-nya adalah 4 dan ntree-nya adalah 1000 pohon.
2. Pada data yang imbalanced, sebelum dilakukan klasifikasi dilakukan dahulu sampling data. Sampling data dilakukan dengan menggunakan metode
Random Under Sampling, Random Over Sampling, SMOTE, dan dilihat
pula performa pada data yang tidak disampling. Hasilnya diperoleh akurasi yang paling baik diperoleh pada metode ROS yaitu sebesar 0.971 dan akurasi terendah ada pada metode RUS yaitu sebesar 0.8505. Lalu pada
Recall diperoleh performa yang baik ada pada metode tanpa sampling
sebesar 0.9875 dan terendah pada metode RUS yaitu sebesar 0.7375. Kemudian hasil Presisi, Specificity dan F-Measure masing-masing nilai terbesarnya ada pada metode ROS dan terendahhnya ada pada metode RUS. Hal ini berarti performa pada metode ROS, SMOTE, dan NON (tanpa sampling) memperoleh performa yang lebih baik, bila dibandingkan dengan
35 metode RUS yang kurang begitu baik.. Hal ini menunjukkan semua performa metode sampling mempunyai performa yang baik, sehingga meskipun tidak dilakukan sampling, Random Forest memiliki performa yang baik pula.
3. Hasil akurasi algoritma Random Forest adalah sebesar 97.42%.Hasil ini menunjukkan akurasi yang lebih baik bila dibandingkan dengan penelitian sebelumnya yang menunjukkan akurasi pada Decision Tree sebesar 93.51%, pada ANN sebesar 92.1% dan pada Naïve Bayes sebesar 93.51%.
4. Variabel yang paling berpengaruh dalam pengklasifikasian data kelayakan mobil adalah variabel safety. Ini berarti keamanan merupakan faktor utama dalam terpilihnya suatu mobil.
5.2 Saran
Penelitian ini tidak luput dari adanya kekurangan, sehingga diperlukan adanya saran. Saran dalam penelitian ini antara lain:
1. Penelitian ini hanya menggunakan parameter dengan nilai parameter standar, yaitu mtry 2 dan 4, sehingga untuk penelitian selanjutnya disarankan untuk mencari parameter selain mtry standar.
2. Random forest pada dasarnya dapat digunakan untuk permasalahan
klasifikasi dan regresi. Namun dalam penelitian ini hanya mengangkat masalah klasifikasi. Sehingga untuk penelitian selanjutnya disarankan mencoba random forest untuk kasus regresi.
36
REFERENSI
[1] Awwalu, Jamilu, et al. 2014. Performance Comparison of Data Mining Algorithms: A Case Study on Car Evaluation Dataset. International Journal
of Computer Trends and Technology (IJCTT) – vol. 13 no. 12.
[2] Bouabana-Tebibel, Thouraya dan Stuart H. Rubin. 2016. Theoretical
Information Reuse and Integration. Switzerland: Springer.
[3] Branco, Paula, et al. 2016. UBL: an R package for Utility-Based Learning. University of Porto.
[4] Breiman, Leo. Random Forest. 2001. Machine Learning, 45, 5-32.
[5] Chawla, Nitesh V, et al. 2002. SMOTE: Synthetic Minority Over-Sampling Technique. Journal of Artificial Intelligence Research 16 (2002) 321-357. [6] Dittman, D.J., Khoshgoftaar, T.M., Napolitano, A. 2015. The Effect of Data
Sampling When Using Random Forest on Imbalanced Bioinformatics Data.
IEEE International Conference on Information Reuse and Integration (IRI), pp. 457–463.
[7] Hestie, Trevor, Robert Tibshirani, & Jerome Friedman. 2008. The Elements
of Statistical Learning: Data Mining, Inference, and Prediction Second Edition. Springer.
[8] James, Gareth, et al. 2013. An Introduction to Statistical Learning with
37 [9] Lewis, R.J. 2000. An Introduction to Classification and Regression Tree
(CART) Analysis. Department of Emergency Medicine, Harbor-UCLA
Medical Centre, Torrance, California.
[10] Liaw, Andy. 2015. Package ‘Random Forest’. CRAN. [11] Mitchell, Tom M. 1997. Machine Learning. McGraw-Hill.
[12] Slide Random Forest: Applied Multivariate Statistics. Eigenossische Technische Hochschule Zurich. 2012.
[13] Yao, Dengju, et al. 2013. An Improved Random Forest Algorithm for Class-Imbalanced Data Classification and Its Application in PAD Risk Factor Analysis. The Open Electrical & Electronic Engineering Journal, 7, (Supple