2.2 Tinjauan Pustaka
2.2.2 Clustering
Dalam aplikasi perlu untuk membagi data poin menjadi kelompok, pemisahan sejumlah titik data ke dalam sejumlah kelompok kecil sangat membantu dalam meringkas data dan memahaminya di berbagai aplikasi data mining, cara pembagian data kedalam kelompok yang berisi titik data yang serupa disebut clustering (Aggarwal, 2015).
Clustering adalah segmentasi populasi heterogen ke dalam sejumlah subkelompok atau kelompok yang lebih homogen, dalam pengelompokan tidak ada kelas yang telah ditentukan dan tidak ada contohnya serta pengelompokan dikelompokkan berdasarkan kemiripan (Berry & Linoff, 2004).
Clustering adalah proses pengelompokan serupa dalam cluster dan yang berbeda dalam kelompok yang berbeda. kelompok menangani berbagai aplikasi termasuk analisis jaringan sosial, rekayasa perangkat lunak, dan cyber crime (Rahman & Islam, 2014).
1. Penerapan Clustering
Pengelompokan clustering menjadi dasar bagi sejumlah model yang disesuaikan untuk berbagai aplikasi. Beberapa contoh aplikasi (Aggarwal, 2015) yaitu:
a. Data summarization: Masalah clustering dapat dianggap sebagai suatu bentuk summarization data karena data mining merupakan penggalian informasi ringkasan dari data. Proses pengelompokan biasanya merupakan langkah awal dalam banyak pengolahan algoritma data mining.
b. Segmentasi pelanggan: Ini dilakukan untuk menganalisis kelompok pelanggan sejenis. Contoh penerapan segmentasi pelanggan adalah
penyaringan kolaboratif dimana preferensi yang disebutkan dalam kelompok pelanggan digunakan untuk membuat rekomendasi dalam grup.
c. Analisis jaringan sosial: Dalam data jaringan sosial, pertemanan dikelompokkan secara ketat berdasarkan hubungan keterkaitan dan seringkali mengelompokkan teman atau komunitas. Masalah masyarakat ini salah satu analisis social yang banyak dipelajari karena pemahaman lebih luas tentang perilaku manusia dalam dinamika masyarakat..
d. Masalah data mining lainnya: karena data representasi diringkas, masalah pengelompokan memungkinkan muncul masalah data mining lainnya.
Misalnya, pengelompokan yang digunakan sebagai langkah preprocessing dalam model pendeteksian klasifikasi dan outlier.
2. Pengelompokan Clustering
Clustering dapat dikelompokkan menjadi tiga kategori yaitu, unsupervised, semi-supervised, dan supervised (Dean, 2014):
a. Unsupervised: tujuan pengelompokan unsupervised ini yaitu untuk memaksimalkan kesamaan intracluster dan untuk meminimalkan kesamaan intercluster dengan similarity/dissimilarity. Pengelompokan ini tidak memiliki variable target atau kelas. Teknik clustering yang paling banyak digunakan adalah k-means dan hierarchial clustering.
b. Semi-supervised clustering: selain unsupervised, clustering semi-supervised menggunakan informasi kelas untuk meningkatkan hasil pengelompokan. Informasi digunakan untuk menyesuaikan kesamaan atau memodifikasi pencarian cluster. Selain tujuan pengelompokan unsupervised, pengelompokan semi-supervised memiliki tujuan untuk mendapatkan konsistensi yang tinggi antara cluster dan informasi dari kelas.
c. Supervised clustering: tujuan pengelompokan supervised yaitu untuk mengidentifikasi kelompok yang memiliki kepadatan probabilitas tinggi berkenaan dengan kelas individu. Pengelompokan supervised digunakan apabila ada variable target atau kelas dan satu set data training yang mencakup variable ke cluster.
Dalam semi-supervised learning contoh yang diberi label digunakan untuk meningkatkan keefektifan klasifikasi meskipun data yang berlabel tidak mengandung informasi distribusi data namun data tersebut mengandung informasi clustering (Aggarwal, 2015). Diantara supervised dan unsupervised learning terdapat semi-supervised learning yang tujuannya adalah klasifikasi namun masukan tersebut berisi data yang tidak berlabel dan berlabel, dan juga untuk menambahkan sejumlah kecil data berlabel dengan kumpulan data tanpa label (Witten et al., 2011).
2.2.4 K-means
Metode hierarki yang paling terkenal dan tertua adalah k-means yang dirancang untuk variable kontinyu, yaitu dengan mengidentifikasi point gabungan yang disebut centroid untuk membangun kelompok dan menghubungkan ke centroid terdekat (Azzalini & Scarpa, 2012). Algoritma k-means merupakan algoritma yang paling banyak digunakan dan mengacu pada pencarian sejumlah cluster dalam jarak terdekat dari titik data, pertama kali ditemukan oleh J.B.
MacQueen pada tahun 1967 (Berry & Linoff, 2004). K-means adalah salah satu teknik clustering yang banyak digunakan dan sederhana, cara kerjanya dengan mempartisi data ke dalam cluster dengan mendatangani masing-masing objek ke centroid cluster terdekatnya berdasarkan jarak yang digunakan (Dean, 2014).
Dalam algoritma k-means, jumlah titik data Euclidean ke titik terdekat digunakan untuk mengukur fungsi objektif pengelompokan:
π·ππ π‘(πΜ π, πΜ π) = ||πΜ πβ πΜ π||22 (2.1) Dimana, || . ||π menjelaskan πΏπ-norm, (πΜ π, πΜ π) dilihat sebagai squared error mendekati titik data terdekatnya. Tujuannya meminimalkan kesalahan square titik data yang berbeda dan biasa disebut SSE (Aggarwal, 2015).
Algoritma k-means secara iterative memperbarui π cluster center π1, π2, β¦ ππ dengan memindahkan setiap center ke rata-rata titik lebih dekat dari pusat lainnya.
π1, β¦ ππβ π π. Kemudian partisi point menjadi π melalui ππ β {ππ βΆ ππ adalah pusat terdekat ππ}, dimana π π β |ππ| selanjutnya perpindahan masing-masing center ke rata-rata dari point terkait dimana:
ππ β
ο₯
ο½Sj i
p dan i
j j
j s
c ο¬' m (2.2)
aturan ini diulang untuk sejumlah iterasi tertentu sampai kriteria terpenuhi (Aggarwal & Yu, 2008).
Algoritma k-means umumnya terdiri dari langkah-langkah sebagai berikut (Larose, 2005):
1. Tentukan berapa banyak cluster π yang dalam dataset.
2. Pilih secara random nilai π centroid sebagai cluster center awal.
3. Untuk setiap data cari cluster center terdekat dalam artian masing-masing data mempunyai cluster center terdekat mewakili partisi dari kumpulan data π1, π2, β¦ , ππ . Tahap ini dihitung dengan Euclidean distance.
4. Untuk π cluster, cari centroid cluster dan perbarui masing-masing cluster center ke nilai centroid yang baru. Misal π data point, (π1, π1, π1), (π2, π2, π2), β¦ (ππ, ππ, ππ) , centroid dari titik-titik ini adalah pusat yang terletak di titik (β ππ/π , β ππ/π , β ππ/π).
5. Ulangi langkah 3 sampai 5 sampai konvergensi data
Gambar 2.1. Penerapan k-means
pada dua data simulasi, simulasi data dengan menggunakan tiga cluster, π = 2 variabel, data yang dipilih dibedakan menurut jenis simbol sesuai yang berlaku pada konfigurasi awal. Jenis hasil yang sama dipertahankan saat konfigurasi centroid awal berubah (Azzalini & Scarpa, 2012).
2.2.5 Evaluasi Cluster
Standar pengukuran kesamaan cluster adalah varians sehingga rangkaian kelompok terbaik mungkin rangkaian yang memiliki nilai terendah namun pengukuran ini tidak memperhitungkan ukuran cluster. Tujuan umum pengukuran bekerja dengan deteksi cluster yaitu mengambil ukuran kemiripan atau metrik jarak pandang yang digunakan untuk membentuk cluster dan menggunakannya untuk membandingkan jarak rata-rata antara anggota cluster dan cluster centroid dengan jarak rata-rata antara cluster centroid (Berry & Linoff, 2004).
Kriteria evaluasi digunakan terutama untuk mengetahui variabilitas atau noise pada cluster, untuk mengetahui jumlah cluster yang optimal untuk data, untuk membandingkan algoritma clustering terhadap kualitas solusinya, dan untuk membandingkan dua set hasil yang diperoleh dari analisis klaster (Dean, 2014).
1. Confusion Matrix
Confusion matrix menyediakan metode intuitif untuk menilai clustering secara visual dan sangat penting untuk merancang tindakan untuk mengevaluasi keseluruhan kualitas confusion matrix (Aggarwal, 2015). Dalam masalah dua kelas, misalnya positif dan negative pada classifier π(π₯|β ) di training set, biasanya diprediksi bahwa π₯ yang diambil dari set validasi positif misalnya jika π(π₯|β ) β₯ π, untuk beberapa permulaan π dan diasumsikan bahwa π(π₯|β ) β [0,1]
memperkirakan probabilitas posterior bahwa π₯ adalah contoh positif yaitu πΜ(+|π₯) β‘ π(π₯|β ). Kemudian π₯ adalah contoh negative jika π(π₯|β ) < π dan πΜ(β|π₯) β‘ 1 β π(π₯|β ). Ada empat variable untuk membentuk confusion matrix (Irsoy, Yildiz, & Alpaydin, 2012):
Tabel 2.2. Confusion Matrix Aktual
True False
Predicted True True Positive (TP) False Negative(FN) False False Positive (FN) True Negative (TN)
2. Rand Index
Rand index diciptakan tahun 1971 adalah kriteria sederhana yang digunakan untuk membandingkan struktur pengelompokan yang diinduksi dengan struktur pengelompokan tertentu dengan aturan:
a : jumlah pasang di cluster sama dengan π1 dan jumlah π2
b : jumlah pasang contoh di cluster sama dengan π1 , tapi di cluster tidak sama dengan π2
c : jumlah pasang contoh di cluster sama dengan π2, tapi di cluster tidak sama dengan π1
d : jumlah pada di cluster berbeda dengan π1 dan π2
Artinya jumlah a dan d positif, dan b dan c negatif. Rand index dirumuskan:
π πππ πΌππππ₯ = π+π
π+π+π+π (2.3) Rand index yang berada di antara 0 dan 1, apabila partisi tersebut sempurna rand index nya adalah 1 (Maimon & Rokach, 2010).
2.3 Kerangka Pemikiran
Kerangka pemikiran pada penelitian ini dapat dilihat pada Gambar 2.2 yang terdiri dari beberapa tahap. Masalah penelitian ini adalah penentuan centroid awal pada algoritma K-means. Dataset yang memiliki data nilai yang kosong akan dilakukan preprocessing data dengan Replace Missing Value kemudian akan mendapatkan dataset baru. Tujuan dari penelitian ini adalah untuk meningkatkan kinerja algoritma k-means agar mendapatkan kualitas cluster yang optimal. Untuk mengevaluasi kinerja dari metode yang diusulkan digunakan Error percentage dan
Observed Variables Observed Variables PROPOSED METHOD OBJECTIVES
Model Accuracy
MEASUREMENT
Percentage Error INDICATORS
Centroid
Dataset
NASA MDP
(Wahono, 2015)
Prediction Algorithm
K-Means
Meningkatkan Ketepatan Prediksi Cacat Software
Rand Index
PreProcessing
Replace Missing Value
Gambar 2.2. Kerangka Pemikiran
METODE PENELITIAN
3.1 Desain Penelitian
Penelitian adalah aktivitas yang bertujuan untuk memberikan kontribusi original terhadap pengetahuan (Dawson, 2009). Sedangkan menurut Berndtsson, istilah penelitian digunakan untuk aktivitas penyelidikan dan investigasi sistematis dengan tujuan menemukan atau merevisi fakta, teori, aplikasi, dan lain-lain yang tujuannya untuk menemukan dan menyebarkan pengetahuan baru (Berndtsson, Hansson, Olsson, & Lundell, 2008). Ada empat metode penelitian umum yang digunakan baik secara individu ataupun kelompok diantaranya: action research, experiment, case study dan survey. Metode penelitian yang dilakukan dalam penelitian ini adalah metode penelitian eksperimen, dengan tahapan penelitian yang disajian Gambar 3.1 sebagai berikut:
Pengumpulan
Mengidentifikasi dan mengevaluasi dataset yang digunakan pada prediksi cacat software
Pengecekan dataset sebelum digunakan pada eksperimen penelitian
Mendesain dan mengusulkan metode untuk penentuan centroid awal
Melakukan eksperimen dan uji coba dari metode k-means dan metode yang diusulkan
Mengevaluasi dan memvalidasi hasil dari metode penelitian
Gambar 3.1. Tahapan Penelitian
Penelitian ini menggunakan dataset NASA MDP karena sangat umum digunakan untuk prediksi cacat software dan dapat diperoleh di PROMISE repository. Dari tahun 2000 sampai 2013 sebesar 64,79% penelitian cacat software menggunakan dataset NASA MDP (Wahono, 2015). Setiap dataset NASA MDP terdiri dari beberapa module software dan karakteristik atribut. Modul yang terdapat cacat dikategorikan sebagai fault prone dan yang tidak cacat dikategorikan sebagai non fault prone selain itu juga terdiri dari atribut kompleksitas McCabe dan Halstead.
Selain menggunakan dataset NASA MDP (CM1, KC1, KC3, MC2, MW1, PC1, PC2, PC3, PC4), penelitian ini juga menggunakan dataset iris karena dataset iris sering digunakan untuk pengujian algoritma clustering, mempunyai 3 class (setosa, viginica, dan versicolor) dan 150 sample, masing-masing class terbagi menjadi 50 class data serta mumpunyai 4 atribut (sepal length, sepal width, petal length, dan petal width).
Tabel 3.1. Deskripsi Dataset NASA MDP Dataset
KC1 Storage management
for ground data C++ 2096 325 15,5%
KC3 Storage management
for ground data Java 200 36 18%
PC2 Dynamic simulator for
attitude control system C 1585 16 1,01%
PC3 Flight software for
earth orbiting satellite C 1125 140 12,44%
PC4 Flight software for
earth orbiting satelite C 1399 178 12,72%
MC2 Video guidance
system C 127 44 34,64%
Tabel 3.2. Daftar Atribut Dataset NASA MDP
Atribut Dataset NASA MDP
CM1 KC1 KC3 MC2 MW1 PC1 PC2 PC3 PC4
Global_data_complexity X X
Global_data_density X X
Normalize_cyclo_cmplx X X X X X X X X
Percent_comments X X X X X X X X
Node_count X X X X X X X X
Jumlah Atribut 37 21 39 39 37 37 36 37 37
Atribut Deskripsi LOC
counts
LOC_total Total baris kode pada modul LOC_blank Total baris kosong pada modul
LOC_code_and_comment Total baris yang mengandung kode dan komentar pada modul
LOC_comments Total baris yang mengandung komentar pada modul LOC_executable Total baris dari eksekusi untuk suatu modul
Number_of_lines Total baris pada modul
Halstead Content Panjang content Halstead dari modul Difficulty Metric kesulitan Halstead dar modul Effort Metric usaha Halstead dari modul
Error_est Metric perkiraan error Halstead dari modul Length Metric Panjang Halstead dari modul Level Metric level Halstead dari modul
Prog_time Metric waktu pemrograman Halstead dari modul Volume Metric volume Halstead dari modul
Num_operands Jumlah operand yang terdapat pada modul Num_operators Jumlah operator yang terdapat pada modul Num_unique_operands Jumlah operand unik yang terdapat pada modul Num_unique_operators Jumlah operator unik yang terdapat pada modul McCabe Cyclomatic_complexity Kompleksitas cyclomatic dari modul
Cyclomatic_density Cyclomatic_complexity/ LOC_code_and_comment Design_complexity Kompleksitas desain dari modul
Essential_complexity Kompleksitas esensial dari modul Misc. Branch_count Metric jumlah cabang
Call_pairs Jumlah suatu fungsi dipanggil dalam modul Condition_count Jumlah kondisi dalam modul
Decision_count Jumlah keputusan dalam modul Decision_density Jumlah kondisi atau jumlah keputusan
Edge_count Jumlah koneksi modul dari modul yang sat uke yang lain
Essential_density (essential_complexity-1)/(cyclomatic_complexity-1) Parameter_count Jumlah parameter dari suatu modul
Maintance_severity Essential_complexity-1/cyclomatic_complexity Modified_condition_count Jumlah dari sebuah kondisi mempengaruhi hasil
keputusan
Multiple_condition_count Jumlah kondisi yang lebih dari satu dalam suatu modul
Global_data_complexity Rasio kompleksitas cyclomatic dari struktur modul terhadap jumlah parameter
Global_data_density Global_data_complexity/cyclomatic_complexity Normalize_cyclo_cmplx Cyclomatic_complexity/number_of_lines Percent_comments Presentase dari suatu kode yang berisi komentar Node_count Jumlah node yang ditemukan dalam suatu modul
3.3 Pengolahan Awal Data
Pada tahap pengolahan data awal, masing-masing dataset yang berisi data informasi pendukung perlu untuk dilakukan pengecekan data terlebih dahulu dengan mengisikan data informasi yang masih kosong dengan teknik replace missing value dan memastikan data bersifat numerik. Operator Replace Missing Values menggantikan semua nilai yang hilang dengan nilai rata-rata atribut itu.
Karena ini adalah perubahan data dan bukan perubahan atribut, perubahan ini dilakukan di semua salinan. Pemberian nilai untuk informasi yang kosong tersebut dengan nilai rata-rata data. Proses preprocessing ini dengan teknik replace missing value dilakukan dengan menggunakan aplikasi RapidMiner 7.3 library. Selanjutnya data disimpan kembali dalam bentuk excel untuk pengolahan data selanjutnya.
3.4 Metode yang Diusulkan
Algoritma k-means memiliki kelemahan pada penentuan nilai centroid yang random sehingga hasil yang didapatkat kurang optimal, maka pada penelitian ini akan diusulkan metode untuk penentuan nilai centroid k-means dengan algoritma yang diberi nama point center. Algorima point center yang diusulkan sebagai penentu nilai centroid awal untuk optimasi algoritma k-means. Algoritma ini berdasarkan pemilihan variable π dan π yang menentukan anggota cluster. Untuk pemilihan variable, tahap pertama hitung rata-rata dari setiap atribut melalui persamaan (1).
π₯Μ π=1 πβ π₯π
π
π=1
π = 1,2, β¦ , π (3.1)
Dimana, π₯Μ π adalah rata-rata tiap atribut (π adalah atribut), π₯π adalah data point (π adalah data point dari 1 ke π), dan π adalah jumlah data. Kemudian hitung masing-masing standar deviasi dati tiap-tiap atribut melaui persamaan (3.2):
π(π₯Μ π) = ββππ=1(π₯πβπ₯Μ )2
πβ1 (3.2) Setelah menghitung rata-rata dan standar deviasi, selanjutnya tentukan titik center data dari variabel dataset melalui persamaan (3.3).
Dimana, π₯Μ π adalah nilai maximum dari rata-rata dan π₯Μ π adalah nilai rata-rata dari nilai minimum standar deviasi. Selanjutnya lakukan perhitungan dengan Euclidean distance:
πππ = ((π₯πβ π₯Μ π)2+ (π₯π+ π₯Μ π)2)12 π = 1,2, β¦ , π (3.4) Untuk menghitung jarak antara masing, masing data point dan titik awal. Kemudian melalui persamaan (3.5) digunakan untuk pemilihan variabel π dan π sebagai anggota cluster center.
π£ = [ π₯Μ πΌ π₯Μ πΌπΌ ] (3.5) Dimana, π₯Μ πΌadalah nilai minimum dari rata-rata dan π₯Μ πΌπΌ adalah rata-rata dari nilai maksimum standar deviasi. Data point berdasarkan pemilihan variable dari persamaan (3.5) dengan jarak tertinggi data euclideaan pada persamaan (3.4) dipilih sebagai kandidat pertama point center awal (π1). Selanjutnya hitung jarak Euclidean:
πππ(π) = ((π₯ππΌβ π₯Μ πππΌ)2+ (π₯ππΌπΌ+ π₯Μ πππΌπΌ)2)
1
2 π = 1,2, β¦ , π (3.6) Data point dengan jarak tertinggi di persamaan (3.6) dipilih sebagai kandidat point center kedua (π2). Dimana ππ diperoleh berdasarkan titik point center, lakukan sampai nilai persamaan (6) sama dengan jarak ππ sebelumnya untuk mendapatkan nilai π yang diperoleh dari cluster akhir π(πβ1) . Kemudian angggota cluster masing-masing point ditentukan menurut kandidat point center dan variable π dan π.
3.5 Eksperimen dan Pengujian Metode
Pada penelitian ini diusulkan metode untuk menentukan nilai centroid awal dengan menggunakan algoritma yang dinamakan point center sebagai penentu nilai centroid awal pada klasterisasi k-means. Alur metode yang diusulkan dapat dilihat pada gambar 3.2. Langkah-langkah metode yang diusulkan untuk menentukan nilai centroid awal dengan menggunkaan algoritma point center adalah sebagai berikut:
1. Siapkan dataset yang akan digunakan
2. Lakukan pengolahan data awal dengan pengecekan missing data dengan replace missing value untuk menghilangkan missing data menggunakan aplikasi RapidMiner 7.3 Library
3. Simpan data baru yang sudah di replace missing value ke dalam format excel
4. Lakukan perhitungan algoritma point center untuk mendapatkan nilai π dan nilai point center sebagai nilai centroid awal.
5. Menghitung nilai cluster dengan algoritma k-means menerapkan nilai centroid awal yang di dapat pada perhitungan algoritma point center dan nilai π yang didapat menggunakan tools R.
6. Hitung tingkat error dan Rand index yang didapat dari perhitungan k-means
Penentuan Centroid Awal Nilai rata-rata tiap atribut
Nilai standar deviasi tiap atribut
Tetapkan Titik center data
Jarak Euclidean tiap data dengan titik awal
Tentukan variabel π dan π atribut
Hitung jarak tiap data dengan titik centroid
3.6 Evaluasi Validasi Hasil
Pada tahap ini menguji antara cluster yang didapat menggunakan algoritma yang diusulkan dengan cluster yang tersedia. Pengelompokan data yang didapat menggunakan algoritma clustering merupakan nilai predicted label dan label dari dataset merupakan nilai actual label. Selanjutnya membandingkan dan mengelompokkan diantara keduanya. Meskipun algoritma k-means tergolong algoritma unsupervised learning yaitu algoritma tanpa label, sebagai pembanding dan untuk mengukur performa algoritma pengujian ini dibutuhkan label. Dari jumlah nilai banding kedua cluster maka dapat disajikan menggunkan tabel confusion matrix:
Tabel 3.4. Confusion Matrix Aktual
Dari Tabel 3.4 dapat menghitung nilai error dan rand index (akurasi).
πΈππππ = π΅+πΆ
π΄+π΅+πΆ+π· (3.7) π πππ πΌππππ₯ = π΄+π·
π΄+π΅+πΆ+π· (3.8) Selanjutnya hasil yang didapatkan dibandingkan dengan perhitungan algoritma simple k-means dengan teknik evaluasi yang sama.
HASIL DAN PEMBAHASAN
4.1 Hasil
Pada penelitian ini dilakukan eksperimen dengan menggunakan komputer untuk melakukan proses perhitungan terhadap metode yang diusulkan. Spesifikasi perangkat keras dan sistem operasi yang digunakan pada penelitian ini adalah menggunakan sebuah laptop DELL dengan prosessor Intel(R) Core(TM) i5-3340M CPU @ 2.70GHz, memori (RAM) 4,00 GB, dan menggunakan sistem operasi Windows 10 Pro 64-bit. Sedangkan tools yang digunakan pada penelitian ini antara lain: Microsoft Excel, RapidMiner, dan Rstudio.
Hasil penelitian ini berupa perhitungan pengembangan model dan hasil pengukuran kinerja model. Untuk menerapkan algoritma yang diusulkan dengan klasterisasi k-means dibutuhkan sejumlah dataset sebagai alat uji. Dataset yang diterapkan untuk metode yang diusulkan diantaranya: Iris dan dataset NASA MDP (CM1, KC1, KC3, MC2, MW1, PC1, PC2, PC3, PC4). Dataset iris digunakan karena dataset ini mempunyai jumlah label yang multi cluster sebagai alat uji terhadap algoritma yang diusulkan untuk menentukan jumlah π (cluster). Dataset NASA MDP digunakan untuk menguji terhadap algoritma yang diusulkan dan dengan jumlah actual label sebanyak 2 cluster (Y dan N), selain itu proses klusterisasi ini untuk menangkap kesalahan cluster pada software.
1. Dataset iris
Dalam penelitian ini selain menggunakan dataset NASA MDP juga menggunakan dataset iris karena dataset iris sering digunakan sebagai standar uji algoritma clustering. Penelitian ini menggunakan dataset iris karena dataset ini mempunyai jumlah label yang multi cluster sebagai alat uji terhadap algoritma yang diusulkan untuk menentukan jumlah π (cluster). Dataset ini menggunakan 3 class (setosa, versicolor, virginica) dan 150 sample data. Setiap sample mempunyai 4 atribut yaitu: sepal length, sepal width, petal length, petal width. Perhitungan algoritma yang diusulkan diawali dengan menghitung nilai rata-rata dan nilai
Tabel 4.1. Descriptive statics dataset iris
Statistics Sepal length Sepal width Petal length Petal width
π₯Μ π 5,8433 3,0540 3,7587 1,1987
π (π₯π) 0,8281 0,4336 1,7644 0,7632
Setelah mendapatkan nilai rata-rata dan standar deviasi selanjutnya tetapkan titik center data. Titik center data ditentukan sebagai π = [5.8433 , 3.0540] didapatkan dari atribut sepal length dan sepal width disajikan dalam Gambar 4.1 kemudian menghitung kandidat point center pertama (π1) yang didapat dari maksimal jarak euclidean.
Gambar 4.1. Titik center data iris
Selanjutnya menentukan variabel X dan Y yaitu π = [1.1987 , 3.7587] untuk titik center yang didapatkan dari atribut petal width (π₯πΌ) dan petal length (π₯πΌπΌ). Untuk penentuan kandidat point center kedua (π2) dan kandidat point center selanjutnya (ππ) dengan menggunakan rumus euclidean. Nilai untuk distance didapatkan π1= 2.1878 , π2 = 5.6921, π3= 6.2626, karena nilai distance keempat sama dengan sebelumnya yaitu distance ketiga maka jumlah cluster pada dataset ini sebanyak 3 cluster (π). Kemudian didapatlah titik point center dari keanggotaan cluster yaitu
ππ
ππ π
selanjutnya menghitung clustering data dengan algoritma k-means di dalam tools R dengan memasukkan nilai point center terlebih dahulu kemudian didapatlah cluster berdasarkan nilai π. Dan perbaruan nilai centroid adalah:
π1 = [1.36 4.3]
π2 = [0.244 1.464]
π3 = [2.05 5.63]
Gambar 4.2. Cluster dataset iris dengan algoritma point center k-means Dari gambar 4.2 disajikan pembagian cluster berdasarkan algoritma yang diusulkan, dari pengelompokan tersebut jumlah π1 sebanyak 54 data, π2 sebanyak 50 data, dan π3 sebanyak 46 data. Perbandingan antara label cluster yang didapat dengan label class yang sebenarnya dapat disajikan dalam bentuk tabel 4.2 confusion matrix berikut ini:
ππ°π°
ππ° π1
π2
π3
Tabel 4.2. Confusion matrix proposed method dataset iris Aktual
Setosa Versicolor Virginica Predicted
Dan jika dibandingkan dengan simple k-means yang menetapkan centroid awal secara random maka hasil tabel confusion matrix yang didapat adalah sebagai berikut:
Tabel 4.3. Confusion matrix k-means dataset iris Aktual
Setosa Versicolor Virginica Predicted
Dataset PC1 merupakan data sistem perangkat lunak penerbangan satelit yang mengorbit bumi, memiliki jumlah atribut sebanyak 36, jumlah sample data sebanyak 759. Tabel 4.4 menyajikan nilai rata-rata dan standar deviasi:
Tabel 4.4. Descriptive statics dataset PC1
Atribut Dataset NASA MDP PC1
π₯Μ π π (π₯π)
LOC counts
LOC_total 30,33 40,15
LOC_blank 8,59 14,27
LOC_code_and_comment 1,29 3,97
Atribut π₯Μ π π (π₯π)
LOC_executable 29,04 38,18
Number_of_lines 46,33 59,68
Halstead Content 37,09 30,70
Difficulty 20,09 17,59
Effort 41103,33 205045,10
Error_est 0,31 0,58
Length 154,18 222,94
Level 0,079 0,059
Prog_time 2283,52 11391,39
Volume 938,25 1738,06
Num_operands 66,93 96,83
Num_operators 87,25 126,88
Num_unique_operands 26,61 32,78
Num_unique_operators 16,34 7,88
McCabe Cyclomatic_complexity 7,49 10,21
Cyclomatic_density 0,29 0,16
Design_complexity 4,30 7,50
Design_density 0,63 0,29
Essential_complexity 3,58 5,57
Misc. Branch_count 13,40 18,78
Call_pairs 3,16 3,57
Condition_count 21,26 31,79
Decision_count 9,89 15,09
Decision_density 2,17 0,38
Edge_count 29,45 42,54
Essential_density 0,29 0,38
Parameter_count 0,88 1,15
Maintance_severity 0,50 0,28
Modified_condition_count 5,69 8,41
Modified_condition_count 5,69 8,41