Berdasarkan latar belakang masalah yang diuraikan di atas, masalah penelitian (Research Problem) yang diangkat pada penelitian ini adalah:
Algoritma K-means sangat sensitive terhadap titik awal (centroid) yang dipilih secara random sehingga tidak dapat menghasilkan hasil optimal.
1.3 Rumusan dan Batasan Masalah
Berdasarkan latar belakang masalah dan identifikasi masalah, maka pada penelitian ini dibuat rumusan masalah (Research Question) bahwa seberapa meningkat performa algoritma k-means jika pemilihan centroid awal dipilih menggunakan algoritma yang dinamakan point center diintegrasikan untuk meng-cluster modul perangkat lunak. Batasan masalah pada penelitian ini adalah menerapkan algoritma yang dinamakan point center sebagai penentu nilai centroid untuk clustering k-means dan diintegrasikan pada dataset prediksi cacat software sehingga dapat memprediksi kesalahan modul software.
1.4 Tujuan Penelitian
Tujuan dari penelitian (Research Objective) ini adalah untuk meningkatkan kinerja algoritma k-means dengan menerapkan algoritma yang dinamakan point center dan menerapkan pada prediksi cacat software, sehingga dapat memprediksi kesalahan pada modul software dengan tepat.
1.5 Manfaat Penelitian
Hasil penelitian ini diharapkan dapat digunakan untuk mengembangkan prediksi cacat software agar lebih tepat memprediksi kesalahan pada modul software. Selain itu dapat memberikan kontribusi dalam pengembangan model klasterisasi untuk menangani data seperti data prediksi cacat software.
1.6 Hipotesis
Berdasarkan masalah di atas maka hipotesis dapat disajikan dengan RP (Research Problem), RQ (Research Questions), dan RO (Research Object).
Hubungan antara ketiganya dapat dilihat pada table berikut:
Research Problem (RP) Research Question (RQ) Research Objective (RO) center pada prediksi cacat software, sehingga dapat memprediksi kesalahan pada modul software dengan tepat.
1.7 Sistematika Penulisan
Pada penelitian ini akan dibagi menjadi lima bab dan disetiap bab akan dibagi lagi menjadi beberapa subbab sesuai topik yang dibahas. Sistematika pada penulisan ini adalah:
BAB I PENDAHULUAN
Pada bab ini akan dibahas mengenai latar belakang masalah, identifikasi masalah, rumusan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan.
BAB II LANDASAN TEORI
Pada bab ini akan dibahas mengenai tinjauan studi yang berisi metode untuk menyelesaikan data dengan penentuan centroid awal pada k-means yang sudah pernah digunakan dan diusulkan, selain itu pada bab ini juga akan dibahas mengenai tinjauan pustaka.
BAB III METODE PENELITIAN
Pada bab ini akan dibahas mengenai hasil dari penelitian dan pembahasannya. Hasil pada bab ini akan menunjukkan ukuran dari performa metode yang diusulkan dibandingkan dengan metode awal.
BAB IV PENUTUP
Pada bab ini akan berisi kesimpulan dari hasil penelitian dan saran untuk penelitian lebih lanjut.
LANDASAN TEORI
2.1 Tinjauan Studi
Bishnu dan Bhattacherjee meneliti masalah prediksi kesalahan pada modul perangkat lunak, dengan menerapkan algoritma K-means berbasis Quad Tree. Quad Tree diterapkan untuk menemukan pusat cluster awal yang akan dimasukkan ke algoritma K-means. Tingkat kesalahan dari prediksi kesalahan perangkat lunak algoritma Quad Tree K-means (QDK) sebanding dengan pendekatan pembelajaran NB dan DA. Hasil dari penelitian ini menunjukkan bahwa algoritma QDK bekerja sebagai algoritma inisiasi yang efektif (Bishnu & Bhattacherjee, 2012).
Ghousia Usman, Usman Ahmad, dan Muddasar Ahmad meneliti algoritma standard K-means yang sulit untuk mendapatkan nilai centroid yang memberikan kualitas cluster yang baik. Penelitian ini mengusulkan sebuah metode untuk pemilihan centroid awal yaitu dengan mengevaluasi jarak antara titik data sesuai kriteria kemudian mencoba mencari titik terdekat lalu akhirnya memilih centroid yang sebenarnya dan membuat pengelompokan lebih baik. Hasil yang didapatkan dengan algoritma clustering k-means ini memberika peningkatan akurasi dan kefektifan lebih baik daripada sebelumnya (Usman, Ahmad, & Ahmad, 2013).
M. Emre Celebi, Hassan A. Kingravi, dan Patricio A. Vela meneliti masalah algoritma k-means yang sangat sensitive terhadap penempatan cluster center awal.
Penelitian ini memaparkan metode inisiasi k-means dengan penekanan pada efisiensi komputasi kemudian membandingkan delapan metode inisiasi waktu linier yang umum digunakan dengan menggunakan berbagai kriteria performa. Dari hasil analisis menunjukkan bahwa metode inisiasi yang terkenal seperti Forgy, Macqueen, dan MaxMin performanya sering jelek dan alternatif yang jauh lebih baik daripada metode memiliki persyaratan komputasi yang berimbang (Celebi, Kingravi, & Vela, 2013).
Md Anisur Rahman, Md Zahidul Islam, dan Terry Bossomaier meneliti tentang dua teknik clustering yang disebut ModEx and Detective.
Seed-menggunakan ModEx untuk menghasilkan centroid awal yang berkualitas tinggi yang kemudian diberikan untuk K-means untuk menghasilkan cluster akhir. Benih awal berkualitas tinggi diharapkan bisa menghasilkan cluster berkualitas tinggi melalui K-Means. Performa dari Seed-Detective and ModEx dibandingkan dengan performa dari Ex-Detective, PAM, Simple K-Means (SK), Basic Farthest Point Heuristic (BFPH) and New Farthest Point Heuristic (NFPH). Penelitian ini menggunakan tiga cluster kriteria evaluasi yaitu F-measure, Entropy dan Purity dan empat dataset alam. Teknik yang diusulkan berkinerja lebih baik daripada teknik yang ada dalam kriteria evaluasi F-measure, Entropy and Purity. Hasil uji coba menunjukkan signifikansi statistik dari keunggulan Seed-Detective dan ModEx lebih dari teknik yang ada (Rahman, Islam, & Bossomaier, 2015).
Erisoglu, Calis, Sakallioglu meneliti masalah algoritma k-means yang sensitif terhadap nilai titik awal sebagai cluster center yang dipilih secara random kemudian mengusulkan sebuah algoritma untuk menghitung pusat klaster awal dalam algoritma k-means. Hasil eksperimen menunjukkan peningkatan dibandingkan dengan pemilihan pusat cluster awal yang random (Erisoglu et al., 2011).
Berdasarkan penelitian diatas, penelitian ini untuk mengatasi nilai centroid awal yang random pada klusterisasi k-means dan berfokus pada masalah yang terjadi pada kegagalan perangkat lunak untuk kesalahan cluster modul perangkat lunak. Dalam penelitian ini algoritma k-means den algoritma point center akan diterapkan untuk memprediksi kesalahan pada modul program.
Judul dan Penulis Masalah Kontribusi Dataset Pengukuran An Improved Overlapping
k-Means Clustering Method for Medical Application
(Khanmohammadi, Adibeig, &
Shanehbandy, 2017)
Algoritma overlapping k-means bergantung pada nilai pusat awal cluster centroid yang
- Breast Cancer, Wisconsin (Original),
- Indian Liver, Patients, - Heart Disease (Original), - Heart Disease (Statlog), - Hepatitis,
- Parkinsons, - Breast Cancer,
- Wisconsin (Diagnostic) - Dermatology,
- Lung Cancer,
- Homogeneity - Completeness - Rag Bag
- Cluster size-quantity trade off
Evolutionary k-means for distributed data sets (Naldi &
Campello, 2014) keterbatasan dan pada saat yang sama untuk
menangani data terdistribusi. Dua
pendekatan distribusi yang berbeda diadopsi:
1. Memperoleh model akhir identik dengan versi
Judul dan Penulis Masalah Kontribusi Dataset Pengukuran
A new algorithm for initial cluster centers in k-means algorithm (Erisoglu et al., 2011)
Algoritma k-means pada memilih dua variabel p yang paling
menggambarkan perubahan dalam dataset sesuai dengan dua sumbu. Proses ini diulang sampai jumlah pusat klaster awal sama dengan jumlah yang telah ditetapkan cluster.
Kemudian, anggota cluster masing-masing poin yang ditentukan sesuai dengan pusat cluster awal calon dan memilih dua sumbu.
Untuk variabel p, pusat esensial klaster inisiasi dibuat menggunakan keanggotaan klaster ditentukan.
Iris, wine, recognition, letter, image recognition, Ruspini, Spam- base
A novel approach for initializing the spherical K-means clustering algorithm (Duwairi & Abu-Rahmeh, 2015)
Penentuan bobot awal yang secara acak dan semaunya beberapa nilai k (jumlah cluster)
Datasets:
21.826 dokumen,
20 news group collection terdiri dari 20.000 dokumen
mengukur intra klaster kesamaan, klaster kekompakan dan waktu untuk berkumpul
Improved k-means clustering algorithm by getting initial centroids (Usman et al., 2013)
algoritma K-means titik data sesuai dengan kriteria; kemudian mencoba untuk mencari tahu titik data terdekat yang mirip;
akhirnya pilih centroid aktual dan merumuskan cluster yang lebih baik.
Artificial datasets akurasi dan efektivitas
A hybrid clustering technique combining a novel genetic algorithm with k-means (Rahman
& Islam, 2014)
20 datasets, PID datasets, and WQ datasets
Xie- Beni Index, SSE, our novel cluster evaluation criteria (COSEC), F-Measure, Entropy, and Purity
Judul dan Penulis Masalah Kontribusi Dataset Pengukuran kualitas hasil
pengelompokan yang jelek karena buruknya kualitas bobot awal
tepat dari cluster dan mengidentifikasi gen yang tepat melalui pendekatan pilihan populasi awal baru Software Fault Prediction Using
Quad Tree-Based K-Means Clustering Algorithm
(Bishnu & Bhattacherjee, 2012)
Algoritma k-means memiliki kekurangan yaitu:
1. Jumlah cluster sulit untuk diidentifikasi 2. Sulitnya memilih
pusat cluster awal
3. Algoritma k-means sensitif terhadap Algorithm by Getting Initial Cenroids (Usman et al., 2013)
Algoritma k-means jarak antara titik data sesuai kriteria kemudian mencoba mencari titik terdekat lalu akhirnya memilih centroid yang sebenarnya dan
Data matrix - akurasi
membuat pengelompokan lebih baik.
ModEx and Seed-Detective: Two novel techniques
for high quality clustering by using good initial
seeds in K-Means (Rahman et al., 2015)
A comparative study of efficient initialization methods for the k-means clustering algorithm waktu linier yang umum digunakan dengan menggunakan berbagai kriteria performa.
- Breast cancer wisconsin (original
- Cloud cover
- Concrete compressive strength
- Corel image features - Covertype
- Ecoli
- Steel plates faults - Glass identification - Heart disease - Ionosphere - ISOLET
- Landsat satellite (Statlog)
- SSE
- RAND INDEX - Number iteration - CPU time
Judul dan Penulis Masalah Kontribusi Dataset Pengukuran - Letter recognition
- MAGIC gamma telescope
- Multiple features (Fourier)
- MiniBooNE particle identification - Musk (Clean2) - Optical digits
- Page blocks classification - Parkinsons
- Pen digits - Person activity - Pima Indians diabetes - Image segmentation - Shuttle (Statlog) - SPECTF heart - Telugu vowels (Pal &
Majumder, 1977) - Vehicle silhouettes
(Statlog)
- Wall-following robot navigation
- Wine quality
- World TSP (Cook, 2011) - Yeast
An efficient k-means clustering filtering algorithm using density based initial cluster center (Kumar
& Reddy, 2017) seleksi benih awal yang efisien RDBI untuk dan distance pusat cluster.
- Image segmentation - Pen digits
- Letter recognition - Shuttle
Algorithm for Cancer Subtype Prediction from Gene
Expression Data (Nidheesh et al., 2017) memilih titik data dalam daerah padat dan - UCI machine learning
repository
- Rand Index
2.2 Tinjauan Pustaka
Sebelum melakukan penelitian lebih lanjut, diperlukan kajian yang berisi teori-teori terhadap penelitian untuk mengetahui lebih lanjut mengenai metode dan objek penelitian yang dilakukan dalam penelitian ini.
2.2.1 Software Defect Prediction
Software defect prediction adalah teknologi yang sangat penting digunakan untuk memprediksi kerusakan pada modul perangkat lunak dan untuk meningkatkan kualitas sistem perangkat lunak (Li, Huang, & Li, 2015).
Software defect prediction merupakan salah satu kegiatan pada tahap pengujian Software Development Life Cycle, yaitu dengan mengidentifikasi modul cacat secara ektensif dan sumber pengujian dapat digunakan secaara efisien tanpa melanggar Batasan (Arora, Tetarwal, & Saha, 2015).
Software defect adalah software yang error, gagal, atau salah yang menghasilkan hasil yang tidak diharapkan yang dilakukan pengembang software dari cacat kesalahan pada kode dan kegagalan sistem yang salah selama eksekusi.
Cacat adalah kesalahan pada kode, kegagalan adalah proses yang salah selama eksekusi, kesalahan pengembang juga dapat didefinisikan sebagai kesalahan (Wahono, 2015).
1. Topik Penelitian Software Defect Prediction
Dalam prediksi cacat software menurut (Wahono, 2015), topik penelitian yang dipilih berfokus pada:
a. Estimation: Memperkirakan jumlah cacat dalam system perangkat lunak dengan algoritma estimasi.
b. Assosiation: Menemukan asosiasi cacat menggunakan algoritma asosiasi.
c. Classification: Mengelompokkan kecacatan modul perangkat lunak biasanya menjadi dua kelas yaitu cacat dan tidak cacat dengan menggunakan algoritma klasifikasi.
d. Clustering: Mengelompokkan cacat perangkat lunak berdasarkan objek menggunakan algoritma clustering.
pada perangkat lunak.
2. Bidang Penelitian Software Defect Prediction
Ada beberapa masalah yang dihadapi dalam prediksi cacat software yang sering diajukan oleh periset (Arora et al., 2015) yaitu:
a. Hubungan antara Attributes dan Fault
Para periset tidak dapat mengidentifikasi subset atribut umum sebagai factor penting untuk modul menjadi tidak benar atau non fault dan ada juga kontroversi antara tingkat metrik yang akan diterapkan, metrik kebutuhan, metrik perancangan atau metrik code untuk tujuan analisis. Berbagai penelitian telah dilakukan namun rangkaian atribut dilakukan dalam waktu yang berbeda, beberapa penelitian mencoba mengatasi masalah tersebut namun tidak satupun mampu membangun asosiasi umum antara atribut dan fault.
b. Tidak ada Standar Pengukuran untuk Penilaian Performa
Dalam studi penelitian bidang ini banyak ketidak konsistenan dalam pelaporan performa serta tidak ada kriteria standar yang ditetapkan untuk menganalisis dan membandingkan model prediksi cacat. Dalam penelitian bidang ini disarankan untuk melaporkan recall dalam kombinasi kriteria lain namun tidak ada standar yang ditawarkan.
c. Isu dengan Cross-Software Defect Prediction
Dalam penelitian bidang ini secara umum biasanya lebih sering menggunakan data yang tersedia secara local karena sangat mirip dengan data yang diuji namun sebagian besar waktu tim manajemen resiko sebuah organisasi menghadapi masalah tidak ada informasi di situs lokal. Tidak adanya data training munkin karena berbagai alasan, seperti tidak ada proyek serupa yang sebelumnya telah dikembangkan atau teknologi saat ini telah berubah. Untuk mengatasi masalah tersebut, peneliti menemukan solusi dengan cross-software defect prediction yaitu model defect prediction dikembangkan pada satu proyek dan diperiksa pada proyek
company belum menjanjikan jika belum ada cakupan perbaikan yang besar di bidang ini.
d. Tidak ada Kerangka Umum yang Tersedia
Isu lain terkait dengan bidang yang akan dating adalah para peneliti yang berbeda telah menggunakan Teknik yang berbeda pada rangkaian data yang berbeda, akan tetapi tidak ada kerangka kerja atau prosedur yang standar dalam menerapkan proses software defect prediction pada proyek perusahaan lokal. Beberapa penelitian mengusulkan kerangka kerja yang berbeda untuk menerapkan model software defect prediction, meskipun begitu telah terbukti menguntungkan dan tidak bersifat umum.
e. Ekonomi Software Defect Prediction
Dalam ilmu software defect prediction membahas sebagian pekerjaan yang telah dilakukan dan sangat sedikit berfokus pada ekonominya. Kesalahan klasifikasi terbukti mahal dalam kasus pada komponen yang dianggap salah. Oleh karena itu, kapan dan berapa banyak utilitas yang dimilikinya sangat penting. Dalam beberapa penelitian telah mempertimbangkan aspek ekonomis dari model software defect prediction namun diperlukan eksplorasi lagi dalam bidang ini.
f. Masalah Class Imbalance
Model efisiensi kesalahan software sangat dipengaruhi distribusi data class training, jika jumlah instance yang termasuk dalam satu kelas lebih banyak daripada jumlah instance kelas lain maka masalahnya dikenal sebagai masalah ketidakseimbangan kelas. Berbagai Teknik telah diusulkan untuk mengatasi masalah ini, namun tidak ada satu Teknik pun yang mengungguli yang lain dalam suatu penelitian. Oleh karena itu, tidak bisa mengambil kesimpulan teknik yang harus diterapkan untuk mengatasi masalah ketidak seimbangan kelas.
3. Dataset Software Defect Prediction
Data prediksi kesalahan software berasal dari NASA MDP dan PROMISE repository, kumpulan dataset NASA banyak digunakan dan menawarkan keuntungan yang unik dalam hal reproduktifitas studi dan dataset NASA diambil dari proyek opensource di ranah publik (Moeyersoms, Junqué De Fortuny,
menganalisis kinerja software defect prediction sebanyak 71 studi, 64,79% dari penelitian menggunakan dataset publik yang berada di PROMISE repository dan NASA MDP dan 35,21% dari penelitian dataset pribadi dimiliki oleh perusahaan swasta dan tidak didistribusikan sebagai kumpulan data publik (Wahono, 2015).
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
memperkirakan probabilitas posterior bahwa 𝑥 adalah contoh positif yaitu