Analisis Deteksi Outlier Menggunakan CLARANS
-
Upload
telkomuniversity -
Category
Documents
-
view
3 -
download
0
Transcript of Analisis Deteksi Outlier Menggunakan CLARANS
i
Abstrak
Klastering merupakan salah satu metode data mining yang digunakan untuk
mengelompokkan sejumlah obyek ke dalam klaster berdasarkan kesamaan
karakteristik yang dimiliki obyek. Pada dataset yang memiliki banyak objek
dimungkinkan adanya beberapa obyek yang memiliki perbedaan karakteristik
dengan yang lainnya, obyek ini disebut outlier. Jumlah outlier yang sedikit dari
banyaknya obyek menyebabkan outlier sulit untuk terdeteksi. Sedangkan tidak
jarang ada informasi penting yang dapat digunakan dari keanomalian tersebut.
Klastering dapat digunakan untuk mendeteksi keberadaan outlier. Pada
pembahasan tugas akhir ini, outlier didapatkan dari teknik postprocessing dari
hasil klastering oleh algoritma CLARANS (Clustering Large Application based
on RANdomized Search). CLARANS menerapkan prinsip k-medoid dan
melakukan pengkombinasian teknik sampling dengan PAM (Partitioning Around
Medoid) untuk menemukan medoid terbaik dari tiap klaster. Dikarenakan
klastering CLARANS belum dapat mendeteksi outlier, maka diperlukan teknik
postprocessing setelah klastering. Teknik postprocessing yang digunakan ada 2,
yaitu Clustering Outlier Removal (COR) dan Separation.
Hasil pengujian sistem menghasilkan akurasi pendeteksian outlier hasil
klastering CLARANS yang lebih baik oleh teknik COR dengan kondisi jumlah
klaster yang ideal. Sedangkan pada teknik separation, nilai akurasi dipengaruhi
oleh jumlah klaster dan model persebaran dataset.
Kata kunci : klastering, deteksi outlier, k-medoid, CLARANS, clustering outlier
removal, separation.
ii
Abstract
Clustering is one of data mining’s methods that used to grouped a set of
objects into a cluster based on the similarity of its characteristics. In a large
dataset, there is a possibility that one or more objects have difference
characteristic with another, this object called outlier. The small number of outlier
from a lot of objects causes the outlier difficult to detect. It is oftenly there are
some important information can used from that anomaly.
Clustering can used to detect the existence of outlier. In this study of final
task, outlier get from postprocessing technique of result by CLARANS
(Clustering Large Application based on RANdomized Search) algorithm.
CLARANS applying principle of k-medoid and combining the sampling
technique with PAM to find the best medoid from each cluster. Because of
clustering CLARANS disable to detect the outlier, then it need postprocessing
technique after clustering. There are two postprocessing techniques, Clustering
Removal Outlier (COR) and Separation.
Result of system obtain that accuration of detection outlier from clustering
CLARANS is more better by COR in condition ideal number of cluster. Whereas
in separation technique, value of accuracy influenced by number of cluster and
distribution model of data.
Keywords: clustering, outlier detection, k-medoid, CLARANS, clustering outlier
removal, separation.
iii
Lembar Persembahan
Tentunya dalam penyusunan tugas akhir ini tidak pernah terlepas dari bantuan
segenap pihak di sekitar penulis,
1. Allah SWT, Yang Maha Pengasih, Maha Penyayang, yang telah
memberikan segala kebaikan dan nikmat yang tak henti-hentinya kepada
penulis dan memberikan penulis sebuah hikmah yang berharga di bulan
Ramadhan tahun ini. Segala puji syukur hanya untuk-Mu, Ya Rabb…
2. Rasulullah SAW, shalawat atasnya, yang telah membawa penerang,
risalah Al Islam ke hati umatnya hingga sekarang…qudwah terbaik
dalam hidup penulis…
3. Orangtuaku tercinta, Ayah : Terimakasih atas semangat dan nasihat yang
tak bosan-bosannya kau berikan, dan Mama : Terimakasih atas
pengertian dan perhatian yang selalu kau curahkan. Semoga dengan
selesainya tugas akhir ini dapat mengukir senyum bangga dan bahagia
kalian. Adik-adikku tersayang : Sarah, Yaya, Icha. Terimakasih atas
support dan doa buat Mbak. Kalian harus bisa menjadi lebih baik dari
Mbak ya dek.
4. Pak Dhinta Darmantoro, ST., MSCS dan Pak Moch. Arif Bijaksana, Ir.,
MTech, selaku dosen pembimbing I dan II, penulis mengucapkan
terimakasih atas kesabaran dan keluasan ilmunya yang telah mau
membimbing dan membantu penulis untuk menyelesaikan amanah tugas
akhir ini guna melengkapi kelulusan dari kampus.
5. Rekan-rekan sekelas IF-27-03, terimakasih atas kebersamaan penuh suka
dan duka selama 4 tahun ini. Tanpa kalian, hari-hari di kampus akan
terasa melelahkan, teman.
6. Keluarga Besar LDK SKI STT Telkom, DKMSU, BMT, BKM Al Amin,
KAMMI. Dari sini penulis mendapatkan pelajaran berharga tentang
indahnya Islam dan ukhuwah islamiyah. Sungguh, tanpa kalian, hari-hari
ini tidak akan penuh makna akan perenungan kehidupan.
7. Saudari-saudariku, Erna, Dia, Nhita, Firah, Acit, Rey, Atik, Nana, Anggi,
Mega, Fika, Ufo, Titis (for the laptop and all...syukron ya ukh), Linda,
Nita, dan yang lainnya. Ukhti, karena kalianlah beban dan lelah dalam
menyusun tugas akhir ini dapat sirna hanya dengan mendengar tawa dan
ucapan tausiyah. Jazakillah.
8. Adik-adik angkatan 2004,2005,dan 2006 - Manda, Nia, Risti, Inda, Nina,
Wuri, Dhita, Fitri, dll - yang selalu mendukung dan tak bosan-bosan
menanyakan kabar perkembangan tugas akhir ini hingga penulis
termotivasi terus untuk menyelesaikannya.Terimakasih, hanya Allah
yang dapat membalas kebaikan kalian semuanya.
9. Untuk keluarga ’kedua’ penulis selama di Bandung, Ibu Ucah, Mba
Neng, Umi Wafa, Teh Elin, Ibu Ani, Mama Rendy, Mama Tenti, Kak
Azwan, dan adik-adikku, Wafa, Rendy, Harry dan Rofi. Tanpa kalian, tak
akan ada tempat senyaman seperti di rumah selama di Bandung ini.
10. Dan terakhir,untuk semua pihak yang telah membantu, DMC’ers, Aji,
Rahmi, Raudah, Desiyana, Desty, Lab Basdat, dll yang tak bisa
disebutkan satu per satu. Terimakasih atas bantuan dan dukungannya.
iv
Kata Pengantar
Klastering yang merupakan salah satu teknik data mining dapat digunakan
untuk mendeteksi keberadaan outlier. Sedangkan keberadaan outlier tak jarang
menyimpan informasi penting yang dapat digunakan dalam beberapa
permasalahan seperti fraud detection, fault detection, atau deteksi keanomalian
data. Oleh karena itu diperlukan metode untuk mendeteksi keberadaannya.
Karenanya pada penelitian tugas akhir ini, penulis memilih topik deteksi outlier
yang diharapkan dapat bermanfaat untuk pendeteksian outlier pada data. Fokus
penelitian ini dikhususkan untuk menganalisis kemampuan CLARANS
membentuk klastering serta teknik postprocessing-nya dalam mendeteksi outlier.
Penulis sangat berharap adanya masukan-masukan yang bersifat
membangun sehingga penelitian ini dapat terus dikembangkan untuk penelitian di
masa mendatang.
Wassalam,
Penulis
v
Daftar Isi
ABSTRAK .......................................................................................................... I
ABSTRACT ...................................................................................................... II
LEMBAR PERSEMBAHAN ......................................................................... III
KATA PENGANTAR ...................................................................................... IV
DAFTAR ISI ..................................................................................................... V
DAFTAR TABEL ......................................................................................... VIII
DAFTAR ISTILAH ......................................................................................... IX
1. PENDAHULUAN ........................................................................................ 1
1.1 LATAR BELAKANG ................................................................................... 1
1.2 PERUMUSAN MASALAH ............................................................................ 2
1.3 TUJUAN ................................................................................................... 2
1.4 METODOLOGI PENYELESAIAN MASALAH ................................................... 2
2. DASAR TEORI ........................................................................................... 3
2.1 DATA MINING.......................................................................................... 3
2.1.1 Klastering ......................................................................................... 3
2.1.2 Preprocessing Dataset ...................................................................... 4
2.2 DETEKSI OUTLIER .................................................................................... 4
2.2.1 Clustering Outlier Removal (COR) ................................................... 6
2.2.2 Separation ........................................................................................ 7
2.3 K-MEDOID .............................................................................................. 7
2.3.1 Partitioning Around Medoid (PAM).................................................. 7
2.3.2 CLARANS ......................................................................................... 9
2.4 VALIDASI KLASTERING DAN DETEKSI OUTLIER ....................................... 10
2.4.1 Silhouette Coefficient ...................................................................... 10
2.4.2 Absolute-Error Criterion ................................................................ 11
2.4.3 Precision, Recall, dan F-measure ................................................... 12
3. ANALISIS DAN PERANCANGAN PERANGKAT LUNAK ................. 13
3.1 GAMBARAN UMUM SISTEM .................................................................... 13
3.2 ANALISA KEBUTUHAN SISTEM ............................................................... 13
3.2.1 Kebutuhan Perangkat Lunak........................................................... 13
3.2.2 Analisis Perangkat Lunak ............................................................... 14
3.2.3 Analisis Perangkat Keras ............................................................... 14
3.3 PERANCANGAN SISTEM .......................................................................... 14
3.3.1 Diagram Aliran Data (DAD) .......................................................... 14
3.3.1.1 DAD Level 0 ................................................................................ 15
3.3.1.2 DAD Level 1 ................................................................................ 15
3.3.1.3 DAD Level 2 proses 1 .................................................................. 15
3.3.1.4 DAD Level 2 proses 2 .................................................................. 16
3.3.1.5 DAD Level 3 proses 2.2 ............................................................... 16
3.3.1.6 DAD Level 3 proses 2.3 ............................................................... 16
vi
3.3.1.7 Kamus Data ................................................................................ 17
3.3.1.8 Spesifikasi Proses ........................................................................ 18
4. IMPLEMENTASI DAN ANALISIS PENGUJIAN ................................. 22
4.1 IMPLEMENTASI SISTEM .......................................................................... 22
4.1.1 Implementasi Perangkat Keras ....................................................... 22
4.1.2 Implementasi Perangkat Lunak ....................................................... 22
4.2 KEBUTUHAN PENGUJIAN ........................................................................ 22
4.2.1 Dataset ........................................................................................... 22
4.2.2 Skenario Pengujian......................................................................... 24
4.3 PENGUJIAN DAN ANALISIS HASIL ........................................................... 24
4.3.1 Pengujian dan Analisis Klastering dengan CLARANS .................... 24
4.3.2 Pengujian dan Analisis Pengaruh Maxneighbor dan Numlocal
Terhadap Hasil Klastering .......................................................................... 28
4.3.3 Pengujian dan Analisis Pengaruh Maxneighbor dan Numlocal
Terhadap Waktu Eksekusi ........................................................................... 29
4.3.4 Pengujian dan Analisis Teknik COR Dalam Mendeteksi Objek
Outlier ....................................................................................................... 30
4.3.5 Pengujian dan Analisis Teknik Separation Dalam Mendeteksi
Klaster Outlier ............................................................................................ 33
5. KESIMPULAN DAN SARAN .................................................................. 36
5.1 KESIMPULAN ......................................................................................... 36
5.2 SARAN ................................................................................................... 37
DAFTAR PUSTAKA ....................................................................................... 38
LAMPIRAN A: DATA PENGUJIAN ............................................................. 39
vii
Daftar Gambar
Gambar 2-1 Ilustrasi Clustering-Based................................................................. 5
Gambar 2-2 Separation ........................................................................................ 7
Gambar 2-3 Kasus Kemungkinan untuk Fungsi Cost............................................ 9
Gambar 2-4 Ilustrasi Algoritma CLARANS ......................................................... 9
Gambar 2-5 Ilustrasi a(x) dan b(x) ..................................................................... 10
Gambar 3-1 Skema Deteksi Outlier pada Sistem ................................................ 13
Gambar 3-2 Diagram Aliran Data level 0 ........................................................... 15
Gambar 3-3 Diagram Aliran Data level 1 ........................................................... 15
Gambar 3-4 Diagram Aliran Data level 2 proses CLARANS ............................. 15
Gambar 3-5 Diagram Aliran Data level 2 proses Deteksi Outlier ....................... 16
Gambar 3-6 Diagram Aliran Data level 3 proses COR ....................................... 16
Gambar 3-7 Diagram Aliran Data level 3 proses Separation .............................. 16
Gambar 4-1 Hasil Klastering CLARANS Data Nilai Mahasiswa 3 klaster.......... 24
Gambar 4-2 Hasil Klastering CLARANS Data Sintesis1 5 klaster ...................... 25
Gambar 4-3 Grafik Pengaruh Parameter CLARANS pada 5 Dataset .................. 28
Gambar 4-4 Grafik Pengaruh Penambahan Parameter CLARANS terhadap Waktu
Eksekusi pada Data Bayi (kiri) dan Data Balon (kanan) ............................... 29
Gambar 4-5 Model Persebaran Data Balon (kiri atas), Data Sintesis_1 (kanan
atas), dan Data Bayi 3 Dimensi (kiri dan kanan bawah) ............................... 33
viii
Daftar Tabel
Tabel 2-1 Silhouette Objek ................................................................................. 11
Tabel 2-2 Silhouette Width ................................................................................ 11
Tabel 4-1 Outlier Data Balon ............................................................................. 22
Tabel 4-2 Outlier Data Bayi ............................................................................... 23
Tabel 4-3 Outlier Data Nilai Mahasiswa ............................................................ 23
Tabel 4-4 Outlier Data Sintesis 1 ....................................................................... 23
Tabel 4-5 Outlier Data Sintesis 2 ....................................................................... 23
Tabel 4-6 Silhouette Outlier pada Data Sintesis_1 .............................................. 25
Tabel 4-7 Silhouette Outlier pada Data Bayi ...................................................... 27
Tabel 4-8 Hasil Pengukuran Akurasi F-measure Data Sintesis_1 ....................... 30
Tabel 4-9 Hasil Pengukuran Akurasi F-measure Data Sintesis_2 ....................... 31
Tabel 4-10 Hasil Pengukuran Akurasi F-measure Data Bayi .............................. 31
Tabel 4-11 Hasil Deteksi Outlier dengan Separation pada Data Balon............... 34
Tabel 4-12 Hasil Deteksi Outlier dengan Separation pada Data Bayi ................ 34
Tabel 4-13 Hasil Deteksi Outlier dengan Separation pada Data Sintesis 1 ......... 34
Tabel A-1 Hasil Pengujian Parameter CLARANS pada Data Sintesis_2 ............ 39
Tabel A-2 Hasil Pengujian Parameter CLARANS pada Data Balon ................... 39
Tabel A-3 Hasil Pengujian Parameter CLARANS pada Data Bayi ..................... 39
Tabel A-4 Hasil Pengujian Parameter CLARANS pada Data Nilai .................... 40
Tabel A-5 Hasil Pengujian Parameter CLARANS pada Data Sintesis_1 ............ 40
Tabel A-6 Hasil Pengujian Klastering 5 klaster Data Sintesis_1, MN 9 NL 2 ..... 41
Tabel A-7 Hasil Pengujian Klastering 2 Klaster Data Bayi, MN 6 NL 2 ............. 42
Tabel A-8 Hasil Pengujian Akurasi Deteksi Outlier Data Sintesis_1 2 klaster .... 46
ix
Daftar Istilah
DAD Diagram aliran data yang menggambarkan aliran data
pada suatu sistem.
Klaster Kelompok data yang terdiri dari beberapa objek yang
memiliki tingkat kesamaan yang tinggi.
Stand-alone tool Perangkat yang berdiri sendiri.
Human error Kesalahan teknis yang dilakukan oleh manusia
Klaster outlier Kelompok data yang biasanya berukuran kecil dan
diindikasikan sebagai kelompok objek pencilan
Threshold Nilai ambang
Sampling Penarikan contoh, teknik pada algoritma CLARANS
Postprocessing Proses yang dilakukan setelah proses utama
Medoid Objek representatif klaster yang letaknya dekat dengan
pusat klaster Anomali Ketidaknormalan, kondisi abnormal
1
1. PENDAHULUAN
1.1 Latar belakang
Data merupakan kumpulan objek beratribut. Dengan data mining, data
tersebut dapat digunakan untuk memperoleh informasi penting yang tersimpan di
dalamnya. Namun, terkadang ada objek yang tidak termasuk ke dalam kelas
objek-objek lainnya. Dan jumlah objek ini umumnya sedikit sekali dari sekian
banyak objek, sehingga sulit terdeteksi keberadaannya. Objek ini dikenal dengan
outlier. Outlier adalah objek yang memiliki karakteristik berbeda jika
dibandingkan dengan objek yang lain yang ada di data set (abnormal data) [6].
Biasanya outlier ini menyimpan informasi yang dapat digunakan untuk
mendeteksi ke-abnormalan suatu masalah, seperti deteksi penggunaan tidak biasa
dari credit card, analisis medis untuk menemukan respon tidak biasa pada medical
treatment yang dilakukan, kesalahan sistem, deteksi fraud, human error, intrusion
detection, dan deteksi perilaku abnormal pelanggan [6]. Oleh karena itu,
keberadaan outlier penting untuk diketahui.
Pada data mining, salah satu teknik yang digunakan untuk mendeteksi
outlier yaitu dengan teknik klastering, dimana objek data dikelompokkan ke
dalam klaster-klaster berdasarkan kesamaan karakteristik yang dimiliki objek
tersebut [7]. Objek yang membentuk klaster berukuran kecil dan berada jauh
dibandingkan klaster lain atau objek yang memiliki perbedaan karakteristik yang
paling besar dalam klaster tersebut dapat dikatakan sebagai outlier.
Teknik klastering memiliki banyak algoritma untuk pengelompokan objek.
Namun tidak semuanya cocok diimplementasikan untuk deteksi outlier.
Algoritma yang dapat mendeteksi outlier adalah DBSCAN, BIRCH, dan CURE
[2]. Sedangkan dalam penelitian ini dipilih algoritma CLARANS yang merupakan
varian algoritma dari metode k-Medoid (algoritma PAM , Partitioning Around
Medoid) yang dikembangkan untuk data set yang berjumlah banyak (lebih dari
1000 record) [9] dan tidak bisa menangani dimensi tinggi. K-medoid sendiri
merupakan perbaikan dari algoritma k-means yang tidak dapat mendeteksi
keberadaan outlier. Jika dibandingkan dengan k-means, k-medoid lebih kuat
menangani keberadaan outlier. Sehingga algoritma yang mengimplementasikan
metode k-medoid bisa dikatakan memungkinkan mendeteksi outlier.
CLARANS juga dikatakan memungkinkan untuk menangani atau
mendeteksi outlier dan memiliki performansi yang lebih baik dari sisi penanganan
jumlah objek yang besar dibandingkan algoritma k-Medoid sebelumnya, karena
CLARANS mengkombinasikan teknik sampling dengan PAM [4]. CLARANS
melakukan klastering berdasarkan pencarian random medoid (randomized
search). Dari eksperimen yang telah dilakukan menunjukkan bahwa CLARANS
lebih efektif daripada PAM dan CLARA (algoritma perbaikan dari PAM dengan
teknik sampling) [4]. Namun, belum ada penelitian khusus yang menjelaskan
secara jelas bagaimana outlier mungkin terdeteksi dengan CLARANS ini.
2
1.2 Perumusan masalah
Adapun perumusan masalah yang diteliti dalam penelitian ini adalah :
1. apakah data dapat terpartisi dengan baik jika menggunakan CLARANS,
sehingga satu objek tepat berada di dalam satu klaster, kecuali outlier?
2. apakah outlier dapat dideteksi oleh CLARANS?
3. bagaimana cara outlier dideteksi dengan CLARANS?
4. pada kondisi seperti apa outlier dapat dideteksi oleh CLARANS?
5. bagaimana meningkatkan akurasi CLARANS dalam mendeteksi outlier?
Dan agar pembahasan dapat fokus, maka batasan masalah pada penelitian
ini adalah :
1. data set yang digunakan adalah data dengan variabel numerik dan data
pre-processing untuk data berdimensi tinggi, karena CLARANS tidak
mampu menangani data berdimensi tinggi, maksimal 5 dimensi.
2. tidak membahas terlalu mendalam algoritma klastering selain CLARANS,
kecuali untuk perbandingan dalam mendeteksi outlier.
3. tidak menangani eliminasi outlier setelah terdeteksi.
4. tidak ada pembobotan yang mempengaruhi pada dimensi-dimensi dataset
yang dipilih.
1.3 Tujuan
Dan tujuan dari penelitian ini adalah :
1. mempelajari proses deteksi outlier dengan algoritma CLARANS.
2. membuktikan CLARANS dapat atau tidak dapat menangani objek outlier.
3. mencari tahu faktor-faktor yang mempengaruhi kemampuan CLARANS
dalam mendeteksi outlier.
4. membangun perangkat lunak yang mengimplementasikan algoritma
CLARANS.
5. mendapatkan hasil akhir klastering yang terpartisi dengan baik, satu objek
tepat berada di satu klaster.
1.4 Metodologi penyelesaian masalah
Untuk menyelesaikan permasalahan pada penelitian ini, maka metodologi
penyelesaian yang akan dilakukan adalah :
1. Melakukan studi literatur terkait deteksi outlier, algoritma CLARANS,
dan algoritma pendukung.
2. Mengumpulkan data set yang memiliki objek outlier.
3. Melakukan pre-processing sehingga dataset yang digunakan sesuai untuk
inputan aplikasi yang dibangun..
4. Membangun perangkat lunak untuk implementasikan algoritma
CLARANS pada dataset tersebut untuk mendeteksi outlier.
5. Melakukan testing dengan data set yang ada.
6. Melakukan analisis terhadap hasil klastering yang dihasilkan.
7. Kesimpulan akhir dan pembuatan laporan akhir.
3
2. DASAR TEORI
2.1 Data Mining
Data mining merupakan proses menggali atau mengekstrak sejumlah data
yang ada untuk mendapatkan informasi yang penting di dalamnya. Data mining
juga dikenal sebagai Knowledge Discovery in Database (KDD) [1].
Ada beberapa tahapan yang dilakukan dalam data mining,yaitu :
1. Data cleaning, merupakan proses pembersihan data dari noise dan data
inkonsisten.
2. Data integration, penggabungan beberapa data.
3. Task relevant data, data yang telah digabungkan, ditaransformasi ke
bentuk yang sesuai agar bisa di-mining.
4. Data mining, proses penggalian data dilakukan.
5. Pattern evaluation, kemudian dilakukan evaluasi terhadap pola yang
dihasilkan dari data mining.
6. Barulah didapatkan knowledge atau presentasi pengetahuan dengan
visualisasi.
Di dalam data mining terdapat metode yang dibagi secara umum menjadi
dua yaitu predictive methods dan descriptive methods. Pada predictive methods
menggunakan beberapa variabel untuk memprediksi nilai dari variabel yang
lainnya. Yang termasuk metode ini adalah klasifikasi dan regresi. Sedangkan pada
descriptive methods dengan cara menemukan terlebih dahulu pola yang dibuat
berdasarkan interpretasi manusia terhadap data-data. Dan yang termasuk metode
ini adalah klastering, association rule mining, sequential pattern mining, dan
subgraph mining.
2.1.1 Klastering Klastering termasuk ke dalam descriptive methods, dan juga termasuk
unsupervised learning dimana tidak ada pendefinisian kelas objek sebelumnya.
Sehingga klastering dapat digunakan untuk menentukan label kelas bagi data-data
yang belum diketahui kelasnya. Konsep dasar dari klastering adalah
mengelompokkan sejumlah objek ke dalam klaster dimana klaster yang baik
adalah klaster yang memiliki tingkat kesamaan atau similarity yang tinggi antar
objek di dalam satu klaster dan tingkat ketidaksamaan atau dissimilarity yang
tinggi dengan objek klaster yang lainnya. Aplikasi klastering bisa dibangun
sebagai stand-alone tool atau sebagai preprocessing algoritma lainnya, misalnya
untuk algoritma pendeteksian outlier. Aplikasi clustering bisa dibangun sebagai
stand-alone tool atau sebagai preprocessing algoritma lainnya, misalnya untuk
algoritma pendeteksian outlier dalam pembahasan ini. Aplikasi clustering juga
dapat diimplementasikan untuk pattern recognition, spatial data analysis, image
processing, klasifikasi dokumen, dan market research.
Terdapat banyak algoritma klastering yang dalam penggunaannya
tergantung pada tipe data yang akan dikelompokkan dan apa tujuan dari
pembuatan aplikasinya. Dalam pembahasan di sini, algoritma klastering
digunakan untuk mengelompokkan objek ke dalam klaster-klaster, kemudian dari
4
hasil klastering akan dideteksi keberadaan outlier dalam data tersebut. Sedangkan
data yang digunakan bertipe data numerik.
Algoritma klastering diklasifikasikan ke dalam 5 kategori, yaitu :
1. Partitioning methods
Pengelompokkan objek dimana tiap objek terpartisi dengan tepat, yang
berarti 1 objek dimiliki oleh 1 klaster. Yang termasuk ke dalam metode ini
adalah algoritma k-means, k-medoid atau PAM, CLARA, dan CLARANS.
2. Hierarchical methods
Pengelompokan objek dapat dilakukan dengan 2 cara, agglomerative yang
dimulai dengan menggabungkan beberapa klaster hingga menjadi satu,
atau divisive yang dimulai dengan klaster yang sama kemudian dipecah
menjadi beberapa klaster yang lebih kecil. Yang termasuk ke dalam
metode ini adalah algoritma CURE, BIRCH, dan Chameleon.
3. Density-based methods
Pengelompokkan objek berdasarkan tingkat kerapatan objek atau densitas.
Yang termasuk ke dalam metode ini adalah algoritma DBSCAN,
DENCLUE, dan OPTICS.
4. Grid-based methods
Pengelompokan objek dengan menggunakan struktur data grid
multiresolusi. Mampu untuk menangani data berdimensi tinggi. Yang
termasuk ke dalam metode ini adalah algoritma CLIQUE, WaveCluster,
dan STING.
5. Model-based methods
Pengelompokan objek dengan memodelkan tiap klaster , dan mencoba
mengoptimasikan kesesuaian data dengan model matematika. Yang
termasuk ke dalam metode ini adalah algoritma COBWEB.
2.1.2 Preprocessing Dataset
Preprocessing merupakan salah satu tahapan awal dalam data mining,
yang terdiri dari proses pembersihan data, transformasi data, dan reduksi data.
Tujuan dari preprocessing adalah agar data yang digunakan untuk aplikasi data
mining mudah diinterpretasikan untuk dianalisis. Selain itu, agar data yang
digunakan sesuai atau relevan dengan kebutuhan aplikasi yang dibangun,
sehingga tentunya hasil yang dikeluarkan juga sesuai dan optimal.
Dan untuk algoritma CLARANS yang memiliki keterbatasan dalam
menangani data yang berdimensi tinggi, maka dilakukan preprocessing manual,
yaitu dengan memilih dimensi data yang akan diklastering dan dideteksi. Dimensi
yang dipilih haruslah bertipe numerik dan maksimal berjumlah 5 dimensi.
Peningkatan jumlah dimensi dalam klastering menimbulkan dampak kurang
berpengaruhnya perhitungan jarak antara 2 objek [5] sehingga juga mempengaruhi
klastering yang dihasilkan.
2.2 Deteksi Outlier
Deteksi outlier dikenal juga dengan deteksi anomali, yang merupakan
teknik untuk mencari atau menemukan objek yang memiliki karakteristik yang
berbeda daripada objek lainnya, objek ini disebut outlier. Permasalahan yang ada
pada deteksi outlier adalah bagaimana mendefinisikan objek sebagai outlier dan
menemukan outlier tersebut dalam berbagai kondisi dataset. Penyebab munculnya
5
objek outlier bisa disebabkan karena kesalahan pengukuran atau perhitungan,
human error, variasi nilai data, dan lain-lain. Banyak algoritma data mining yang
mencoba meminimalisasi dampak atau pengaruh dari keberadaan outlier ini,
bahkan dimungkinkan juga untuk mengeliminasi outlier sekaligus untuk
meminimasi error.
Terdapat beberapa pendekatan deteksi outlier antara lain :
1. Statistical-distribution based outlier detection
Pendekatan ini mengasumsi model persebaran atau probabilitas untuk data
set yang diberikan dan mengidentifikasi outlier dengan model
menggunakan discordancy test.
2. Distance-based outlier detection
Pendekatan ini muncul karena kekurangan dari pendekatan statistik dalam
mendeteksi outlier. Distance-based outlier adalah objek yang tidak
memiliki tetangga cukup banyak. Pengukuran jarak yang digunakan
biasanya menggunakan perhitungan Euclidean distance.
3. Density-based local outlier detection
Metode density-based mengantisipasi kesulitan ketika persebaran data
terjadi perbedaan densitas atau kerapatan. Di sini kita menggunakan notasi
local outlier.
4. Deviation-based outlier detection
Pendekatan ini memeriksa karakteristik utama dari objek-objek di dalam
grup atau klaster. Objek yang deviate atau menyimpang dari deskripsi
tersebut dipertimbangkan sebagai outlier.
5. Clustering-based outlier detection
Pendekatan ini menggunakan klastering untuk mendeteksi outlier. Klaster
yang berukuran kecil dan letaknya jauh dapat diindikasikan sebagai klaster
outlier. Ide dasar untuk mendeteksi outlier sebagai berikut [3]:
1. kelompokkan data ke dalam kelompok-kelompok berdasarkan
densitasnya.
2. Pilih titik-titik yang ada di dalam klaster yang kecil, sebagai kandidat
outlier
3. Hitung jarak antara kandidat outlier dengan klaster non-kandidat
lainnya.
4. Jika kandidat outlier letaknya jauh dari semua klaster non-kandidat
lainnya, maka kandidat outlier itu disebut outlier.
Gambar 2-1 Ilustrasi Clustering-Based
6
Terdapat 2 cara umum dalam mendeteksi keberadaan outlier pada
distribusi data. Pertama, dengan implementasi algoritma klastering yang
keluarannya langsung dihasilkan klaster outlier ataupun objek outlier. Salah satu
contohnya adalah dengan algoritma DBSCAN atau k-nearest neighbor. Dengan
DBSCAN keberadaan outlier dapat diketahui dengan mengukur tingkat kerapatan
atau densitas klaster. Sebuah objek dikatakan outlier jika dalam radius yang telah
ditentukan (Eps) tidak terdapat objek lainnya atau jika pun ada, kurang dari
jumlah minimum objek (MinPts) yang ditentukan sebelumnya. Sedangkan cara
kedua, dimana proses deteksi merupakan tahapan post-processing dari
implementasi algoritma klastering, karena pendeteksian outlier dilakukan setelah
klaster-klaster terbentuk, dengan kata lain dalam hal ini, algoritma klastering tidak
berperan secara langsung dalam mendeteksi outlier. Sehingga diperlukan metode
atau algoritma tambahan untuk mendeteksi keberadaan outlier.
Dan pada pembahasan tugas akhir, CLARANS memungkinkan
mendeteksi outlier yang mana dihasilkan dari produk atau hasil proses klastering
[6]. Sehingga diperlukan teknik post-processing untuk dapat menemukan outlier,
dan dalam pembahasan tugas akhir ini dipilih 2 metode yaitu algoritma Clustering
Outlier Removal (COR) dan Separation.
2.2.1 Clustering Outlier Removal (COR)
Teknik Clustering Outlier Removal atau COR dikembangkan oleh
Svetlana Cherednichenko pada tesisnya di tahun 2005. Dalam penelitiannya,
algoritma klastering yang digunakan adalah k-means [14]. Dan dalam pembahasan
tugas akhir ini, CLARANS akan menggantikan k-means sebagai algoritma
klastering yang digunakan.
COR terdiri dari 2 tahap dalam implementasinya. Tahap pertama adalah
implementasi algoritma klastering, kemudian tahap kedua yaitu secara iterative
mengimplementasikan algoritma outlier removal untuk menemukan objek outlier,
dan akan berhenti sampai pencacah iterasi terpenuhi atau kondisi threshold
terpenuhi. Outlier di sini didefinisikan sebagai titik atau objek yang jaraknya
relatif jauh objek-objek yang lainnya. Teknik ini bergantung pada 2 variabel, yaitu
threshold dan distortion. Threshold adalah parameter yang diinputkan oleh
pengguna, yang berkisar antara nilai 0 sampai dengan 1, sedangkan distortion
adalah perbandingan antara jarak objek terdekat dari centroid klaster dan jarak
terjauh dari centroid klaster dalam satu klaster [14]. Distortion dihitung untuk
mengetahui seberapa jauh sebuah objek yang terjauh jika dibandingkan dengan
objek yang terdekat dengan centroid.
maxmin ddDistortion (2.1)
Sebuah objek dikatakan outlier jika menemui kondisi distortion lebih
rendah daripada threshold yang diinputkan, maka objek terjauh dari klaster
tersebut dapat dipertimbangkan sebagai objek outlier. Namun dampak dari teknik
ini adalah belum diketahui secara pasti nilai threshold yang mengindikasikan
outlier, karena tiap bentuk klaster yang dihasilkan memungkinkan memiliki
perbedaan nilai threshold.
7
2.2.2 Separation
Separation merupakan ukuran seberapa berbeda atau jauh terpisah sebuah
klaster dengan klaster lainnya. Separation biasanya digunakan untuk mengukur
validitas klaster. Dalam pembahasan tugas akhir ini, selain sebagai salah satu
variabel pengukuran validitas klaster, separation akan digunakan untuk
menemukan klaster outlier dari klaster-klaster hasil klastering dengan
CLARANS. Perhitungan separation bisa didapatkan dari 2 pendekatan, yaitu
graph-based dan prototype-based. Perbedaannya bisa dilihat pada gambar di
bawah ini :
(a) Graph-based (b) Prototype-based
Gambar 2-2 Separation
Persamaan separation dituliskan sebagai berikut :
a. Graph-based
i jCx Cy
ji yxproximityCCSeparation ,, (2.2)
b. Prototype-based
jiji ccproximityCCSeparation ,, (2.3)
Nilai proximity yang digunakan adalah Euclidean Distance. Persamaan
Euclidean cocok untuk data bertipe numerik dan mengutamakan perbedaan jarak
antar keduanya [5]. Persamaan Euclidean dihitung dengan persamaan berikut :
l
k
jkik xxjiDist1
2)(),( (2.4)
Sebuah objek dikatakan objek outlier jika berada di dalam klaster outlier.
Klaster dikatakan sebagai klaster outlier ketika size atau ukuran klaster kecil atau
1 dan nilai separation tinggi.
2.3 K-Medoid
K-medoid mengelompokkan objek-objek dengan terlebih dahulu
menemukan objek yang mewakilkan objek lainnya, yang disebut medoid, yang
secara letaknya berada di tengah-tengah klaster. K-medoid juga dikenal sebagai
PAM.
2.3.1 Partitioning Around Medoid (PAM)
Algoritma pertama yang menerapkan k-medoid adalah PAM (partitioning
around medoid). PAM dikembangkan oleh Kaufmann dan Rousseeuw [4]. Untuk
menemukan k-klaster, PAM melakukan pendekatan dengan menentukan objek
mana yang mewakilkan setiap klaster yang ada. Objek representatif ini disebut
dengan medoid, yang secara umum letaknya di tengah-tengah klaster. Sekali
8
medoid terpilih, objek yang bukan medoid atau non-medoid akan dikelompokkan
dengan medoid yang paling mirip.
Sebagai gambaran, sebuah dataset memiliki n buah objek. Kemudian
medoid akan terpilih secara acak sejumlah k objek, dimana k sama dengan jumlah
klaster yang ingin dibentuk. K-medoid ini dianggap sebagai objek yang terpilih Oj
dan objek selain medoid dianggap objek non-medoid Oh. Oh termasuk ke dalam
klaster yang direpresentasikan oleh Oj jika dissimilarity atau jarak antara Oh dan
Oj merupakan minimum dari semua medoid Om. Dalam notasi dinyatakan dengan
d(Oh,Oj) = min(Oh,Om). Kemudian dilakukan swapping atau pertukaran antara Oj
dengan Oh pada tiap tahap.
Algoritma PAM dapat diurutkan sebagai berikut :
1. pilih k objek secara sembarang.
2. hitung fungsi cost TCjh untuk setiap pasangan objek Oj dan Oh, dimana Oj
adalah objek terpilih dan Oh adalah objek yang tidak terpilih.
3. pilih pasangan Oj,Oh yang menghasilkan TCjh = min(Oj,Oh). Jika nilai
minimum TCjh negatif, maka ganti Oj dengan Oh dan selanjutnya kembali
ke langkah 2.
4. sebaliknya, untuk setiap objek tidak terpilih, temukan medoid yang paling
mirip dengan objek tidak terpilih tersebut.
Dalam perhitungan fungsi cost, ada 4 kasus kemungkinan yang terjadi saat
pertukaran medoid, yaitu :
1. P sebelumnya milik medoid Oj, jika Oj digantikan oleh Oh sebagai medoid
dan P lebih dekat ke salah satu dari Oi, i ≠ j, maka P di-assign kembali ke
Oi. Dimana d(P, Oh) ≥ d(P, Oi). Fungsi cost :
jipjh OPdOPdC ,, (2.5)
2. P sebelumnya milik medoid Oj, jika Oj digantikan oleh Oh sebagai medoid
dan P lebih dekat ke Oh, maka P di-assign kembali ke Oh. Dimana d(P, Oh)
< d(P, Oi). Fungsi cost :
jhpjh OPdOPdC ,, (2.6)
3. P sebelumnya milik medoid Oi, i ≠ j, jika Oj digantikan oleh Oh sebagai
medoid, dan P masih tetap dekat ke Oi, maka tidak ada perubahan.
Fungsi cost :
0pjhC (2.7)
4. P sebelumnya milik medoid Oi, i ≠ j, jika Oj digantikan oleh Oh sebagai
medoid dan P lebih dekat ke Oh, maka P di-assign kembali ke Oh.
Fungsi cost :
ihpjh OPdOPdC ,, (2.8)
Sehingga dari 4 kasus di atas dapat diakumulasikan perhitungan cost oleh
persamaan Total Cost berikut :
p
pjhjh CTC (2.9)
9
(1) (2) (3) (4)
Gambar 2-3 Kasus Kemungkinan untuk Fungsi Cost
2.3.2 CLARANS
Algoritma CLARANS atau Clustering Large Application based on
RANdomized Search merupakan algoritma varian algoritma dari k-medoid. Dan
juga merupakan pengembangan dari algoritma-algoritma sebelumnya yang
menerapkan k-medoid, seperti PAM (Partitioning Around Medoid) dan CLARA
(Clustering Large Application) untuk menangani jumlah data yang lebih besar.
CLARANS mengkombinasikan teknik sampling dengan PAM. Yang dimaksud
menggunakan pengkombinasian kedua teknik di atas yaitu CLARANS mengambil
secara random sejumlah objek yang dianggap medoid yang merupakan sampling
dari objek-objek yang lain, kemudian mengimplementasikan teknik PAM pada
setiap sampling.
Sebagai awal penggambaran, CLARANS memulai proses dengan
mengambil secara random beberapa objek dari n objek yang sebelumnya
dijabarkan sebagai sebuah graph, Dinotasikan dengan Gn,k.. Objek random
tersebut dianggap sebagai medoid pada suatu node. Jadi sebuah node pada graph
berisikan k-medoid, dimana k merupakan jumlah klaster yang diinginkan. Sebuah
node memiliki neighbor, dan dua buah node dapat dikatakan bertetanggaan jika
perbedaan anggota medoid mereka hanya 1 objek saja. Dengan kata lain, jika ada
k buah medoid pada tiap node, maka perbedaan antara 2 node hanya (k-1) objek
medoid, sehingga dapat disimpulkan bahwa 1 node memiliki k(n-k) neighbor. Dan
dari node inilah akan dihitung persamaan total cost dengan menghitung
dissimilarity antara medoid dengan tiap objek.
Gambar 2-4 Ilustrasi Algoritma CLARANS
10
CLARANS memiliki 2 parameter utama, yaitu maxneighbor dan
numlocal. Maxneighbor adalah jumlah maksimal neighbor dari sebuah node yang
akan dicek, sedangkan numlocal adalah jumlah maksimal local minimum yang
menentukan berapa kali node dicek. Pada referensi [12], berdasarkan eksperimen
yang dilakukan sebelumnya, nilai numlocal yang telah diuji sama dengan 2 dan
maxneighbor yang telah diuji berkisar antara 1,25% s/d 1,5% * k(n-k), dimana k
adalah jumlah klaster yang diinginkan, dan n adalah jumlah objek pada dataset.
Berikut langkah-langkah dalam algoritma CLARANS :
1. inputkan parameter numlocal dan maxneighbor. Inisialisasi i=1 dan
mincost = large number
2. set current node di graph G.
3. set j = 1
4. pilih secara random neighbor (S) dari current node. Hitung selisih cost
dari 2 node (current dan S) berdasarkan persamaan (2.9).
5. jika S punya cost lebih rendah, maka set current node = S, dan balik ke
langkah (3).
6. sebaliknya, jika S > current node , maka increment j j = j + 1. lalu cek
jika j <= maxneighbor, kembali ke langkah (4).
7. sebaliknya jika j > maxneighbor , bandingkan cost antara S dengan
mincost. Jika S << mincost, maka mincost = cost S dan bestnode = S.
8. lalu increment i i = i+1. jika i > numlocal, maka output = best node dan
proses berhenti. Jika i < numlocal, kembali ke langkah (2). Proses berhenti
jika nilai numlocal telah terpenuhi.
2.4 Validasi Klastering dan Deteksi Outlier
2.4.1 Silhouette Coefficient
Silhouette Coefficient dikembangkan pertama kali oleh Kaufman dan
Rousseeuw [15]. Silhouette coefficient mengkombinasikan ide cohesion dan
separation untuk validasi hasil klastering. Cohesion digunakan untuk mengukur
seberapa dekat hubungan objek-objek pada klaster yang sama. Sedangkan
separation digunakan untuk mengukur seberapa berbeda atau terpisahnya sebuah
klaster dari klaster lainnya. Sedangkan silhouette coefficient sendiri digunakan
untuk mengukur kualitas klaster yang dihasilkan sekaligus mengindikasikan
derajat kepemilikan setiap objek yang berada di dalam klaster.
Nilai silhouette dari sebuah objek Oj berada pada rentang antara -1 sampai
dengan 1. Semakin dekat nilai silhouette objek Oj ke 1, maka semakin tinggi
derajat Oj di dalam klaster. Berdasarkan penggunaannya, berikut akan dijelaskan
cara untuk menentukan silhouette coefficient dari klaster :
Gambar 2-5 Ilustrasi a(x) dan b(x)
Diberikan sebuah titik x di klaster A, lalu a(x) adalah jarak rata-rata antara
titik x dengan titik lain di klaster A, dan b(x) adalah jarak rata-rata antara titik x
11
dan titik-titik di klaster kedua yang terdekat dengan A, yaitu klaster B. Kemudian
hitung nilai silhouette setiap objek dengan persamaan :
xbxa
xaxbxS
,max
(2.10)
Pada referensi [15], nilai silhouette akan mengindikasikan derajat
kepemilikan tiap objek sebagai berikut :
Tabel 2-1 Silhouette Objek
Silhouette Interpretasi
S(x)= -1 menunjukkan overlapping struktur yang tinggi, bahwa x berada
dekat dengan objek lain di klaster B, bukan A, klaster sebelumnya. Atau bisa dikatakan x seharusnya tidak berada di
dalam klaster A.
S(x)=0 menunjukkan x sama-sama similar untuk klaster A dan B.
S(x)= 1 Menunjukkan x memang milik klaster A.
Setelah mendapatkan nilai silhouette tiap objek dalam klaster, kita dapat
menentukan silhouette width untuk klaster tersebut, yaitu dengan menghitung
rata-rata nilai silhouette semua objek yang berada dalam klaster. Dan berdasarkan
eksperimen pada referensi [15] yang mengemukakan interpretasi terhadap nilai
silhouette width untuk klaster sebagai berikut :
Tabel 2-2 Silhouette Width
Silhouette Width Interpretasi
0.71 – 1 Strong klaster
0.51 – 0.7 Reasonable klaster
0.26 – 0.5 Weak atau artificial klaster
≤ 0.25 No klaster found
Dari nilai silhouette width klaster, dapat dihitung nilai rata-rata silhouette
width untuk k-klaster sehingga didapatkan nilai silhouette coefficient klastering
yang mengindikasikan kualitas klastering.
2.4.2 Absolute-Error Criterion
Absolute-Error Criterion atau AEC digunakan sebagai prinsip minimasi
total dissimilarities antara tiap objek dengan representatif objeknya. Dalam
CLARANS digunakan untuk menghitung cost pada proses klasteringnya.
Semakin kecil nilai AEC maka hasil klastering juga semakin baik.
Berikut persamaan yang digunakan :
k
j Cp
j
j
opE1
(2.11)
12
2.4.3 Precision, Recall, dan F-measure
Sedangkan untuk mengukur ketepatan deteksi outlier, digunakan perhitungan
precision, recall, dan f-measure terhadap objek yang termasuk kelas outlier
(kelas O). Berikut persamaan-persamaan yang digunakan :
1. Precision (i,j) : iijij mmp / (2.12)
2. Recall (i,j) : jij mm / (2.13)
3. F-measure (i,j) : rp
pr
2 (2.14)
Semakin besar nilai f-measure yang dihasilkan, semakin baik hasil deteksi.
Dimana :
mi= jumlah record pada klaster ke-i
mij= jumlah record dari class ke-j yang ada pada klaster ke-i
pij= precision dari klaster ke-i dan class ke-j
m=jumlah semua record pada data
mj= jumlah record pada class ke-j
13
3. Analisis dan Perancangan Perangkat Lunak
3.1 Gambaran Umum Sistem
Perangkat lunak yang dibangun merupakan implementasi algoritma
klastering, yaitu CLARANS, dalam mendeteksi keberadaan outlier di dalam
sebuah dataset. Perangkat lunak ini terdiri dari 2 proses utama, yaitu klastering
dan deteksi outlier dari hasil klastering tersebut.
Secara umum proses deteksi outlier pada sistem adalah sebagai berikut :
Gambar 3-1 Skema Deteksi Outlier pada Sistem
Data preprocessing merupakan tahapan awal untuk mempersiapkan
dataset agar dapat digunakan dan sesuai dengan kebutuhan perangkat lunak.
Dalam perangkat lunak ini proses preprocessing tidak dibangun
fungsionalitasnya.
3.2 Analisa Kebutuhan Sistem
Sistem yang dibuat dalam tugas akhir ini merupakan sebuah perangkat
lunak yang memiliki 2 proses utama, yaitu klastering data dan setelah itu
melakukan proses deteksi outlier dari hasil klaster tersebut. Pada saat
pengoperasian sistem ini dapat dilakukan dengan memperhatikan hal – hal
berikut ini :
File tabel yang dijadikan inputan dalam aplikasi ini berada di dalam 1
database dataset yang bertipe *.mdb
File tabel harus beratribut numerik ,kecuali kolom id_record yang harus
berada di kolom pertama tabel.
Berdasarkan analisis kebutuhan sistem ini maka terdapat beberapa
kebutuhan yang nantinya akan menjadi masukan dalam proses perancangan
sistem.
3.2.1 Kebutuhan Perangkat Lunak
Di dalam perangkat lunak ini terdapat beberapa kebutuhan fungsional,
yaitu :
1. memilih tabel dari database dataset.mdb yang ingin diklastering dan
dideteksi keberadaan outlier pada dataset tersebut.
2. melakukan proses klastering kemudian pendeteksian outlier.
3. menampilkan visualisasi dalam 2D hasil proses klastering dan deteksi
outlier pada chart.
4. menyimpan hasil klastering dan deteksi outlier berupa file *.txt dan *.bmp
untuk hasil visualisasi.
Dataset Data
preprocessing Deteksi outlier
Data outlier
Klastering data
14
3.2.2 Analisis Perangkat Lunak
Dalam pembangunan sistem ini memerlukan beberapa perangkat lunak,
sebagai berikut :
1. sistem operasi Microsoft Windows XP Profesional version 2002.
2. database Microsoft Access 2003
3. bahasa pemrograman Borland Delphi 7
3.2.3 Analisis Perangkat Keras
Dan juga diperlukan spesifikasi perangkat keras di dalam pembangunan
perangkat lunak ini, yaitu :
1. Processor AMD Athlon™ - 1.24 GHz.
2. RAM 256 MB
3. Harddisk 40 GB
4. VGA Card
5. Monitor LG 15’
6. Keyboard dan mouse
3.3 Perancangan Sistem
3.3.1 Diagram Aliran Data (DAD)
Dari analisis sistem di atas, maka dibuat perancangan sistem dengan
Diagram Aliran Data (DAD) yang terdiri dari beberapa level yang setiap levelnya
menjelaskan proses di dalam sistem. Keterangan mengenai simbol-simbol yang
digunakan pada Diagram Aliran Data dapat dilihat pada tabel dibawah ini :
Tabel 3.1 Simbol Diagram Aliran Data
Simbol Arti
Proses
Subyek/obyek (entity luar ) yang berinteraksi dengan
proses
Tempat penyimpanan data ( database)
Arah aliran data
15
3.3.1.1 DAD Level 0
user0.
Sistem Deteksi
Outlier
nama_database , nama_tabel, jumdim, jumclust,
Index_metode
Outlier_point, Cluster_outlier,
Visual_2D
Gambar 3-2 Diagram Aliran Data level 0
3.3.1.2 DAD Level 1
user
1.
CLARANS
2.
Deteksi
Outlier
Nama_database, nama_tabel,
Jumdim, jumclust
Outlier_point,
Cluster_outlier
Best_medoid,
Cluster_member
Index_metode
3.
VisualisasiVisual_2D
Outlier_point,
Cluster_outlier
Gambar 3-3 Diagram Aliran Data level 1
3.3.1.3 DAD Level 2 proses 1
Dataset
1.1
Load Tabel
Nama_database,
Nama_tabel
List_tabel
1.2
Generate
parameter
Jumdim, jumclust,
jumrec
1.3
Select
random
medoid
Maxneighbor,
numlocal
1.5
Compare
TotalCost
1.4
Select
random
neighbor
Maxneighbor,
numlocal
Current_nodeNeighbor_node
1.6
Select
Medoid
Best_nodeBest_medoid,
Cluster_member
Gambar 3-4 Diagram Aliran Data level 2 proses CLARANS
16
3.3.1.4 DAD Level 2 proses 2
2.1
Choose MethodIndex_metode
2.2
COR
2.3
Separation
Metode_COR
Metode_separation
Outlier_point
Cluster_outlier
Gambar 3-5 Diagram Aliran Data level 2 proses Deteksi Outlier
3.3.1.5 DAD Level 3 proses 2.2
2.2.1
Nearest and
Furthest Object
Threshold, Iterasi
Best_medoid,
Cluster_member
2.2.2
Distortion
2.2.3
Compare
Threshold and
Distortion
Dist_min,
Dist_maxDistorsi
User
Outlier_point
Gambar 3-6 Diagram Aliran Data level 3 proses COR
3.3.1.6 DAD Level 3 proses 2.3
2.3.1
Cluster
Diameter
Best_medoid,
Cluster_member
2.3.2
Find Biggest
Separation
Diameter_cluster Cluster_outlier
Dataset
Size_cluster
Gambar 3-7 Diagram Aliran Data level 3 proses Separation
17
3.3.1.7 Kamus Data
Dan elemen-elemen yang digunakan pada Diagram Aliran Data di atas
adalah sebagai berikut :
Elemen data Jenis Data Keterangan
Nama_database File *.mdb Nama database yang digunakan yang berisi kumpulan tabel
Nama_tabel String Nama tabel dataset yang akan digunakan
JumDim Numerik Jumlah dimensi yang dipilih dari tabel dataset
JumClust Numerik Jumlah klaster yang ingin dibentuk
JumRec Numerik Jumlah record dataset
Outlier_point Array of Tcluster Hasil deteksi berupa objek outlier
*TCluster = record
jum_member = integer rec = array of Trecord*
Cluster_outlier Array of Tcluster Hasil deteksi berupa klaster outlier
*TCluster = record
jum_member = integer rec = array of Trecord*
Index_metode 1 | 2 Index metode yang dipilih oleh user. Nilai (1)
jika postprocessing dengan COR, dan (2) jika postprocessing dengan separation.
Best_medoid Array of TRecord Hasil akhir klastering CLARANS berupa objek
medoid setiap klaster.
*Trecord = record id = string;
dim = array of double*
Cluster_member Numerik Jumlah anggota tiap klaster.
Dataset Data store Menyimpan kumpulan dataset
List_Tabel String Nama tabel-tabel dataset yang ada di dalam
database *.mdb
Maxneighbor Numerik Nilai parameter yang digenerate atau diinput
user
Numlocal Numerik Nilai parameter yang digenerate atau diinput
user
Current_node Array of TRecord Node yang dipilih random di awal proses
klastering *Trecord = record
id = string;
dim = array of double*
Neighbor_node Array of TRecord Node neighbor yang dipilih random di awal proses klastering
*Trecord = record
id = string; dim = array of double*
Best_node Array of TRecord Node terpilih dari proses perbandingan total
cost
*Trecord = record id = string;
dim = array of double*
18
Metode_COR Numerik Output pilihan index metode
Metode_separation Numerik Output pilihan index metode
Dist_min Numerik Nilai jarak antara objek medoid dengan objek
terdekatnya dalam satu klaster.
Dist_max Numerik Nilai jarak antara objek medoid dengan objek terjauhnya dalam satu klaster.
Distorsi Numerik Nilai rasio jarak terdekat dengan jarak terjauh.
Threshold Numerik Nilai ambang untuk menentukan objek outlier
atau bukan
Iterasi Numerik Pencacah metode COR
Diameter_cluster Numerik Ukuran diameter klaster
Size_cluster Numerik Jumlah anggota klaster
Visual_2D Chart Hasil visualisasi klastering dan deteksi outlier
3.3.1.8 Spesifikasi Proses
Proses 1.1 Load Tabel
Deskripsi Memilih tabel dataset yang ingin digunakan
Input Nama_database, list_tabel, nama_tabel
Output JumDim, JumClust, JumRec
Logika Proses ADOConnection1.GetTableNames(nama_tabel);
ADOTable1.Active false
ADOTable1.TableName nama_tabel
ADOTable1.Active true
ADOTable1.GetFieldNames(list_tabel)
Proses 1.2 Generate Parameter
Deskripsi Membangkitkn nilai maxneighbor dan numlocal awal
Input jumdim,jumclust,jumrec
Output Maxneighbor, numlocal
Logika Proses Maxneighbor 0.0150*jumclust*(jumrec-jumclust)
numlocal 2
Proses 1.3 Select Random Medoid
Deskripsi Memilih current node secara acak sebagai k-medoid
Input Maxneighbor, numlocal
Output Current_node
Logika Proses Randomize
Sim Random(jumrec-1);
current_node rec[sim];
19
Proses 1.4 Select Random Neighbor
Deskripsi Memilih neighbor dari node secara acak
Input Maxneighbor, numlocal
Output Neighbor
Logika Proses Randomize
temp random(jumclust-1)
for k 0 to (jumclust-1) do begin
if (k ≠ temp) then neighbor[k] current_node[k]
else
repeat
randomize
neighbor[k] rec[random(jumrec-1)];
if (neighbor[k]=current_node[k] then
select_random_neighbor
endif
until (neighbor[k]≠current_node[k] )
endif
endfor
Proses 1.5 Compare Total Cost
Deskripsi Membandingkan total cost current_node dengan neighbor
Input Current_node, neighbor
Output Best_node
Logika Proses Hitung = 1
repeat
num num+1
repeat
if (TotalCost(current_node) < TotalCost(neighbor)) then
hitung hitung+1
else
hitung 1
current_node neighbor
endif
select_random_neighbor
until (hitung > maxneighbor);
if (mincost < TotalCost(current_node)) then
best_nodebest_node
else
best_node current_node
mincost TotalCost(current_node);
endif
select_random_medoid
select_random_neighbor
until (num > numlocal)
20
Proses 1.6 Select Medoid
Deskripsi Mengelompokkan objek non-medoid ke dalam klaster dengan
medoid yang termirip
Input Best_node
Output Best_medoid, cluster_member
Logika Proses cluster_member 0
if (best_node = node_select) then
cluster.rec[cluster_member] rec[i]
endif
best_medoid best_node
cluster_member cluster_member + 1
Proses 2.1 Choose Method
Deskripsi Memilih teknik postprocessing untuk mendeteksi outlier
Input Index_metode
Output metode_COR, metode_separation
Logika Proses If index_metode = 1 then
metode_COR
else
metode_Separation
endif
Proses 2.2.1 Nearest and Furthest Object
Deskripsi Mencari objek terdekat dan terjauh dari medoid dalam klaster
yang sama
Input Best_medoid, cluster_member
Output Dist_min, dist_max
Logika Proses for i0 to (cluster_member-1) do
temp temp + (sqr(best_medoid-cluster.rec[i]));
endfor
distance[i] sqrt(temp);
if (init_dist_max < distance[i]) then
init_dist_max distance[i]
endif
if (distance[i] ≠ 0) then
if (init_dist_min > distance[i]) then
init_dist_min distance[i]
endif
endif
endfor
dist_max init_dist_max;
dist_min init_dist_min;
21
Proses 2.2.2 Distortion
Deskripsi Menghitung distorsi klaster
Input Dist_min, dist_max
Output Distorsi
Logika Proses Distortion dist_min / dist_max;
Proses 2.2.3 Compare Threshold and Distortion
Deskripsi Membandingkan antara threshold dan distorsi
Input Distorsi, threshold, iterasi
Output Outlier_point
Logika Proses repeat
for i0 to cluster_member-1 do
if (distortion < threshold ) or (distortion=1) then
outlier_point cluster.rec[i];
cluster_member cluster_member-1
endif
endfor
until (iterasi terpenuhi)
Proses 2.3.1 Cluster Diameter
Deskripsi Menghitung diameter klaster
Input Best_medoid, cluster_member
Output Diameter_cluster
Logika Proses for i0 to cluster_member-1 do begin
for k0 to cluster_member-1 do begin
temp temp + sqr(cluster.rec[i]-cluster.rec[k]);
endfor
endfor
diameter_cluster sqrt(temp / (n*(n-1)))
Proses 2.3.2 Find Biggest Separation
Deskripsi Menghitung dan mencari separation klaster
Input Diameter_cluster, size_cluster
Output Cluster_outlier
Logika Proses for k0 to jumclust-1 do
for l0 to jumclust-1 do begin
temptemp + (sqr(cluster[k].rec-cluster[l].rec))
{jumlahkan jarak antar titik}
sum_distsum_dist + sqrt(temp)
dist_clust dist_clust + sum_dist;
endfor
separation[k] dist_clust;
endfor
if ((min_size = size_cluster) and(max_sep = separation[k]))
then cluster_outlier cluster[k]
endif
22
4. Implementasi dan Analisis Pengujian
4.1 Implementasi Sistem
4.1.1 Implementasi Perangkat Keras
Perangkat keras yang digunakan untuk implementasi adalah perangkat
keras dengan spesifikasi sebagai berikut :
1. Processor AMD Athlon™ - 1.24 GHz.
2. RAM 256 MB
3. Harddisk 40 GB
4. VGA Card
5. Monitor LG 15’
6. Keyboard dan mouse
4.1.2 Implementasi Perangkat Lunak
Perangkat lunak yang digunakan untuk implementasi adalah perangkat
lunak dengan spesifikasi sebagai berikut :
1. sistem operasi Microsoft Windows XP Profesional version 2002.
2. database Microsoft Access 2003
3. bahasa pemrograman Borland Delphi 7
4.2 Kebutuhan Pengujian
4.2.1 Dataset
1. Data Balon
Data ini berasal dari UCI repositary, terdiri dari 1800 record dan 2 dimensi
dengan kolom id berisi id_balon. Jumlah klaster tidak diketahui ,terdapat 10 objek
outlier, yaitu nilai raw dan residual yang rendah jika dibandingkan dengan objek
lainnya. Struktur tabel data balon beserta data outlier-nya adalah sebagai berikut :
Tabel 4-1 Outlier Data Balon
id_balon raw residual
90 1 -0,944
333 0,72 -1,306
707 0,82 -1,299
967 1,08 -1,089
970 0,64 -1,530
1026 0,78 -1,400
1042 0,58 -1,600
1400 0,72 -1,512
1454 0,76 -1,478
1511 0,78 -1,458
2. Data Bayi
Data ini terdiri dari 211 record dan 3 dimensi dengan kolom id berisi
nama_bayi. Jumlah klaster tidak diketahui sebelumnya dan terdapat 10 objek
outlier. Struktur tabel data bayi beserta data outlier-nya adalah sebagai berikut :
23
Tabel 4-2 Outlier Data Bayi
Nama_bayi Umur Berat Panjang
Dedi_Muchadi 24 12,46 8,109
Della_Hapsari 27 13,3 11,2
Dwi_Yulianto 29 13,94 11,1
Firman_Adi_Purnama 30 15,72 11,15
Firman_Tjahyadi 27 13,7 12,1
Indra_Agustiadi_L 35 18,5 8,3
Muchtar_Alamsyah 25 16 9,5
Nasep_Sulaeman 28 10 8,413
Nur_Ismail 32 18 9,538
Subrata 35 11 10,3
3. Data Nilai Mahasiswa
Data ini terdiri dari 44 record dan 2 dimensi dengan kolom id berisi NIM.
Jumlah klaster tidak diketahui sebelumnya. Terdapat 3 objek outlier, yaitu objek
yang memiliki nilai UTS tinggi dan UAS rendah, atau sebaliknya. Struktur tabel
beserta data outlier-nya adalah sebagai berikut :
Tabel 4-3 Outlier Data Nilai Mahasiswa
NIM uts uas
113038005 78 10
113038010 12 90
113038037 80 5
4. Data Sintesis 1
Data ini merupakan data buatan yang terdiri dari 129 record dan 2 dimensi
dengan kolom id berisi ID. Data ini membentuk 5 klaster dan memiliki 4 objek
outlier, yaitu objek yang letaknya jauh dari klaster yang terbentuk. Struktur tabel
beserta data outlier-nya adalah sebagai berikut :
Tabel 4-4 Outlier Data Sintesis 1
ID X Y
125 36 9
126 10 40
127 11 41
128 16 40
5. Data Sintesis 2
Data ini merupakan data buatan yang terdiri dari 55 record dan 2 dimensi
dengan kolom id berisi ID. Data ini membentuk 2 klaster dan memiliki 5 objek
outlier. Struktur tabel dari dataset beserta outlier-nya adalah sebagai berikut :
Tabel 4-5 Outlier Data Sintesis 2
ID X Y
51 40 18
52 41 17
53 46 2
54 44 4
55 44 2
24
4.2.2 Skenario Pengujian
Sistem ini memiliki 2 tahap utama sebelum sampai pada tujuannya
mendeteksi outlier yaitu membentuk klaster dengan CLARANS dan melanjutkan
dengan mendeteksi outlier dari hasil klaster yang dihasilkan.
Skenario pengujian yang akan dilakukan adalah sebagai berikut :
1. Melakukan proses klastering dengan mengubah nilai parameter
CLARANS, yaitu maxneighbor dan numlocal. Pengujian ini bertujuan
untuk :
a) Menganalisis proses klastering untuk deteksi outlier.
b) Melihat pengaruh parameter maxneighbor dan numlocal terhadap hasil
klastering.
c) Melihat pengaruh parameter maxneighbor dan numlocal terhadap
waktu eksekusi.
2. Melakukan proses deteksi outlier dari hasil klastering CLARANS dengan
teknik COR dan separation. Pengujian ini bertujuan untuk :
a) Melihat pengaruh hasil klastering yang dipengaruhi jumlah klaster,
maxneighbor, dan numlocal oleh CLARANS terhadap ketepatan
deteksi outlier dengan teknik COR.
b) Melihat pengaruh hasil klastering yang dipengaruhi jumlah klaster,
maxneighbor, dan numlocal oleh CLARANS terhadap ketepatan
deteksi outlier dengan teknik separation. Pengujian dilakukan dengan
mengubah nilai jumlah klaster dari 3 hingga 20.
c) Melihat teknik mana yang cocok digunakan untuk CLARANS.
4.3 Pengujian dan Analisis Hasil
4.3.1 Pengujian dan Analisis Klastering dengan CLARANS
Untuk melihat CLARANS melakukan partisi terhadap dataset, berikut
hasil klastering dengan aplikasi untuk data nilai 2-dimensi 3-klaster dan data
síntesis_1 2-dimensi 5-klaster.
Nilai uts
Gambar 4-1 Hasil Klastering CLARANS Data Nilai Mahasiswa 3 klaster
25
Nilai X
Gambar 4-2 Hasil Klastering CLARANS Data Sintesis1 5 klaster
Pada gambar 4.1 di atas, dengan kasat mata dapat dilihat terdapat 3 outlier
dan 3 klaster yang divisualisasikan dengan warna yang berbeda. Medoid tiap
klaster digambarkan dengan titik berwarna biru. Namun oleh CLARANS, outlier
tersebut tetap dimasukkan ke dalam salah satu klaster. Begitu juga dengan gambar
4.2, pada data sintesis_1 dapat juga dilihat terdapat 4 outlier, dan outlier juga
masuk ke dalam salah satu klaster. Setelah dilakukan analisa, hal ini disebabkan
pada langkah-langkah algoritma CLARANS, tidak terdapat parameter yang
mampu mengindikasikan sebuah objek termasuk outlier. Tidak seperti algoritma
CLAD yang memiliki parameter W atau lebar klaster yang digunakan untuk
mencari ketetanggaan terdekat dari pusat klaster dengan obyek data yang
berdekatan dan atribut tambahan untuk menentukan klaster outlier atau bukan,
sehingga semua klaster memiliki nilai anomaly score yang mengindikasikan
sebuah klaster merupakan klaster outlier.
Sedangkan CLARANS melakukan proses klastering dengan hasil akhir
menemukan best node. Kemudian tiap titik akan dihitung jarak yang paling dekat
dengan medoid, termasuk objek yang seharusnya outlier dan outlier akan masuk
ke dalam klaster dengan medoid yang paling mirip. Namun, dengan bantuan
validasi klastering yaitu silhouette coefficient yang merupakan parameter kualitas
hasil klastering yang didapat dari rata-rata nilai silhouette setiap objek,
memungkinkan untuk menemukan objek-objek mana yang memiliki derajat
kepemilikan terendah terhadap klaster. Nilai silhouette ini dimiliki oleh setiap
objek pada dataset. Dengan kata lain, nilai silhouette setiap objek bisa digunakan
untuk mempertimbangkan apakah sebuah objek pada klaster merupakan pencilan
dari klaster tersebut atau mungkin objek tersebut seharusnya tidak berada di
klaster tersebut. Berikut contoh silhouette dari hasil klastering pada dataset nilai
mahasiswa yang memiliki 3 outlier :
Tabel 4-6 Silhouette Outlier pada Data Sintesis_1
k NL MN Silhouette Clustering Silhouette objek
5 2 9 0,884835327924406
Sampel Non-outlier :
72 : 0,922036739517197
26
k NL MN Silhouette Clustering Silhouette objek
Silhouette terendah :
125 : 0,16265065154186
126 : 0,0763134936188689 128 : 0,0761549776003032
127 : 0,0258511559654865
75 : 0,922035927612999
88 : 0,922035927612999
75 : 0,922035927612999 Outlier :
125 : 0,16265065154186
126 : 0,0763134936188689 128 : 0,0761549776003032
127 : 0,0258511559654865
5 2 500 0,885473914537399
Silhouette terendah :
127 : 0,166407111030104
126 : 0,119076642743177 128 : 0,112906237664813
125 : 0,18426020038592
Sampel Non-outlier :
18 : 0,94064547126106 7 : 0,940042060046984
3 : 0,938330000320539
19 : 0,938330000320539 Outlier :
127 : 0,166407111030104
126 : 0,119076642743177
128 : 0,112906237664813 125 : 0,18426020038592
4 2 8 0,786700416694776
Silhouette terendah :
125 : 0,250092725244475
127 : 0,166407111030104
126 : 0,119076642743177 128 : 0,112906237664813
Sampel Non-outlier :
31 : 0,948163384696378 43 : 0,948163384696378
31 : 0,948163384696378
43 : 0,948163384696378
Outlier : 125 : 0,250092725244475
127 : 0,166407111030104
126 : 0,119076642743177 128 : 0,112906237664813
4 2 500 0,828850095858605
Silhouette terendah : 127 : 0,166407111030104
126 : 0,119076642743177
128 : 0,112906237664813 125 : 0,18426020038592
Sampel Non-outlier :
62 : 0,951363807947666
59 : 0,95109133815507 58 : 0,948783369732665
61 : 0,945632567028764
Outlier : 127 : 0,166407111030104
126 : 0,119076642743177
128 : 0,112906237664813
125 : 0,18426020038592
Dari tabel 4.6, dapat dilihat bahwa dengan berbagai kondisi jumlah klaster,
maxneighbor, dan numlocal yang berbeda akan menghasilkan nilai silhouette
klastering yang berbeda juga, 4 objek yang sudah diketahui sebagai outlier (125,
126, 127, 128) memiliki silhouette terendah jika dibandingkan objek lainnya.
Dengan kata lain, derajat kepemilikan objek-objek tersebut terhadap klasternya
rendah dan dapat dipergunakan untuk mempertimbangkan objek sebagai outlier
atau pencilan dari klaster tersebut.
Tapi pada data yang berbeda, hasil silhouette dapat berbeda, nilai
silhouette objek outlier tidak selalu yang terendah pada setiap klaster yang
terdapat outlier, seperti pada data bayi dengan 2 dan 5 klaster berikut :
27
Tabel 4-7 Silhouette Outlier pada Data Bayi
k NL MN Silhouette Clustering Silhouette objek
2 2 6 0,489051615023538
Silhouette terendah :
Sahat_Marihot 0,0321892106364
Irma_Ratnasari 0,0085435873418
Sampel Non-outlier : Erlin_Febriwahyuni 0,6870551679757
Teddy_Rinaldi 0,6821191400754
Muhammad_Lutfi 0,6465003735594
Febi_Ari_Pribadi 0,6460161158362 Sampel Outlier :
Muchtar_Alamsyah 0,5549979256724
Firman_Tjahyadi 0,4292767010334 Nasep_Sulaeman 0,3721635458871
Nur_Ismail 0,4447329924952
2 2 500 0,492980187381116
Silhouette terendah :
Yuli_Alia -0,2196761684918
Vitri_Widalabardi -0,24589049036
Sampel Non-outlier :
Yuliani_Agustina 0,7116859011689 Erlin_Febriwahyuni 0,7099197223330
Amvira 0,6240116471826
Adriansyah 0,6229980141389 Sampel Outlier :
Nur_Ismail 0,4562990077698
Firman_Tjahyadi 0,3920981808082 Nasep_Sulaeman 0,3384414863383
Muchtar_Alamsyah 0,5645733719820
5 2 15 0,316046313919163
Silhouette terendah :
Teddy_Rinaldi 0,08910573385299
Hendra_Ferdian -0,199838206298
Sampel Non-outlier :
Rendhy_Aprialy 0,565404493929106 Erwin_Ginanjar 0,547715657198734
Dery_Maulina 0,599853941840216
Renol_Darmawan 0,5440652161137
Sampel Outlier : Muchtar_Alamsyah 0,2591504007335
Firman_Tjahyadi 0,1756493081256
Nasep_Sulaeman 0,2495797489160 Nur_Ismail 0,1403701396455
5 2 500 0,363177628326685
Silhouette terendah : Rusdhi_Anggoro 0,162494474085
Dwi_Yulianto -0,0082616091555
Sampel Non-outlier :
Rendhy_Aprialy 0,6122185276648
Erwin_Ginanjar 0,5928222841949 Amvira 0,5451642801174
Hendra_Ferdian 0,4952023100560
Sampel Outlier : Muchtar_Alamsyah 0,263325455581
Firman_Tjahyadi 0,203431408730
Nasep_Sulaeman 0,184702199953 Nur_Ismail 0,291249037981
Pembentukan klaster sangat tergantung pada medoid terpilih. Berbeda
medoid maka akan berbeda pula bentuk klaster-klaster yang dihasilkan. Parameter
maxneighbor dan numlocal berfungsi sebagai penentu bagaimana akhir
terpilihnya k-medoid, dan kedua parameter ini tidak mampu mencapai tujuan
mendeteksi outlier. Sehingga dapat disimpulkan bahwa CLARANS dalam
pembahasan tugas akhir ini tidak dapat mendeteksi outlier sebagai stand-alone
tools, sehingga untuk mencapai tujuan tersebut, dibutuhkan teknik tambahan
sebagai postprocessing klastering CLARANS.
28
4.3.2 Pengujian dan Analisis Pengaruh Maxneighbor dan Numlocal
Terhadap Hasil Klastering
Dalam subbab ini akan dilakukan pengujian nilai maxneighbor = nilai
yang digenerate,50,100,250,500,1000. Sedangkan untuk numlocal = 2,3,4.
Dikarenakan pencarian medoid pada CLARANS berdasarkan prinsip randomized
search, maka hasil pengujian klastering merupakan nilai relatif atau rata-rata dari
Absolute-Error Criterion (AEC) yang dihasilkan dari pengujian dengan random
current_node pertama kali yang berbeda-beda sebanyak 10 kali. Berikut hasil
pengujian pada 5 dataset :
0,0
50,0
100,0
150,0
200,0
250,0
300,0
54 100 250 500 1000
Maxneighbor
Avera
ge A
EC
nl 2nl 3nl 4
470,0
475,0
480,0
485,0
490,0
495,0
500,0
505,0
6 50 100 250 500 1000
maxneighbor
avera
ge A
EC
nl 2
nl 3nl 4
(a) Data Balon (b) Data Bayi
640,0
660,0
680,0
700,0
720,0
740,0
760,0
780,0
800,0
2 50 100 500 1000
Maxneighbor
avera
ge A
EC
nl 2
nl 3
nl 4
0,0
100,0
200,0
300,0
400,0
500,0
600,0
700,0
800,0
9 50 100 250 500 1000
maxneighbor
ave
rag
e A
EC
nl 2nl 3nl 4
(c) Data Nilai (d) Data Sintesis 1
400
410
420
430
440
450
460
470
480
490
500
2 50 100 250 500 1000
maxneighbor
ave
rag
e A
EC
nl 2nl 3nl 4
(d) Data Sintesis 2
Gambar 4-3 Grafik Pengaruh Parameter CLARANS pada 5 Dataset
Dari kelima grafik hasil pengujian, grafik terlihat cenderung menurun
seiring dengan meningkatnya maxneighbor dan numlocal. Numlocal menentukan
berapa banyak node yang diperiksa dalam sekali proses pencarian dan merupakan
jumlah lokal minimum yang dihasilkan. Pada numlocal 2, bisa dilihat nilai rata-
rata AEC lebih besar jika dibandingkan numlocal 3 dan 4, ini dikarenakan dalam
pencarian lokal minimum, peluang untuk menemukan lokal minimum yang lebih
29
0
100
200
300
400
500
600
700
800
6 50 100 250 500 1000
maxneighbor
run
tim
e (
ms)
nl 2nl 3nl 4
0
1000
2000
3000
4000
5000
6000
54 100 250 500 1000
maxneighbor
run
tim
e (
ms)
nl 2
nl 3
nl 4
baik adalah 1 dari 2 pencarian (50%). Sedangkan untuk numlocal 3, peluangnya
lebih besar, yaitu 2 dari 3 pencarian (66,67%) dan untuk numlocal 4 peluangnya 3
dari 4 pencarian (75%). Sehingga jika jumlah node yang diperiksa lebih dari satu,
maka kualitas klastering yang dihasilkan juga dapat lebih baik, karena peluang
untuk menghasilkan lokal minimum yang baik lebih besar.
Maxneighbor menjadi parameter penting karena untuk menentukan
medoid terbaik diperlukan perbandingan total cost antara current node dengan
neighbornya, dan maxneighbor menentukan jumlah maksimum neighbor yang
dapat diperiksa. Sebuah node memiliki k(n-k) neighbor. Misal pada data
sintesis_2 dengan 55 record dan 2 klaster, maka maksimum neighbor yang
dimiliki oleh sebuah node adalah 2(55-2) = 106. Jika jumlah neighbor yang
diperiksa semakin banyak, maka peluang menemukan medoid terbaik semakin
besar. Namun, ada kemungkinan neighbor yang sama pada sebuah node bisa
diperiksa lebih dari satu kali jika nilai maxneighbor di set lebih dari k(n-k).
Sedangkan prinsip dasar CLARANS yang menggunakan teknik random
dalam pencariannya menyebabkan variasi letak medoid yang berbeda, sehingga
dalam 10 kali pengujian pada 1 dataset dengan 1 kondisi, nilai rata-rata AEC ada
kalanya naik meski maxneighbor bertambah, seperti pada gambar 4-3 grafik data
bayi maxneighbor 100 numlocal 2 dan grafik data nilai maxneighbor 500
numlocal 3 dan 4.
4.3.3 Pengujian dan Analisis Pengaruh Maxneighbor dan Numlocal
Terhadap Waktu Eksekusi
Pada subbab ini akan dilihat pengaruh penambahan nilai parameter
CLARANS terhadap waktu eksekusi. Berikut hasil pengujian dalam bentuk grafik
dari 2 dataset yang telah dilakukan :
Data Bayi (211 record) dan Data Balon (1800 record)
Gambar 4-4 Grafik Pengaruh Penambahan Parameter CLARANS terhadap
Waktu Eksekusi pada Data Bayi (kiri) dan Data Balon (kanan)
Pada grafik 2 contoh dataset di atas, terlihat jelas pengaruh penambahan
nilai maxneighbor dan numlocal terhadap waktu eksekusi. Semakin banyak
neighbor yang diperiksa, maka waktu eksekusi pun semakin besar. Begitu juga
dengan numlocal ,semakin besar nilai numlocal, maka semakin banyak waktu
eksekusi yang dibutuhkan. Sehingga peningkatan nilai parameter, berbanding
lurus dengan peningkatan waktu eksekusi. Selain itu perbedaan jumlah record
30
juga berpengaruh, semakin banyak jumlah record, semakin banyak waktu
eksekusi yang diperlukan.
4.3.4 Pengujian dan Analisis Teknik COR Dalam Mendeteksi Objek Outlier
Pengujian dilakukan pada 3 dataset untuk melihat pengaruh parameter
CLARANS dalam mendeteksi outlier. Setiap dataset di klastering dengan kondisi
jumlah klaster 2, 3, dan 5 klaster, maxneighbor generate, 50,100,250,500, dan
1000, numlocal 2 dan 4. Dataset yang digunakan untuk pengujian ini adalah data
sintesis 1, data sintesis 2, dan data bayi. Berikut hasil pengujian yang diambil
threshold dengan nilai f-measure tertinggi di tiap kondisi parameter CLARANS
yang berbeda :
Tabel 4-8 Hasil Pengukuran Akurasi F-measure Data Sintesis_1
K-klaster Numlocal Maxneighbor Threshold Iterasi F-measure
2 2 4 0.05 10 0,083
2 2 50 0.05 5 0,143
2 2 100 0.05 5 0,182
2 2 250 0.05 5 0,143
2 2 500 0.2 10 0,250
2 2 1000 0.05 5 0,143
2 4 4 0.05 5 0,143
2 4 50 0.05 5 0,615
2 4 100 0.15 5 0,286
2 4 250 0.2 10 0,250
2 4 500 0.05 5 0,143
2 4 1000 0.2 10 0,250
3 2 6 0.05 5 0,615
3 2 50 0.05 5 0,133
3 2 100 0.05 5 0,571
3 2 250 0.05 5 0,615
3 2 500 0.05 5 0,316
3 2 1000 0.05 5 0,615
3 4 6 0.05 5 0,615
3 4 50 0.05 5 0,615
3 4 100 0.05 5 0,615
3 4 250 0.05 5 0,615
3 4 500 0.05 5 0,615
3 4 1000 0.05 5 0,615
5 2 9 0.05 5 1,000
5 2 50 0.05 5 1,000
5 2 100 0.05 5 1,000
5 2 250 0.05 5 1,000
5 2 500 0.05 5 1,000
5 2 1000 0.05 5 1,000
5 4 9 0.05 5 1,000
5 4 50 0.05 5 1,000
5 4 100 0.05 5 1,000
5 4 250 0.05 5 1,000
5 4 500 0.05 5 1,000
5 4 1000 0.05 5 1,000
31
Tabel 4-9 Hasil Pengukuran Akurasi F-measure Data Sintesis_2
K-klaster Numlocal Maxneighbor Threshold iterasi F-measure
2 2 2 0.10 5 0,769
2 2 50 0.10 5 0,769
2 2 100 0.10 5 1,000
2 2 250 0.10 5 1,000
2 2 500 0.10 5 1,000
2 2 1000 0.10 5 1,000
2 4 2 0.05 5 1,000
2 4 50 0.10 5 1,000
2 4 100 0.10 5 1,000
2 4 250 0.10 5 1,000
2 4 500 0.10 5 1,000
2 4 1000 0.10 5 1,000
3 2 2 0.10 5 1,000
3 2 50 0.15 5 0,333
3 2 100 0.15 5 0,364
3 2 250 0.15 5 0,364
3 2 500 0.15 5 0,571
3 2 1000 0.10 5 1,000
3 4 2 0.10 5 1,000
3 4 50 0.15 5 0,400
3 4 100 0.15 5 0,571
3 4 250 0.15 5 0,400
3 4 500 0.15 5 0,250
3 4 1000 0.15 5 0,571
5 2 4 0.15 5 0,833
5 2 50 0.15 5 0,571
5 2 100 0.15 5 0,444
5 2 250 0.15 5 0,571
5 2 500 0.15 5 0,333
5 2 1000 0.15 5 0,571
5 4 4 0.10 5 0,444
5 4 50 0.15 5 0,444
5 4 100 0.15 5 0,444
5 4 250 0.15 5 0,571
5 4 500 0.15 5 0,444
5 4 1000 0.15 5 0,571
Tabel 4-10 Hasil Pengukuran Akurasi F-measure Data Bayi
Klaster Numlocal Maxneighbor Threshold iterasi F-measure
2 2 6 0.10 5 0,286
2 2 50 0.10 5 0,421
2 2 100 0.15 5 0,211
2 2 250 0.10 5 0,400
2 2 500 0.10 5 0,476
2 2 1000 0.10 5 0,381
2 4 6 0.05 10 0,273
2 4 50 0.15 5 0,381
32
Klaster Numlocal Maxneighbor Threshold iterasi F-measure
2 4 100 0.10 10 0,323
2 4 250 0.10 10 0,387
2 4 500 0.15 5 0,571
2 4 1000 0.15 5 0,476
3 2 9 0.20 5 0,522
3 2 50 0.15 5 0,522
3 2 100 0.25 5 0,462
3 2 250 0.15 5 0,538
3 2 500 0.10 5 0,476
3 2 1000 0.10 5 0,500
3 4 9 0.10 5 0,444
3 4 50 0.05 10 0,364
3 4 100 0.05 5 0,353
3 4 250 0.15 5 0,615
3 4 500 0.15 10 0,439
3 4 1000 0.15 10 0,545
5 2 15 0.20 5 0,606
5 2 50 0.10 5 0,611
5 2 100 0.10 10 0,552
5 2 250 0.15 5 0,333
5 2 500 0.01 5 0,533
5 2 1000 0.10 5 0,444
5 4 15 0.15 5 0,606
5 4 50 0.05 5 0,533
5 4 100 0.05 5 0,588
5 4 250 0.10 5 0,667
5 4 500 0.10 5 0,533
5 4 1000 0.10 5 0,471
Pada tabel 4.7, nilai threshold untuk setiap kondisi cenderung tetap yaitu
0,05 pada iterasi 5, yang berbeda adalah nilai f-measure. Pada tiap kenaikan
jumlah maxneighbor dan numlocal, nilai f-measure relatif meningkat. Kondisi ini
terjadi pada jumlah klaster 2 dan 3. Namun pada kondisi jumlah klaster 5, nilai f-
measure sudah mencapai nilai tertinggi yaitu 1,000. Itu berarti outlier telah
ditemukan semuanya.
Pada tabel data sintesis_2, nilai threshold pada jumlah klaster 2 cenderung
tetap pada 0,10 iterasi 5, meningkatnya jumlah maxneighbor dan numlocal pada 2
klaster meningkatkan f-measure. Dapat dilihat pada nilai maxneighbor 50 ke 100
pada numlocal 2, nilai f-measure meningkat dari 0,769 ke 1,000 dan stabil
seterusnya. Sedangkan pada kondisi jumlah klaster 3 dan 5, nilai threshold
berkisar pada 0,15 iterasi 5. Dan nilai f-measure yang dihasilkan tidak seperti
pada 2 klaster, tidak stabil. Namun pada 3 klaster, nilai f-measure 1,000 masih
mampu tercapai pada kondisi numlocal 2 maxneighbor 2 dan 1000, juga numlocal
4 maxneighbor 2.
Dan pada data bayi, nilai threshold berkisar antara rentang 0,05 sampai
0,25 pada iterasi 5 mau pun 10, dan nilai f-measure dihasilkan juga berbeda-beda.
Hasil ini berbeda dengan 2 dataset sebelumnya. Hal ini dikarenakan pengaruh
jumlah klaster. Seperti diketahui, data bayi tidak diketahui jumlah klasternya,
sehingga hasil rentang pengujian jumlah klaster 2,3, dan 5 belum ditemukan nilai
33
residual
raw
_d
ata
0
10
20
30
40
50
60
70
80
90
0 20 40 60 80
X
Y
8
10
12
14
16
18
23 25 27 29 31 33 35 37umur
bera
t
7
8
9
10
11
12
13
23 25 27 29 31 33 35 37umur
pa
nja
ng
f-measure terbaiknya. Karena itu juga, pengaruh parameter maxneighbor dan
numlocal tidak terlihat secara signifikan.
Dari ketiga hasil pengujian di atas, secara keseluruhan nilai f-measure
akan lebih baik pada jumlah klaster yang ideal. Jumlah klaster yang ideal, akan
menunjukkan nilai silhouette coefficient yang mengindikasikan strong klastering
atau di atas nilai 0,7. Dengan kata lain, hasil akurasi menjadi tergantung kepada
hasil klastering yang dihasilkan, jika medoid yang terpilih merupakan medoid
dengan total cost kecil, letak medoid akan mendekati di tengah klaster, namun
jika medoid yang terpilih posisinya kurang tepat, maka akan mempengaruhi
perhitungan jarak antara medoid tersebut dengan objek-objek lainnya dalam satu
klaster. Dan untuk dapat menghasilkan hasil klastering lebih baik, dapat dilakukan
dengan menambah nilai parameter CLARANS. Sehingga juga dapat mendeteksi
outlier lebih baik. Hanya saja dengan jumlah maxneighbor dan numlocal yang
lebih besar, maka jumlah waktu yang diperlukan lebih banyak.
Sedangkan nilai threshold untuk menemukan outlier berbeda-beda,
tergantung pada bentuk klaster yang dihasilkan. Karena tiap klaster akan
menghasilkan distorsi yang berbeda-beda. Jika pada klaster nilai jarak objek
terjauh semakin jauh, maka derajat kepemilikan terhadap klaster semakin rendah
dan nilai distorsi akan lebih kecil sehingga terlingkupi oleh threshold yang di set
tidak terlalu besar. Dari pengujian di atas, disarankan untuk memulai dengan nilai
threshold 0,05 dan iterasi 5.
4.3.5 Pengujian dan Analisis Teknik Separation Dalam Mendeteksi Klaster
Outlier
Pada subbab ini, dataset yang digunakan adalah data balon, data bayi, dan
data sintesis 1.Berikut model persebaran data ketiga dataset yang digunakan :
Gambar 4-5 Model Persebaran Data Balon (kiri atas), Data Sintesis_1
(kanan atas), dan Data Bayi 3 Dimensi (kiri dan kanan bawah)
34
Dan berikut hasil pengujiannya :
Tabel 4-11 Hasil Deteksi Outlier dengan Separation pada Data Balon
Klaster AEC Size Outlier Separation
3 145,724179 272 10 0,879372181
4 130,5057647 278 10 1,426681627
5 113,4829018 51 10 3,454194775
6 104,719524 47 10 4,17234362
7 97,18401155 28 10 6,345046343
8 93,06906189 40 10 6,455463494
9 83,24452379 10 10 16,88245195
10 78,96600049 10 10 18,83264455
11 75,96144412 9 9 23,18651327
12 72,91840194 9 9 24,02667077
13 67,34583576 10 10 22,14011995
14 63,65885337 9 9 25,74101385
15 61,74592666 10 10 27,72782795
16 60,59865708 10 10 29,04813153
17 59,1342982 8 8 35,07785517
18 57,75838358 8 8 34,88479035
19 54,12990197 10 10 30,96093111
20 52,17135229 10 10 37,49658913
Tabel 4-12 Hasil Deteksi Outlier dengan Separation pada Data Bayi
Klaster AEC Size Outlier Separation
3 487,1547637 91 5 13,00844587
4 383,4982109 - - -
5 346,4192044 - - -
6 316,797304 25 1 36,89553983
7 281,9573623 - - -
8 269,6540692 - - -
9 259,3003581 - - -
10 238,5941327 - - -
11 224,6795375 10 1 65,84362393
12 223,1730598 - - -
13 205,155586 - - -
14 203,4120031 - - -
15 202,6397876 - - -
16 190,148445 - - -
17 180,2509551 8 1 123,987653
18 176,3037783 - - -
19 168,3233987 - - -
20 165,8148442 - - -
Tabel 4-13 Hasil Deteksi Outlier dengan Separation pada Data Sintesis 1
Klaster AEC Size Outlier Separation
3 2881,431155 - - -
4 1214,228884 - - -
5 510,0316176 - - -
35
Klaster AEC Size Outlier Separation
6 477,6682313 - - -
7 407,7453889 1 1 306,5409826
8 438,3234972 - - -
9 332,4054549 - - -
10 390,7966855 - - -
11 260,6162446 1 1 558,6606756
12 356,3506023 - - -
13 264,2740534 - - -
14 227,4667876 1 1 794,9726862
15 224,9922049 1 1 843,4893694
16 197,7938708 1 1 830,0896271
17 219,6740055 - - -
18 214,0127729 1 1 1032,099617
19 251,9311787 - - -
20 189,3984567 - - -
Pada tabel 4.10 di atas, saat k=3, 10 outlier berada di dalam salah satu
klaster. Namun kondisi ini belum tepat dalam mendeteksi klaster outlier. Klaster
outlier yang lebih tepat dihasilkan pada saat k=9 sampai seterusnya. Sedangkan
pada tabel 4.11, klaster outlier ditemukan k=3,6,11, dan 17. Tapi hasil klaster
outlier ini juga tidak tepat, karena dalam klaster yang dipertimbangkan sebagai
klaster outlier tersebut, jumlah objek non outlier yang seharusnya tidak terdeteksi
lebih banyak dari jumlah outlier. Dan pada tabel 4.12, klaster outlier ditemukan
pada k = 7,11,14,15,16, dan 18. hasil klaster outlier lebih tepat jika dibandingkan
dengan hasil data bayi, meskipun masih lebih baik hasil pada data balon.
Perbedaan hasil ini dipengaruhi oleh jumlah klaster k dan model
persebaran data. Peningkatan jumlah k menyebabkan terbentuknya klaster-klaster
yang lebih banyak dan memiliki ukuran (size) yang lebih kecil. Pada teknik
separation, klaster outlier ditemukan pada klaster dengan nilai separation terbesar
dan ukurannya yang kecil atau 1. Dengan model persebaran data yang berbentuk
diagonal pada data balon, klaster outlier mudah ditemukan, karena outlier pada
dataset terkumpul di diagonal bawah, sehingga dapat membentuk klaster sendiri.
Penggunaan teknik separation tepat digunakan untuk model persebaran data
seperti ini. Sedangkan pada data bayi, model data berbentuk bola atau spherical
dengan 3 dimensi, outlier berada di sisi-sisi luar. Model data seperti ini
menyulitkan pembentukan klaster outlier yang tepat. Sama seperti data sintesis 1,
model data berbentuk 5 klaster dimana outlier terdapat di antara 5 klaster tersebut.
Meski ditemukan klaster berukuran kecil, tapi nilai separationnya tidak signifikan
besar jika dibandingkan dengan 5 klaster yang lainnya. Sehingga ini juga
menyulitkan pembentukan klaster outlier yang tepat.
36
5. Kesimpulan dan Saran
5.1 Kesimpulan
1. CLARANS murni belum dapat mendeteksi outlier sebagai stand-alone
tool. Ini disebabkan karena tidak adanya parameter CLARANS yang
mampu mengindikasikan sebuah objek menjadi outlier dan pada prosesnya
tiap titik akan dihitung jarak yang paling dekat dengan medoid, termasuk
objek yang seharusnya outlier, sehingga outlier tidak mampu terdeteksi.
Oleh karena itu dibutuhkan teknik tambahan untuk mencapai tujuan
mendeteksi outlier, yaitu teknik Clustering Outlier Removal (COR) dan
separation.
2. Dari analisis hasil klastering, didapatkan pada data nilai mahasiswa, 3
outlier ditemukan dengan silhouette terendah, dimana nilai silhouette
objek ini bisa membantu mengindikasikan objek yang memiliki derajat
kepemilikan rendah terhadap klasternya sehingga dapat dipertimbangkan
sebagai outlier klaster tersebut, tetapi pada data bayi, 4 outlier nilai
silhouettenya bukan yang terendah dalam klasternya, sehingga nilai
silhouette pada data yang berbeda belum cukup untuk mendeteksi
keberadaan outlier.
3. Pada teknik COR, nilai akurasi akan lebih baik pada jumlah klaster yang
ideal. Dari hasil analisis data sintesis_1 dengan 5 klaster, nilai f-measure
1,000 pada threshold 0.05 iterasi 5 stabil dari kondisi maxneighbor 9
numlocal 2 hingga maxneighbor 1000 numlocal 4.
4. Pada teknik separation, nilai akurasi dipengaruhi oleh jumlah klaster dan
model persebaran dataset.
5. Teknik COR lebih sesuai dalam menemukan outlier dari hasil klastering
CLARANS, karena tidak terpengaruh model persebaran data seperti
separation. Dan proses menemukan outlier erat terkait dengan letak
medoid yang dipengaruhi parameter CLARANS, sehingga keduanya
saling mempengaruhi dalam mendeteksi outlier.
6. Untuk meningkatkan akurasi deteksi pada COR, dengan menemukan
terlebih dahulu jumlah klaster yang baik yang diindikasikan dengan nilai
silhouette coefficient clustering.
37
5.2 Saran 1. Proses klastering CLARANS sangat dipengaruhi perhitungan jarak
Euclidean, untuk menghasilkan tingkat dissimilarity antar objek yang
lebih baik dapat dilakukan pengembangan dengan rumus jarak selain
Euclidean.
2. Untuk teknik separation yang dipengaruhi model persebaran data, dapat
diteliti lebih jauh, melihat keberagaman model persebaran data yang ada
dalam kondisi real.
3. Keterbatasan CLARANS terhadap data dimensi tinggi merupakan hal yang
cukup menarik untuk diteliti lebih lanjut dengan menerapkan teknik
preprocessing sehingga data dapat diklastering dengan CLARANS.
38
Daftar Pustaka
[1] A. K. Jain and R. C. Dubes, 1988, Algorithms for Clustering Data, Prentice
Hall.
[2] Berkhin, Pavel, Survey of Clustering Data Mining Technique, Accrue
Software, Inc. CA.
[3] Bijaksana, M.Arif, 2006, CSE 881:Data Mining, Lecture 24: Anomaly
Detection, STT Telkom, Bandung.
[4] Han, J. and M. Kamber, 2000, Data Mining : Concepts and Technique. The
Morgan Kaufmann Series in Data Management Systems, Jim Gray, Series
Editor Morgan Kaufmann Publishers.
[5] Handriyadi, Dedy, 2006, Analisis Perbandingan Clustering-Based, Distance-
Based, dan Density-Based Dalam Mendeteksi Outlier, Teknik Informatika,
STT Telkom, Bandung.
[6] Hodge, J.V and Austin, J., 2004, A Survey of Outlier Methodologies, Dept.
of Computer Science, University of York.
[7] J. A. Hartigan, 1975, Clustering Algorithms, John Wiley & Sons.
[8] L. Kaufman and P. J. Rousseeuw, 1990, Finding Groups in Data: an
Introduction to Cluster Analysis, John Wiley & Sons.
[9] M. Ester, H.-P. Kriegel, and X. Xu, 1995, Knowledge discovery in large
spatial databases: Focusing techniques for efficient class identification. In
Proc. 1995 Int. Symp. Large Spatial Databases (SSD'95),pages 67{82,
Portland, Maine.
[10] Mercer, D. P., 2003, Clustering Large Datasets, Linacre College.
[11] P. Arabie, L. J. Hubert, and G. De Soete, 1996, Clustering and Classification.
World Scientific.
[12] R. Ng and J. Han, 1994, CLARANS : Efficient and effective clustering method
for spatial data mining. In Proc. 1994 Int. Conf. Very Large Data Bases
(VLDB'94), pages 144{155, Santiago, Chile.
[13] Tan. Pang-Ning, Steincbach. Michael, Kumar.Vipin, 2006, Introduction to
Data Mining, Pearson Education Inc.
[14] Cherednichenko, Svetlana. 2005.Outlier Detection in Clustering. Department
of Computer Science, University of Joensuu
[15] L.kaufmann and PJ Roussew, Finding groups in data: an introduction to
Cluster analysis dan HJ Miller and J Han, geographic data mining &
knowledge Discovery.
39
Lampiran A: Data Pengujian
Tabel A-1 Hasil Pengujian Parameter CLARANS pada Data Sintesis_2
NL MN Rata-rata AEC Min AEC Max AEC Rata-rata SC rTime
2 2 488,81233550 458,49946511 536,63916490 0,808428696202973 21,9
2 50 466,69021451 425,23979810 523,22142938 0,808362862681082 40,6
2 100 436,96211194 420,73327968 462,33631453 0,808362862681082 53,1
2 250 443,52497446 425,00566329 479,85996313 0,808428696202973 123,6
2 500 438,28372405 420,73327968 467,20458437 0,808362862681082 178,1
2 1000 439,91431127 420,73327968 458,49946511 0,808362862681082 309,5
3 2 449,75582139 432,03024799 470,67753420 0,808584044941175 28,1
3 50 448,07950044 420,96741449 507,72237401 0,808395779442028 56,3
3 100 440,42778280 420,73327968 461,45598578 0,808362862681082 76,7
3 250 440,44977886 420,73327968 477,30850590 0,808362862681082 140,7
3 500 436,83179149 420,73327968 472,62614588 0,808395779442028 209,2
3 1000 437,80565413 420,73327968 502,07950999 0,808362862681082 389
4 2 449,39409277 428,57456383 476,51278670 0,808395779442028 26,5
4 50 434,32959127 420,73327968 503,01542632 0,808395779442028 64
4 100 436,86321430 420,73327968 458,49946511 0,808395779442028 84,3
4 250 434,20969198 420,96741449 454,50578479 0,808395779442028 160,9
4 500 431,73628416 420,733279681 446,86786151 0,808362862681082 282,8
4 1000 433,08205012 420,733279681 462,33631453 0,808362862681082 550
Tabel A-2 Hasil Pengujian Parameter CLARANS pada Data Balon
NL MN Rata-rata AEC Min AEC Max AEC Rata-rata SC rTime
2 54 240,58159655 188,46379641 662,76326928 0,379194714420676 917,5
2 100 242,31336058 186,95596177 682,09500464 0,394939969666585 1031
2 250 207,39748192 189,60868022 245,99901827 0,407961042344279 1296,8
2 500 206,44300350 186,65692729 309,99489526 0,394363453062350 2543,8
2 1000 192,54055737 186,64559394 215,04368154 0,400985552010731 3733
3 54 240,40404555 188,37783952 676,80734695 0,393733009747280 942,2
3 100 196,27107806 189,63771301 201,96020196 0,397272604395426 1028,2
3 250 193,53639892 186,44446748 209,86386890 0,402130554489698 1723,5
3 500 191,70478767 186,65884307 211,14329169 0,405228098852444 3129,6
3 1000 209,93266261 186,95596177 330,69828742 0,399299463436023 3992,2
4 54 190,25744524 188,10039359 192,54384738 0,405745862211540 1182,6
4 100 196,70835136 188,29564133 236,11360587 0,404646871421163 1267,3
4 250 192,64978155 186,95414204 201,60712280 0,400775605668429 1832,9
4 500 193,62099745 186,95414204 200,70986866 0,401579842193075 2810,7
4 1000 205,96138523 186,72735549 263,65779085 0,403272030482102 4914,3
Tabel A-3 Hasil Pengujian Parameter CLARANS pada Data Bayi
NL MN Rata-rata AEC Min AEC Max AEC Rata-rata SC rTime
2 6 502,60994235 477,64488316 551,18749197 0,485756654435304 65,6
2 50 493,70786008 456,80058959 546,66888813 0,495538273293353 87,3
2 100 500,04203391 456,50678791 572,86422664 0,499815377675916 109,2
2 250 496,12198063 455,98061926 576,35746761 0,494034616401584 178
2 500 491,46504084 460,81148890 533,99239222 0,492462444435568 285,8
2 1000 486,37460562 455,59903804 517,15110887 0,492031257285944 400,1
3 6 488,52893899 458,68141685 535,74581343 0,499551545265781 70,5
3 50 487,64078023 459,44904863 524,07688940 0,496494356972982 103,1
40
NL MN Rata-rata AEC Min AEC Max AEC Rata-rata SC rTime
3 100 488,62919281 455,47577453 537,45364928 0,499866211388173 126,6
3 250 489,04063563 455,98061926 552,64124664 0,496744446271363 229,5
3 500 490,23879350 455,98061926 523,94297207 0,498080280631796 342,1
3 1000 481,42841531 454,22828971 531,46055740 0,494727999307751 540,5
4 6 484,07613641 457,32304357 537,77216091 0,489642039417577 71,7
4 50 485,63213223 457,32304357 537,77785538 0,494100060722299 114,1
4 100 486,54061106 454,22828971 533,79910577 0,493621359964794 151,6
4 250 487,08349774 460,81148890 511,02892773 0,493856663853446 236
4 500 480,89114478 455,98061926 528,26862843 0,493907490906754 396,9
4 1000 480,27971982 456,80772458 523,39485335 0,493600479290885 746,9
Tabel A-4 Hasil Pengujian Parameter CLARANS pada Data Nilai
NL MN Rata-rata AEC Min AEC Max AEC Rata-rata SC rTime
2 2 772,56974771 723,20587729 867,07909147 0,515220255120050 15,8
2 50 691,36020608 657,67412227 728,00044714 0,533277662520407 28,1
2 100 695,36858695 659,07303585 783,25039668 0,508168353602353 45,2
2 500 692,87822602 656,65416533 749,05581445 0,509503236506256 150
2 1000 682,74757335 648,36542865 798,85903253 0,522907090239439 218,8
3 2 776,62386011 730,65232763 827,24368674 0,482297118068845 26,5
3 50 684,17326801 660,09299278 749,40911038 0,526439804801883 47
3 100 666,49273551 656,65416533 682,47420850 0,523100179219359 71,8
3 500 686,02791166 656,65416533 793,20894981 0,542924407000030 190,8
3 1000 690,27001884 648,36542865 755,96121895 0,511068076777512 384,4
4 2 726,40809926 672,34319829 759,97736799 0,524220821085121 22
4 50 670,61367364 656,65416533 716,82681916 0,530671195057740 61
4 100 676,05882928 656,65416533 729,61908214 0,523608064398395 84,6
4 500 692,68428475 656,65416533 788,29153742 0,521328227206221 261
4 1000 688,65132346 657,67412227 757,67879821 0,518460039265831 407,7
Tabel A-5 Hasil Pengujian Parameter CLARANS pada Data Sintesis_1
NL MN Rata-rata AEC Min AEC Max AEC Rata-rata SC rTime
2 9 738,73867386 499,40900099 1331,20309809 0,820420506747773 56,3
2 50 501,63243707 461,62060206 557,36473819 0,883035232422312 81,4
2 100 513,26266520 469,81125559 556,30962723 0,883571512414824 110,6
2 250 506,73350788 466,41629015 652,35572241 0,885346197214800 189
2 500 494,63074631 462,55673728 557,61526985 0,885006936721402 337,5
2 1000 487,21063102 463,82488702 524,61639971 0,885346197214800 550,1
3 9 569,07184209 470,07162721 1208,95276066 0,853341701221893 61,2
3 50 573,51900674 475,04802662 1093,26082078 0,880920921248168 75,1
3 100 512,93206582 465,29748929 563,70690631 0,884038490230820 129,8
3 250 482,81049795 464,90098788 508,58047315 0,884667676228004 365,4
3 500 486,57886059 463,76920609 572,30869005 0,885070795382701 379,6
3 1000 487,02181729 463,56013607 529,08969656 0,884731534889303 817,4
4 9 525,84324611 489,48111244 586,00501266 0,884653152556318 68,6
4 50 496,11525666 463,40663944 534,26105307 0,883635371076123 99,9
4 100 494,74632704 467,59448242 586,49075425 0,885006936721402 157,7
4 250 481,65918275 465,83797748 540,25932117 0,884392274395905 292
4 500 496,04212748 459,32563197 523,37476373 0,884328415734606 526,3
4 1000 491,21555753 463,56013607 552,23976272 0,884667676228004 732,8
41
Tabel A-6 Hasil Pengujian Klastering 5 klaster Data Sintesis_1, MN 9 NL 2
Klaster Medoid Anggota Klaster
[1] 80 72 --- 0,922036739517197
75 --- 0,922035927612999
88 --- 0,922035927612999
76 --- 0,916564456664282
93 --- 0,915947064459087 77 --- 0,915947064459087
89 --- 0,915947064459087
74 --- 0,915568421196201
73 --- 0,913224720298766
84 --- 0,91139818264322
97 --- 0,904584358438706
87 --- 0,90173513086136
90 --- 0,899046858124729
92 --- 0,893205565337292
85 --- 0,891311259369068
86 --- 0,891172266649799
95 --- 0,891172266649799
83 --- 0,888249330610586 78 --- 0,886793761797154
80 --- 0,881144553743418
79 --- 0,880218323672086
81 --- 0,877171802830594
91 --- 0,875325029977362
94 --- 0,875325029977362
98 --- 0,860091199313264
96 --- 0,832159950797807
[2] 108 103 : 0,961195420223131
104 : 0,959806736730392
109 : 0,959369332776816
115 : 0,958375425224202 121 : 0,958375425224202
102 : 0,956115850312723
105 : 0,956115850312723
108 : 0,955395900580226
117 : 0,955395900580226
101 : 0,953188345095002
106 : 0,953188345095002
123 : 0,953188345095002
101 : 0,953188345095002
111 : 0,948289582833959
113 : 0,947753174407487
100 : 0,947520105370276
116 : 0,944597939897219
122 : 0,944597939897219 119 : 0,943702915987312
118 : 0,942970774260655
110 : 0,941631567883329
124 : 0,941631567883329
99 : 0,93638808682515
107 : 0,934007426218906
112 : 0,927826133239563
114 : 0,918962935073752
120 : 0,918962935073752
[3] 129 7 --- 0,893317985888256
18 --- 0,892775617506792 3 --- 0,891862382500568
19 --- 0,891862382500568
82 --- 0,89004499750954
129 --- 0,889995235420284
20 --- 0,889995235420284
14 --- 0,889846445822075
6 --- 0,888207899463155
16 --- 0,88638921239171
13 --- 0,884923072329044
17 --- 0,883977148059346
21 --- 0,882706208642816
2 --- 0,88221461488941
22 --- 0,882205686595245
5 --- 0,879517445724467 1 --- 0,877603881824199
9 --- 0,877101790417494
8 --- 0,876240659961813
15 --- 0,875829624707286
10 --- 0,869985976530013
4 --- 0,869754407152052
11 --- 0,869427997535723
12 --- 0,868958487228679
125 --- 0,16265065154186
126 --- 0,0763134936188689
128 --- 0,0761549776003032
127 --- 0,0258511559654865
[4] 39 31 : 0,918886991007404 43 : 0,918886991007404
30 : 0,913973125325865
40 : 0,913973125325865
45 : 0,913973125325865
25 : 0,913420801745023
37 : 0,912970705304231
33 : 0,905987656019031
23 : 0,905024264181789
39 : 0,90344548498983
27 : 0,900558153351506
35 : 0,895839984733681
32 : 0,893791136422344 46 : 0,891848677504703
42 : 0,890156410170994
28 : 0,889692275506818
38 : 0,885986330086442
44 : 0,879988605530093
26 : 0,878055125498707
29 : 0,874538685195475
34 : 0,873181437604588
41 : 0,871882742382979
24 : 0,817153256662305
36 : 0,812779140123532
42
Klaster Medoid Anggota Klaster
[5] 48 49 : 0,939978959603106
53 : 0,934704055927666
59 : 0,93449826130332
66 : 0,93449826130332
48 : 0,934477307724963
62 : 0,934477307724963
51 : 0,933270383157075
70 : 0,933270383157075
58 : 0,931834658060986
61 : 0,926304948361934
65 : 0,924406028469332 55 : 0,924284747733083
64 : 0,920190601569799
50 : 0,919573543883813
69 : 0,919573543883813
50 : 0,919573543883813
69 : 0,919573543883813
57 : 0,919253128708187
56 : 0,918184366076264
68 : 0,918184366076264
60 : 0,91718539041339
67 : 0,91718539041339
54 : 0,909422195141223
63 : 0,904908765868831
52 : 0,898190156904562 71 : 0,898190156904562
47 : 0,897352803991085
Tabel A-7 Hasil Pengujian Klastering 2 Klaster Data Bayi, MN 6 NL 2
Klaster Medoid Anggota Klaster
[1] Siti_Yaroh Erlin_Febriwahyuni : 0,687055167975702
Teddy_Rinaldi : 0,682119140075413
Nur_Indah_Utami : 0,680539101891618
Yuliani_Agustina : 0,674878201817136 Teni_Amarini : 0,673445758335719
Dony_Eko_S : 0,672480011234116
Ilman_Indaloh : 0,670873498671536
Hadi_Supriyadi : 0,670538776306263
Aya_Dewi : 0,670131225168854
Teddy_Lakoni : 0,666226059758137
Haerlina_Sugiarty : 0,664671248822343
Sendy_Carolina : 0,662735970236823
Eli_Saparyah : 0,662529571227874
Ratna_Juwita : 0,662489814802725
Miradina : 0,662419485416146 Dewi_Mulyani : 0,66155854520656
Ravelina_Dona_S : 0,661491708290982
Heti_Taryati : 0,660613851239201
Yuliawati : 0,659399651695053
Dewi_Silalahi : 0,659244040959705
Muharromi : 0,659001059350308
Frista_D : 0,657964293493547
Reza_Wediansyah : 0,654883460545041
Irma_Mentariana : 0,653431985408782
Resna_Herliana : 0,651014022203573
Rahmat_Solihin : 0,649877516382226
Rusdhi_Anggoro : 0,648512931953583 Mim_Talhisi_R : 0,646651915352406
Renol_Darmawan : 0,646440380995596
Irma_Mardiana : 0,645213302452253
Elis_Herlina : 0,637161295785751
Indri_ : 0,636362376783525
Isa_Salman_A : 0,635236016569764
Rendhy_Aprialy : 0,63442880322949
Dian_Riana : 0,629426445046396
Hadi_Roshadi : 0,624843897798856
Fitri_Gusmayanti : 0,623191475046964
Erwin_Ginanjar : 0,622634571844923
43
Klaster Medoid Anggota Klaster
Andri_F : 0,622130425083655
Riki_Yustiawan : 0,621129033061719
Rendy_Dharmanto : 0,62056414222669
Yoga_Ivandiyanto : 0,620541321301867
Novie_Setiawati : 0,620272900196106
Dedi_Muchadi : 0,612580216764515
Winda_Eka_Putri : 0,612014074008559
Vina_Agustina : 0,611767014211805
Neni_Yulianti : 0,611475737464706
Devid_Gustri_A : 0,607734436151407
Wisda_Ningsih_S : 0,607189049607557 Moh._Decky_E : 0,606719885872451
Nunun_Nurjannah : 0,605688943535992
Dadang_A : 0,605668722789087
Asep_Jatnika_Indrawa : 0,59925819926789
Yan_Apsari : 0,594533058706598
Giantry_Rizky_Wuland : 0,580382492532517
Asep_Tommi : 0,569121470834205
Hendra_Ferdian : 0,560858623979933
Sri_Artanty : 0,560006317901395
Mila_Karmila : 0,556759385135549
Tuti : 0,556528941340334
Muchtar_Alamsyah : 0,554997925672379 Eryca_Mery_Kristiana : 0,553612279615123
Heni_Hasanah : 0,552249251307138
Siti_Yaroh: 0,550087585187613
Rully_Agustine : 0,549636189958837
Mutiara_Maulida : 0,53230535639213
Nifa_Handiani : 0,531930557363625
Lisnawati : 0,531228602253731
Ina_Mutmainnah : 0,523967674102862
Yusep_Hikmat : 0,520058869994604
Dianti_F : 0,519730998843049
Dian_Marliani : 0,518716788260251 Deasy_Diaswati : 0,518209657805741
Della_Hapsari : 0,511720958174097
Nita_Naritawati : 0,497570081980145
Meizia_Sufina : 0,497029837716649
Dodi_Hermawan : 0,486077802366371
Fini_Farlianti_Hatoa : 0,470388306882051
Mulyana : 0,463197875242832
Cipta_Riadi : 0,453879697587561
Rahmi_Puspita_Iha : 0,439954460673392
Devie_Siswanti : 0,437205446448189
Firman_Tjahyadi : 0,429276701033365
Nasep_Sulaeman : 0,372163545887123 Eka_Dalu_K : 0,338132579631811
Vitri_Widalabardi : 0,332072344969126
Adek_Andriany : 0,330973863758793
Yuli_Alia : 0,330411521338195
Rizki_Hadi : 0,327150011493907
Didong : 0,322168233729452
Nandi_Syafiek : 0,314836131563638
Dadan_M_R : 0,284058555665177
Dadan_Gandara : 0,253625332159304
Teguh_Hermawan : 0,245241278618955
Ratu_Dinar_Ayuningbi : 0,223231210990491
44
Klaster Medoid Anggota Klaster
Fauziah : 0,220933150778488
Dwi_Yulianto : 0,214705520172241
Fenni_Mindawati : 0,191954196515671
Rina_Triyani : 0,18101549546673
Beny_Ramdani : 0,167712127979728
Adam_Supriyatna : 0,162747756065249
Melati_Indah_P. : 0,0492638810751139
Tubagus_Fikri : 0,0327713269736531
Sahat_Marihot_A. : 0,0321892106364351
[2] Nia_K Muhammad_Lutfi : 0,646500373559436
Febi_Ari_Pribadi : 0,646016115836171
Prima_Kurniawan : 0,645748967521397 Ratih_Juwita : 0,642883495463642
Mela_Winaningsih : 0,642684194229469
Eva_Rahmawati : 0,639738654049574
Amvira : 0,639509838738111
Lidya_Puspita : 0,638514117090013
Sanmarliyanto : 0,638054002913735
Adriansyah : 0,635578796244005
Ane_Dewi : 0,633403233646858
Sandra_F : 0,632988228986565
Apriliani : 0,632888050070967
Imas_Noni : 0,632502044724504
Dewi_Pusfita_Sari : 0,629861496581962 Lia_Frizka : 0,628680915067365
Ritta_Yoana : 0,627771489134819
Septina_R._Hasanah : 0,626443502242036
Ivan_Fandikha : 0,624844435798538
Dian_Septiani : 0,620293373299099
Putri_Indah : 0,619276655023133
Sri_Ratna : 0,619054715893844
Olva_Ratriani : 0,607926993199917
Anggia_Bonyta : 0,607628552262066
Eko_Andri : 0,607491646664492
Nashadi_Susanto : 0,606159415209143 Shynta_Dewi : 0,605835318190494
Riski_Farendra : 0,603324791074127
Vina_Indayani : 0,603177516114654
Tika_Mustika : 0,600076351123382
Santi_Rostikasari : 0,597686036816305
Rika_Heryani : 0,593951803538431
Dewi_Susilawati : 0,593378369255624
Erik_Sulistiawan : 0,589889223628948
Henry_Hermawan : 0,587203678724957
Dery_Maulina : 0,586388905879771
Vita_Hapsari : 0,585547785295047
Kiki_Indriasari : 0,584480123005221 Pitriyani : 0,584339029246855
Kim_Paul_Tomozoy : 0,583748050203851
Pipit_Fitriani : 0,582541569452801
Wihartini : 0,580211596136347
Anita_Pujiastuti : 0,578726225080121
Agus_Supriyatna : 0,578293785370906
Irma_Febriani : 0,577104086707393
Catur_Putri_S : 0,576794873994987
Rendy_Anggaswara : 0,569501312095316
Jeria_Handayani : 0,567062194506071
45
Klaster Medoid Anggota Klaster
Gira_Garmira : 0,566065511322585
Abu_Bakar : 0,558486952030805
Enggria_Wulandari : 0,557677144672371
Desi_Setiowati : 0,553942508506453
Syali_Diani_Dewi : 0,551746661195603
Seshi_Y : 0,549012831358317
Fitrah_Agustian : 0,548991755992539
Fika_Fidayyah : 0,544283310853518
Astri_Kurniati : 0,537087642641065
Denri_Ramza_Fadila : 0,529314279428328
Hery_S : 0,523621397747581 Mario_Randi : 0,519608311650086
Indra_Agustiadi_L : 0,500388548768431
Yohanes_Halomoan : 0,480397954965361
Tuti_Haryati : 0,445943892863267
Nur_Ismail : 0,444732992495176
Yati_Novianti : 0,439138576558789
Viviet_Safitri : 0,42817446560742
Astri_Tresnawaty : 0,428028954772558
Nurul_Emily : 0,424355890730303
Firzania_Novita_Bahr : 0,424272896253263
Nia_K : 0,423604076308886
Winarni : 0,421689428649277 Nur_Yatnikasari : 0,421628154419162
Rulianti : 0,420498524079624
Subrata : 0,414765375564591
Asti_Ambarwati : 0,413880260037605
Karina : 0,412707333717159
Tessa : 0,400035752724307
Henny_Anggraeni : 0,399075395271894
Silvie_Meilia : 0,388277505805055
Endah_Sekar_Mawar : 0,374100654761201
Dwi_Ely_Pradinayanti : 0,37219504003629
Susilawaty : 0,3347355376094 Emil_Mirnawati : 0,329891316955783
Donny_Firdaus : 0,289425133444104
Indri_Dewi_Kartika_W : 0,283356213973341
Rico_Siregar : 0,266125145787517
Welly_F._Nugraha : 0,191552069677136
Dede_Rikayanti : 0,190898228035777
Erlin_Puspakania : 0,186135524555337
Liesdya_N. : 0,174735122749533
Ade_Vita_Fadilah : 0,163261457828513
Firman_Adi_Purnama : 0,160272231833341
Adhitya_Setiartha : 0,158653551142894
Isti_Agustianti : 0,146506435870641 Fitri_Handayani : 0,146363896094964
Andriani_Sabaryati : 0,14144917853083
Aryana_Wirawardana : 0,1125201197591
Nur_Permana : 0,0780982419842938
Amigia_Rustanti : 0,0753437332052438
Wita_Rahmalia : 0,0746468461837326
Rahayu_B. : 0,0611149082060729
Shannita_Simbolon : 0,0574183118998889
Rita_Komala : 0,0326798560785388
Rina_Triana : 0,0239789242970347
Irvan_ : 0,0221411666040298
46
Klaster Medoid Anggota Klaster
Desya_Natalia : 0,0161443759587199
Irma_Ratnasari : 0,0085435873418248
Tabel A-8 Hasil Pengujian Akurasi Deteksi Outlier Data Sintesis_1 2 klaster
NL MN it th detect TP FP FN TN Precision Recall f-measure
2 4 5 0,01 0 0 0 4 125 0 0 0
0,05 10 0 10 4 115 0,000 0 0
0,1 10 0 10 4 115 0,000 0 0
0,15 10 0 10 4 115 0,000 0 0
0,2 10 0 10 4 115 0,000 0 0
0,25 10 0 10 4 115 0,000 0 0
0,3 10 0 10 4 115 0,000 0 0
10 0,01 0 0 0 4 125 0 0 0
0,05 20 1 19 3 106 0,050 0,25 0,083
0,1 20 1 19 3 106 0,050 0,25 0,083
0,15 20 1 19 3 106 0,050 0,25 0,083
0,2 20 1 19 3 106 0,050 0,25 0,083
0,25 20 1 19 3 106 0,050 0,25 0,083
0,3 20 1 19 3 106 0,050 0,25 0,083
2 50 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 20 1 19 3 106 0,050 0,25 0,083
0,1 20 1 19 3 106 0,050 0,25 0,083
0,15 20 1 19 3 106 0,050 0,25 0,083
0,2 20 1 19 3 106 0,050 0,25 0,083
0,25 20 1 19 3 106 0,050 0,25 0,083
0,3 20 1 19 3 106 0,050 0,25 0,083
2 100 5 0,01 0 0 0 4 125 0 0 0
0,05 7 1 6 3 119 0,143 0,25 0,182
0,1 7 1 6 3 119 0,143 0,25 0,182
0,15 7 1 6 3 119 0,143 0,25 0,182
0,2 7 1 6 3 119 0,143 0,25 0,182
0,25 7 1 6 3 119 0,143 0,25 0,182
0,3 7 1 6 3 119 0,143 0,25 0,182
10 0,01 0 0 0 4 125 0 0 0
0,05 12 1 11 3 114 0,083 0,25 0,125
0,1 12 1 11 3 114 0,083 0,25 0,125
0,15 20 2 18 2 107 0,100 0,5 0,167
0,2 20 2 18 2 107 0,100 0,5 0,167
0,25 20 2 18 2 107 0,100 0,5 0,167
47
NL MN it th detect TP FP FN TN Precision Recall f-measure
0,3 20 2 18 2 107 0,100 0,5 0,167
2 250 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 20 1 19 3 106 0,050 0,25 0,083
0,1 20 1 19 3 106 0,050 0,25 0,083
0,15 20 1 19 3 106 0,050 0,25 0,083
0,2 20 1 19 3 106 0,050 0,25 0,083
0,25 20 1 19 3 106 0,050 0,25 0,083
0,3 20 1 19 3 106 0,050 0,25 0,083
2 500 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 16 2 14 2 111 0,125 0,5 0,200
0,1 16 2 14 2 111 0,125 0,5 0,200
0,15 16 2 14 2 111 0,125 0,5 0,200
0,2 20 3 17 1 108 0,150 0,75 0,250
0,25 20 3 17 1 108 0,150 0,75 0,250
0,3 20 3 17 1 108 0,150 0,75 0,250
2 1000 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 20 1 19 3 106 0,050 0,25 0,083
0,1 20 1 19 3 106 0,050 0,25 0,083
0,15 20 1 19 3 106 0,050 0,25 0,083
0,2 20 1 19 3 106 0,050 0,25 0,083
0,25 20 1 19 3 106 0,050 0,25 0,083
0,3 20 1 19 3 106 0,050 0,25 0,083
4 4 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
48
NL MN it th detect TP FP FN TN Precision Recall f-measure
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 20 1 19 3 106 0,050 0,25 0,083
0,1 20 1 19 3 106 0,050 0,25 0,083
0,15 20 1 19 3 106 0,050 0,25 0,083
0,2 20 1 19 3 106 0,050 0,25 0,083
0,25 20 1 19 3 106 0,050 0,25 0,083
0,3 20 1 19 3 106 0,050 0,25 0,083
4 50 5 0,01 0 0 0 4 125 0 0 0
0,05 9 4 5 0 120 0,444 1 0,615
0,1 9 4 5 0 120 0,444 1 0,615
0,15 10 4 6 0 119 0,400 1 0,571
0,2 10 4 6 0 119 0,400 1 0,571
0,25 10 4 6 0 119 0,400 1 0,571
0,3 10 4 6 0 119 0,400 1 0,571
10 0,01 0 0 0 4 125 0 0 0
0,05 14 4 10 0 115 0,286 1 0,444
0,1 14 4 10 0 115 0,286 1 0,444
0,15 15 4 11 0 114 0,267 1 0,421
0,2 15 4 11 0 114 0,267 1 0,421
0,25 15 4 11 0 114 0,267 1 0,421
0,3 15 4 11 0 114 0,267 1 0,421
4 100 5 0,01 0 0 0 4 125 0 0 0
0,05 7 1 6 3 119 0,143 0,25 0,182
0,1 7 1 6 3 119 0,143 0,25 0,182
0,15 10 2 8 2 117 0,200 0,5 0,286
0,2 10 2 8 2 117 0,200 0,5 0,286
0,25 10 2 8 2 117 0,200 0,5 0,286
0,3 10 2 8 2 117 0,200 0,5 0,286
10 0,01 0 0 0 4 125 0 0 0
0,05 12 1 11 3 114 0,083 0,25 0,125
0,1 12 1 11 3 114 0,083 0,25 0,125
0,15 20 2 18 2 107 0,100 0,5 0,167
0,2 20 2 18 2 107 0,100 0,5 0,167
0,25 20 2 18 2 107 0,100 0,5 0,167
0,3 20 2 18 2 107 0,100 0,5 0,167
4 250 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 16 2 14 2 111 0,125 0,5 0,200
0,1 16 2 14 2 111 0,125 0,5 0,200
0,15 16 2 14 2 111 0,125 0,5 0,200
0,2 20 3 17 1 108 0,150 0,75 0,250
0,25 20 3 17 1 108 0,150 0,75 0,250
49
NL MN it th detect TP FP FN TN Precision Recall f-measure
0,3 20 3 17 1 108 0,150 0,75 0,250
4 500 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 20 1 19 3 106 0,050 0,25 0,083
0,1 20 1 19 3 106 0,050 0,25 0,083
0,15 20 1 19 3 106 0,050 0,25 0,083
0,2 20 1 19 3 106 0,050 0,25 0,083
0,25 20 1 19 3 106 0,050 0,25 0,083
0,3 20 1 19 3 106 0,050 0,25 0,083
4 1000 5 0,01 0 0 0 4 125 0 0 0
0,05 10 1 9 3 116 0,100 0,25 0,143
0,1 10 1 9 3 116 0,100 0,25 0,143
0,15 10 1 9 3 116 0,100 0,25 0,143
0,2 10 1 9 3 116 0,100 0,25 0,143
0,25 10 1 9 3 116 0,100 0,25 0,143
0,3 10 1 9 3 116 0,100 0,25 0,143
10 0,01 0 0 0 4 125 0 0 0
0,05 16 2 14 2 111 0,125 0,5 0,200
0,1 16 2 14 2 111 0,125 0,5 0,200
0,15 16 2 14 2 111 0,125 0,5 0,200
0,2 20 3 17 1 108 0,150 0,75 0,250
0,25 20 3 17 1 108 0,150 0,75 0,250
0,3 20 3 17 1 108 0,150 0,75 0,250