PENINGKATAN KINERJA K-MEANS CLUSTERING BERDASARKAN PEMBOBOTAN ATRIBUT MENGGUNAKAN METODE PRINCIPAL
COMPONENT ANALYSIS
TESIS
ALFIAN AGUSNADY 177038003
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2021
PENINGKATAN KINERJA K-MEANS CLUSTERING BERDASARKAN PEMBOBOTAN ATRIBUT MENGGUNAKAN METODE PRINCIPAL
COMPONENT ANALYSIS
TESIS
Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika
ALFIAN AGUSNADY 177038003
PROGRAM STUDI S2 TEKNIK INFORMATIKA
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA
MEDAN 2021
PENINGKATAN KINERJA K-MEANS CLUSTERING BERDASARKAN PEMBOBOTAN ATRIBUT MENGGUNAKAN METODE PRINCIPAL
COMPONENT ANALYSIS
TESIS
Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya.
Medan, 30 April 2021
Alfian Agusnady 177038003
Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan dibawah ini:
Nama : Alfian Agusnady
NIM : 177038003
Program Studi : Magister Teknik Informatika Jenis Karya Ilmiah : Tesis
Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak Bebas Royalti Non-Ekslusif (Non-Exclusive Royalty Free Right) atas tesis saya yang berjudul:
PENINGKATAN KINERJA K-MEANS CLUSTERING BERDASARKAN PEMBOBOTAN ATRIBUT MENGGUNAKAN METODE PRINCIPAL
COMPONENT ANALYSIS
Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, meformat, mengelola dalam bentuk database, merawat dan mempublikasikan tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan/atau sebagai pemilik hak cipta.
Demikian peryataan ini dibuat dengan sebenarnya.
Medan, 30 April 2021
Alfian Agusnady 177038003
PANITIA PENGUJI TESIS
Ketua : Prof. Dr. Opim Salim Sitompul Anggota : 1. Prof. Dr. Tulus
2. Dr. Poltak Sihombing, M.Kom.
3. Dr. Sutarman, M.Sc.
DATA PRIBADI
Nama Lengkap (berikut gelar) : Alfian Agusnady, S.Kom Tempat dan Tanggal Lahir : Medan, 10 Agustus 1994
Alamat Rumah : Jl. Nibung 2 No. 120, Kota Medan
Telepon/Faks/HP : 082166097553
E-mail : [email protected]
Instansi Tempat Bekerja : PT. Media Antar Nusa
Alamat Kantor : Komplek Multatuli Indah Blok D No.1, Kota Medan
DATA PENDIDIKAN
SD : Sutomo 2 Medan TAMAT : 2003 SLTP : Sutomo 2 Medan TAMAT : 2009 SLTA : Sutomo 2 Medan TAMAT : 2012
S1 : STMIK Mikroskil Medan TAMAT : 2016 S2 : Teknik Informatika USU TAMAT : 2021
Puji syukur penulis panjatkan kehadirat Tuhan YME yang telah memberikan rahmat serta segala sesuatunya dalam hidup, sehingga penulis dapat menyelesaikan penyusunan tesis ini. Tidak lupa penulis mengucapkan terima kasih sebesar – besarnya kepada :
1. Dr. Muryanto Amin S.Sos., M.Si. selaku rektor Universitas Sumatera Utara yang telah memberikan kesempatan kepada penulis untuk mengikuti dan menyelesaikan pendidikan program magister
2. Prof. Dr. Opim Salim Sitompul selaku Dekan Fasilkom-TI Universitas Sumatera Utara
3. Prof. Dr. Muhammad Zarlis selaku Ketua Program Studi Magister Teknik Informatika Universitas Sumatera Utara
4. Dr. Syahril Efendi, S.Si, M.IT selaku Sekretaris Program Studi Magister Teknik Informatika
5. Prof. Dr. Opim Salim Sitompul selaku Pembimbing Utama yang telah banyak memberikan bimbingan dan arahan serta motivasi kepada penulis 6. Prof. Dr. Tulus selaku Pembimbing Kedua yang telah banyak memberikan
bimbingan dan arahan serta motivasi kepada penulis
7. Dr. Poltak Sihombing, M.Kom. selaku Pembanding Pertama yang telah banyak memberikan kritik dan saran kepada penulis
8. Dr. Sutarman, M.Sc. selaku Pembanding Kedua yang telah banyak memberikan kritik dan saran kepada penulis
9. Seluruh Staf pengajar dan pegawai di Program Studi Magister Teknik Informatika Universitas Sumatera Utara
10. Sahabat-sahabat angkatan 2017 KOM-A yang telah memberikan semangat dan dukungan moril kepada penulis selama penyelesaian tesis ini
Penulis menyadari bahwa tesis ini masih jauh dari kesempurnaan, karena kesempurnaan hanya milik Tuhan YME. Oleh karena itu penulis menerima saran dan kritik yang bersifat membangun demi kesempurnaan tesis ini.
Sehingga dapat bermanfaat bagi kita semuanya.
Medan, 30 April 2021
Alfian Agusnady
Algoritma K-Means memiliki beberapa kelemahan, salah satunya terletak pada model jarak yang digunakan dalam penentuan kemiripan antar data yang memberikan perlakuan yang sama terhadap setiap atribut data, sehingga atribut yang kurang relevan dan memiliki sedikit kontribusi terhadap variasi data dapat memberikan dampak yang cukup berpengaruh terhadap hasil clustering. Hal ini tentu saja dapat menurunkan kinerja algoritma K-Means. Pembobotan atribut merupakan salah satu cara yang dapat digunakan untuk mendapatkan korelasi atribut data terhadap variasi data. Semakin tinggi nilai bobot dari suatu atribut maka semakin besar korelasinya terhadap variasi data, sehingga nilai bobot yang rendah dari suatu atribut tentunya memiliki sedikit kontribusi terhadap variasi data dan dapat memberikan dampak yang cukup berpengaruh terhadap kinerja dan hasil clustering. Pada penelitian ini, metode yang digunakan dalam perhitungan bobot atribut data yaitu Principal Component Analysis (PCA).
Untuk melakukan pengujian terhadap metode yang diusulkan, maka penelitian ini menggunakan dataset dari UCI Machine Learning yang terdiri dari 351 data Ionosphere, 4177 data Abalone serta 1096 data kualitas udara dari Laboratorium Udara Kota Pekanbaru dan 120 data kualitas air. Evaluasi kinerja clustering yang diusulkan berdasarkan nilai Sum of Square Error (SSE). Hasil pengujian pada penelitian ini terlihat bahwa dengan metode yang diusulkan dapat menghasilkan nilai SSE yang signifikan lebih kecil.
Kata kunci: Clustering, K-Means, Pembobotan atribut, Principal Component Analysis, Sum of Square Error
COMPONENT ANALYSIS METHOD
Abstract
The K-Means algorithm has several weaknesses, one of which lies in the distance model used in determining the similarity between data which provides the same treatment for each data attribute, so that attributes that are less relevant and have little contribution to data variation can have a significant impact on clustering results. This of course can reduce the performance of the K-Means algorithm. Attribute weighting is one way that can be used to get the correlation of data attributes to data variations. The higher the weight value of an attribute, the greater the correlation to data variation, so that the low weight value of an attribute certainly has little contribution to data variation and can have a significant impact on performance and clustering results. In this study, the method used in calculating the weight of data attributes is Principal Component Analysis (PCA). To test the proposed method, this study uses a dataset from UCI Machine Learning which consists of 351 Ionosphere data, 4177 Abalone data and 1096 air quality data from Pekanbaru City Air Laboratory and 120 water quality data. The evaluation of the proposed clustering performance is based on the Sum of Square Error (SSE) value. The test results in this study show that the proposed method can produce a significantly smaller SSE value.
Keywords: Attribute Weighting, Clustering, K-Means, Principal Component Analysis, Sum of Square Error
Hal.
PENGESAHAN ii
PERYATAAN ORISINALITAS iii
PERSETUJUAN PUBLIKASI iv
PANITIA PENGUJI v
RIWAYAT HIDUP vi
UCAPAN TERIMA KASIH vii
ABSTRAK viii
ABSTRACK ix
DAFTAR ISI x
DAFTAR GAMBAR xii
DAFTAR TABEL xiii
BAB 1 PENDAHULUAN 1
1.1 Latar Belakang 1
1.2 Rumusan Masalah 4
1.3 Batasan Masalah 4
1.4 Tujuan Penelitian 4
1.5 Manfaat Penelitian 4
BAB 2 LANDASAN TEORI 5
2.1 Pembelajaran Tidak Terarah (Unsupervised Learning) 5
2.2 Teknik Clustering 6
2.3 K-Means Clustering 8
2.4 Principal Component Analysis (PCA) 10
2.5 Attribute Weight K-Means (AW-KMeans) 13
2.6 Sum Square of Error (SSE) 14
2.7 Riset Riset Terkait 14
2.8 Perbedaan Dengan Penelitian Lain 15
BAB 3 METODOLOGI PENELITIAN 17
3.1 Rancangan Penelitian 17
3.2 Data yang Digunakan 18
3.3 Tahapan Kerja Metode 21
3.3.1 Tahapan preprocessing 21
3.3.2 Tahapan Penyelesaian PCA untuk Memperoleh Bobot 22
3.3.3 Tahapan K-Means Clustering 28
3.3.4 Pengukuran Sum of Square Error 32
3.3.5 Tahapan Analisis Kinerja Metode 33
4.1 Hasil 35 4.1.1 Hasil Persiapan Data Awal (Data Preprocessing) 35 4.1.2 Hasil Perolehan Bobot Menggunakan PCA 41 4.1.3 Hasil Clustering Model K-Means Konvensional 60
4.1.3.1 Hasil Clustering Model K-Means Konvensional
(Dataset Ionosphere) 60
4.1.3.2 Hasil Clustering Model K-Means Konvensional
(Dataset Abalone) 68
4.1.3.3 Hasil Clustering Model K-Means Konvensional
(Dataset Udara) 75
4.1.3.4 Hasil Clustering Model K-Means Konvensional
(Dataset Water) 83
4.1.4 Hasil Clustering Model Attribute Weight K-Means 91 4.1.4.1 Hasil Clustering Model Attribute Weight K-Means
(Dataset Ionosphere) 92
4.1.4.2 Hasil Clustering Model Attribute Weight K-Means
(Dataset Abalone) 97
4.1.4.3 Hasil Clustering Model Attribute Weight K-Means
(Dataset Udara) 103
4.1.4.4 Hasil Clustering Model Attribute Weight K-Means
(Dataset Water) 108
4.2 Pembahasan 114
BAB 5 KESIMPULAN DAN SARAN 125
5.1 Kesimpulan 125
5.2 Saran 125
DAFTAR PUSTAKA 127
Hal.
Gambar 2.1 Ilustrasi Clustering 5
Gambar 2.2 Unsupervised Learning Framework 6
Gambar 2.3 Teknik Clustering 7
Gambar 2.4 Prosedur PCA sebagai tahapan seleksi fitur 11
Gambar 3.1 Rancangan Umum Penelitian 17
Gambar 3.2 Tahapan Analisis Kinerja Metode Penelitian 34 Gambar 4.1 Output Data Preprocessing (Dataset Ionosphere) 35 Gambar 4.2 Output Data Preprocessing (Dataset Abalone) 36 Gambar 4.3 Output Data Preprocessing (Dataset Udara) 37 Gambar 4.4 Output Data Preprocessing (Dataset Water) 37 Gambar 4.5 Output Data Normalization (Dataset Ionosphere) 38 Gambar 4.6 Output Data Normalization (Dataset Abalone) 39 Gambar 4.7 Output Data Normalization (Dataset Udara) 39 Gambar 4.8 Output Data Normalization (Dataset Water) 40 Gambar 4.9 Output Covariance Matrix (Dataset Ionosphere) 41 Gambar 4.10 Output Covariance Matrix (Dataset Abalone) 42 Gambar 4.11 Output Covariance Matrix (Dataset Udara) 42 Gambar 4.12 Output Covariance Matrix (Dataset Water) 43 Gambar 4.13 Output Eigenvalue (Dataset Ionosphere) 44 Gambar 4.14 Output Eigenvalue (Dataset Abalone) 45 Gambar 4.15 Output Eigenvalue (Dataset Udara) 45 Gambar 4.16 Output Eigenvalue (Dataset Water) 46 Gambar 4.17 Output Proportion Cumulative (Dataset Ionosphere) 47 Gambar 4.18 Output Variance Covariance (Dataset Ionosphere) 47 Gambar 4.19 Output Proportion Cumulative (Dataset Abalone) 48 Gambar 4.20 Output Variance Covariance (Dataset Abalone) 48 Gambar 4.21 Output Proportion Cumulative (Dataset Udara) 49 Gambar 4.22 Output Variance Covariance (Dataset Udara) 49 Gambar 4.23 Output Proportion Cumulative (Dataset Water) 51 Gambar 4.24 Output Variance Covariance (Dataset Ionosphere) 51 Gambar 4.25 Output Eigenvector (Dataset Ionosphere) 52 Gambar 4.26 Output Pemilihan Nilai Bobot (Dataset Ionosphere) 54 Gambar 4.27 Output Eigenvector (Dataset Abalone) 55 Gambar 4.28 Output Pemilihan Nilai Bobot (Dataset Abalone) 56 Gambar 4.29 Output Eigenvector (Dataset Udara) 56 Gambar 4.30 Output Pemilihan Nilai Bobot (Dataset Udara) 57 Gambar 4.31 Output Eigenvector (Dataset Water) 58 Gambar 4.32 Output Pemilihan Nilai Bobot (Dataset Water) 59
Gambar 4.36 Sebaran Centroid Awal Ionosphere
(K-Means Konvensional) 64
Gambar 4.37 Centroid Akhir Ionosphere (K-Means Konvensional) 65 Gambar 4.38 Sebaran Centroid Akhir Ionosphere
(K-Means Konvensional) 66
Gambar 4.39 Hasil Clustering Ionosphere (K-Means Konvensional) 67 Gambar 4.40 Sum of Square Error K-Means Konvensional (Ionosphere) 68 Gambar 4.41 Output Normalization Min-Max (Dataset Abalone) 69 Gambar 4.42 Sebaran Dataset Abalone (Unclustered Data) 70 Gambar 4.43 Centroid Awal Abalone (K-Means Konvensional) 71 Gambar 4.44 Sebaran Centroid Awal Abalone
(K-Means Konvensional) 72
Gambar 4.45 Centroid Akhir Abalone (K-Means Konvensional) 73 Gambar 4.46 Sebaran Centroid Akhir Abalone
(K-Means Konvensional) 73
Gambar 4.47 Hasil Clustering Abalone (K-Means Konvensional) 74 Gambar 4.48 Sum of Square Error K-Means Konvensional (Abalone) 75 Gambar 4.49 Output Normalization Min-Max (Dataset Udara) 77 Gambar 4.50 Sebaran Dataset Udara (Unclustered Data) 78 Gambar 4.51 Centroid Awal Udara (K-Means Konvensional) 79 Gambar 4.52 Sebaran Centroid Awal Udara
(K-Means Konvensional) 79
Gambar 4.53 Centroid Akhir Udara (K-Means Konvensional) 80 Gambar 4.54 Sebaran Centroid Akhir Udara
(K-Means Konvensional) 81
Gambar 4.55 Hasil Clustering Udara (K-Means Konvensional) 82 Gambar 4.56 Sum of Square Error K-Means Konvensional (Udara) 83 Gambar 4.57 Output Normalization Min-Max (Dataset Water) 85 Gambar 4.58 Sebaran Dataset Water (Unclustered Data) 86 Gambar 4.59 Centroid Awal Water (K-Means Konvensional) 87 Gambar 4.60 Sebaran Centroid Awal Water
(K-Means Konvensional) 87
Gambar 4.61 Centroid Akhir Water (K-Means Konvensional) 88 Gambar 4.62 Sebaran Centroid Akhir Water
(K-Means Konvensional) 89
Gambar 4.63 Hasil Clustering Water (K-Means Konvensional) 90 Gambar 4.64 Sum of Square Error K-Means Konvensional (Water) 91 Gambar 4.65 Centroid Awal Ionosphere (Attribute Weight K-Means) 92 Gambar 4.66 Sebaran Centroid Awal Ionosphere
(Attribute Weight K-Means) 93
Gambar 4.69 Hasil Clustering Ionosphere (Attribute Weight K-Means) 96 Gambar 4.70 Sum of Square Error Attribute Weight K-Means
(Ionosphere) 97
Gambar 4.71 Centroid Awal Abalone (Attribute Weight K-Means) 98 Gambar 4.72 Sebaran Centroid Awal Abalone
(Attribute Weight K-Means) 99
Gambar 4.73 Centroid Akhir Abalone (Attribute Weight K-Means) 100 Gambar 4.74 Sebaran Centroid Akhir Ionosphere
(Attribute Weight K-Means) 100
Gambar 4.75 Hasil Clustering Abalone (Attribute Weight K-Means) 101 Gambar 4.76 Sum of Square Error Attribute Weight K-Means
(Abalone) 102
Gambar 4.77 Centroid Awal Udara (Attribute Weight K-Means) 103 Gambar 4.78 Sebaran Centroid Awal Udara
(Attribute Weight K-Means) 104
Gambar 4.79 Centroid Akhir Udara (Attribute Weight K-Means) 105 Gambar 4.80 Sebaran Centroid Akhir Udara
(Attribute Weight K-Means) 105
Gambar 4.81 Hasil Clustering Udara (Attribute Weight K-Means) 106 Gambar 4.82 Sum of Square Error Attribute Weight K-Means
(Udara) 107
Gambar 4.83 Centroid Awal Water (Attribute Weight K-Means) 108 Gambar 4.84 Sebaran Centroid Awal Water
(Attribute Weight K-Means) 109
Gambar 4.85 Centroid Akhir Water (Attribute Weight K-Means) 110 Gambar 4.86 Sebaran Centroid Akhir Water
(Attribute Weight K-Means) 111
Gambar 4.87 Hasil Clustering Water (Attribute Weight K-Means) 112 Gambar 4.88 Sum of Square Error Attribute Weight K-Means
(Water) 113
Gambar 4.89 Grafik Perbandingan Kinerja K-Means Clustering
dengan Attribute Weight K-Means (Dataset Ionosphere) 117 Gambar 4.90 Grafik Perbandingan Kinerja K-Means Clustering
dengan Attribute Weight K-Means (Dataset Abalone) 119 Gambar 4.91 Grafik Perbandingan Kinerja K-Means Clustering
dengan Attribute Weight K-Means (Dataset Udara) 121 Gambar 4.92 Grafik Perbandingan Kinerja K-Means Clustering
dengan Attribute Weight K-Means (Dataset Water) 123
Tabel 3.1 Dataset Ionosphere 19
Tabel 3.2 Dataset Abalone 19
Tabel 3.3 Dataset Water 20
Tabel 3.4 Dataset Udara 20
Tabel 3.5 Contoh Nilai 23
Tabel 3.6 Perhitungan Kovarian 23
Tabel 3.7 Matrix Kovarian 24
Tabel 3.8 Nilai Eigen 25
Tabel 3.9 Matrix Eigenvector 27
Tabel 3.10 Nilai Centroid Awal 28
Tabel 3.11 Nilai Jarak Data ke Centroid (K-Means Konvensional) 29 Tabel 3.12 Nilai Centroid Baru (K-Means Konvensional) 30 Tabel 3.13 Nilai Centroid Akhir (K-Means Konvensional) 30 Tabel 3.14 Hasil Clustering (K-Means Konvensional) 30 Tabel 3.15 Nilai Jarak Data ke Centroid (Attribute Weight K-Means) 31 Tabel 3.16 Nilai Centroid Baru (Attribute Weight K-Means) 32 Tabel 3.17 Nilai Centroid Akhir (Attribute Weight K-Means) 32 Tabel 3.18 Hasil Clustering (Attribute Weight K-Means) 32
Tabel 3.19 Nilai SSE untuk PCA + K-Means 33
Tabel 4.1 Informasi Atribut Dataset Abalone 68 Tabel 4.2 Informasi Nilai per Atribut Dataset Udara 76 Tabel 4.3 Informasi Nilai per Atribut Dataset Water 84 Tabel 4.4 Kebaikan Keanggotaan Cluster Metode K-Means
K-Means Konvensional dengan model Attribute
Weight K-Means (Dataset Ionosphere) 116 Tabel 4.5 Kebaikan Keanggotaan Cluster Metode K-Means
K-Means Konvensional dengan model Attribute
Weight K-Means (Dataset Abalone) 118 Tabel 4.6 Kebaikan Keanggotaan Cluster Metode K-Means
K-Means Konvensional dengan model Attribute
Weight K-Means (Dataset Udara) 120 Tabel 4.7 Kebaikan Keanggotaan Cluster Metode K-Means
K-Means Konvensional dengan model Attribute
Weight K-Means (Dataset Water) 122
BAB 1 PENDAHULUAN
1.1 Latar Belakang
Salah satu kegiatan yang paling umum dalam data mining adalah mengelompokkan data dari satu set data kedalam kategori atau kelompok tertentu. Dalam teknik pengelompokan, objek dikelompokkan atas dasar kemiripan data terhadap centroid cluster. Teknik pengelompokan dalam data mining disebut Clustering. Clustering merupakan teknik eksplorasi data dengan cara mengelompokkan objek-objek dengan karakteristik atau ciri yang serupa sehingga memudahkan pemrosesan pengelompokkan data mentah menjadi informasi yang lebih bermanfaat. Clustering bersifat Unsupervised Learning (Ortiz-Bejar, et al. 2019). Berbeda dengan Supervised Learning yang memiliki kelas atau actual output. Pada unsupervised learning hanya ada data masukan (input) dan parameter tanpa adanya kelas (Li, et al. 2019).
Clustering berarti menemukan kelompok (cluster) dari objek-objek, berdasarkan kesamaan (kemiripan), sehingga masing-masing kelompok memiliki kesamaan yang lebih dekat dibandingkan dengan objek dari kelompok yang lainnya (Chen, et al. 2018). Kesamaan kedua objek harus diukur untuk menentukan perbedaan dan kemiripan (Mahyuddin, et.al. 2017). Salah satu cara untuk menentukan kemiripan data adalah dengan menggunakan model pengukuran jarak. Teknik clustering umumnya terbagi atas dua pendekatan besar yaitu Hierarchical Clustering dan Non-Hierarchical Clustering. Salah satu yang termasuk kedalam pendekatan Non-Hierarchical Clustering adalah Partition Clustering. Metode Partition Clustering memiliki dua algoritma yaitu K-Medoids dan K-Means (Divya & Devi, 2018).
Algoritma K-Means mengulangi tahapan menghitung selisih jarak setiap data ke masing-masing titik pusat cluster (centroid) sampai tidak ada data yang berpindah cluster (convergence) atau sampai batas maksimal iterasi yang ditentukan (Franti & Sieranoja, 2019). Algoritma K-means berupaya meminimalkan selisih jarak (nearest distance) antar data dan memperbarui titik pusat awal cluster pada setiap iterasi (Tanir & Nuriyeva, 2017). Hal ini yang menyebabkan data yang selalu berpindah cluster sampai batas maksimal iterasi yang ditentukan (Manoharan & Ganesh, 2016).
Algoritma K-means memiliki kekurangan dalam menentukan centroid awal cluster yang masih dilakukan secara acak (random). Konfigurasi titik pusat awal cluster yang berbeda dapat menyebabkan nilai centroid akhir yang berbeda pula dan hasil clustering menjadi tidak stabil serta tidak akurat (Xiong, et al. 2016). Namun masalah lain yang menjadi kekurangan K-means terletak pada model jarak yang digunakan dalam penentuan kemiripan antar data memberikan perlakuan yang sama terhadap setiap atribut data, Sehingga atribut yang kurang relevan dan memiliki sedikit kontribusi terhadap variasi data dapat memberikan dampak yang cukup berpengaruh terhadap hasil clustering. Hal ini tentu saja dapat menurunkan kinerja algoritma K-means.
Solusi pada permasalahan diatas dapat diatasi dengan cara memberikan bobot untuk setiap atribut (Duneja & Puyalnithi, 2017). Adapun metode yang dapat digunakan diantaranya Gain Ratio (Nababan et al, 2018), Namun penggunaan Gain Ratio hanya pada data yang memiliki kategori maupun kelas tertentu. Salah satu solusi untuk mengatasi kekurangan algoritma K-Means Clustering adalah dengan menggunakan metode Principal Component Analysis (Qiao et al. 2019).
Gondeau et al. (2019) dalam penelitiannya mencoba memperbaiki kekurangan pada teknik clustering terutama dalam menangani data yang menyimpang (memiliki jarak kemiripan yang tidak wajar). Hal ini tentu dapat
menyebabkan hasil clustering menjadi tidak stabil. Oleh karena itu, diusulkan pendekatan yang disebut Object Weighting, yang bertujuan untuk menemukan outlier dengan cara menghitung bobot objek data menggunakan skema pembobotan menggunakan persamaan Silhouette, Median, Nearest Centroid dan Sum of distances. Kemudian diimplementasikan pada metode K-Means, X- Means dan Discriminant Analysis of Principal Components (DAPC). Hasil pengujian menunjukkan kinerja pendekatan tersebut layak diterapkan pada X- Means dan DAPC.
Qiao et al. (2019) dalam penelitiannya menerapkan metode PCA sebelum dilakukannya tahapan clustering. PCA digunakan untuk menyederhanakan karakteristik data yang kurang relevan terhadap variasi data.
Sehingga atribut yang memiliki sedikit korelasi terhadap variasi data dapat memberikan dampak yang cukup berpengaruh terhadap hasil clustering. Hasil yang diperoleh menunjukkan peningkatan kinerja clustering sebesar 13.33%.
Yang & Sinaga (2019) dalam penelitiannya mengusulkan pendekatan Feature-Reduction Multi-View K-Means (FRMVK) yang merupakan algoritma untuk memberikan bobot atribut menggunakan metode seleksi fitur dari variasi dataset observasi yang disebut (feature-weight entropy). Algoritma FRMVK kemudian diterapkan pada tahapan K-Means clustering yaitu pada saat proses update centroid cluster dilakukan. Hasil pengujian menunjukkan bahwa algoritma FRMVK layak digunakan untuk teknik clustering.
Oleh sebab itu, pada penelitian ini akan memanfaatkan korelasi antara setiap atribut data berdasarkan bobot atribut, dan dijadikan sebagai dasar dalam pengukuran jarak pada algoritma K-Means Clustering. Sehingga diharapkan mampu mengatasi kekurangan pada algoritma K-Means Clustering.
1.2 Rumusan Masalah
Metode K-means clustering memiliki kekurangan dalam menentukan kemiripan antar data. K-means clustering memberikan perlakuan yang sama dalam penentuan kemiripan data terhadap centroid cluster, sementara atribut yang memiliki sedikit kontribusi dan korelasi terhadap variasi data dapat memberikan dampak yang cukup berpengaruh terhadap hasil clustering.
1.3 Batasan Masalah
Berdasarkan perumusan masalah terdapat batasan masalah, yaitu:
1. Data yang digunakan yaitu ionosphere dan abalone yang diperoleh dari UCI Machine Learning Repository, serta data water quality berasal dari hasil penelitian Denades et al. (2016) dan data kualitas udara dari Laboratorium Udara Kota Pekanbaru (http://iku.menlhk.go.id).
2. Pemberian bobot terhadap atribut menggunakan metode PCA.
3. Kinerja clustering diukur berdasarkan total selisih jarak menggunakan persamaan Sum of Square-Error (SSE).
1.4. Tujuan Penelitian
Mengatasi kekurangan K-Means clustering dengan cara memberikan bobot terhadap atribut data menggunakan metode PCA, sehingga memberikan pengaruh dalam menentukan kemiripan data terhadap centroid cluster.
1.5. Manfaat Penelitian
Manfaat yang diharapkan dari hasil penelitian ini adalah sebagai berikut:
1. Dapat menjadi acuan dalam pemberian bobot terhadap atribut dengan memanfaatkan metode PCA pada algoritma K-Means Clustering.
2. Memberi kontribusi terhadap ilmu komputasi dalam bidang clustering
BAB 2
LANDASAN TEORI
2.1 Pembelajaran tidak terarah (unsupervised learning)
Jika supervised learning memiliki kelas atau kelompok (desire output), Maka unsupervised learning hanya memiliki data masukan (input) dan parameter tanpa adanya kelas atau kelompok. Contoh permasalahan unsupervised learning adalah Clustering atau mengelompokkan data, diilustrasikan pada gambar berikut, yaitu:
Gambar 2.1 Ilustrasi Clustering
Terlihat gambar 2.1, menunjukkan hasil clustering dan tampilan secara visual tentang ilustrasi clustering menggunakan satu set data observasi dengan jumlah cluster sebanyak 5 cluster. Dapat dilihat simbol segitiga terbalik berwarna hitam menunjukkan titik centroid, Sedangkan simbol lingkaran berwarna magenta adalah titik nilai Cluster 1, lingkaran violet menunjukkan titik nilai
Cluster 2, lingkaran kuning menunjukkan titik nilai Cluster 3, lingkaran berwarna biru menunjukkan titik nilai Cluster 4, lingkaran berwarna merah menunjukkan titik nilai Cluster 5.
Gambar 2.2 Unsupervised learning framework
(Sumber: https://medium.com/@chisoftware/supervised-vs-unsupervised-machine- learning-7f26118d5ee6)
Berdasarkan gambar 2.2, Terlihat skema gambar yang menjelaskan secara rinci tentang kerangka kerja dari unsupervised learning. Dimulai dengan memasukkan data mentah (raw data) yang tidak memiliki kelas atau label tertentu, kemudian raw data tersebut diimplementasikan kedalam salah satu algoritma clustering, Sehingga saat proses clustering selesai dilakukan maka menghasilkan keluaran (output) data yang telah dikelompokkan (clustered).
2.2 Teknik Clustering
Clustering merupakan teknik eksplorasi data dengan cara mengelompokkan objek-objek dengan karakteristik atau ciri yang serupa, Sehingga memudahkan pemrosesan pengelompokkan raw data menjadi informasi yang lebih bermanfaat. Dalam teknik clustering, Objek dikelompokkan atas dasar subjektif kemiripan objek. Kemiripan antar objek dalam suatu kelompok memiliki nilai
yang lebih penting daripada kemiripan antara objek dalam suatu kelompok yang berbeda.
Clustering bersifat Unsupervised Learning (Ortiz-Bejar, et al. 2019). Berbeda dengan Supervised Learning yang memiliki kelas atau kelompok (actual output), Pada pendekatan unsupervised learning hanya ada data masukan (input) dan parameter tanpa adanya kelas atau kelompok.
Gambar 2.3 Teknik Clustering
Berdasarkan gambar 2.3, merupakan salah satu contoh secara visual tentang teknik clustering menggunakan satu set data observasi dengan jumlah cluster sebanyak 5 cluster. Dapat dilihat bahwa simbol segitiga terbalik berwarna hitam menunjukkan titik centroid, Sedangkan simbol lingkaran berwarna magenta adalah titik nilai Cluster 1, lingkaran violet menunjukkan titik nilai Cluster 2, lingkaran kuning menunjukkan titik nilai Cluster 3, lingkaran berwarna biru menunjukkan titik nilai Cluster 4, lingkaran berwarna merah menunjukkan titik nilai Cluster 5.
Teknik Clustering terbagi atas empat kategori yaitu Partition Clustering Method, Hierarchical Clustering Method, Density-based Clustering Method dan Grid-based Clustering Method (Li, et al. 2019).
Namun, Pendekatan yang umumnya digunakan hanya terdiri atas dua yakni Hierarchical Clustering dan Non-Hierarchical Clustering. Salah satu yang termasuk kedalam pendekatan Non-Hierarchical Clustering adalah Partition Clustering (Chen, et al. 2018). Metode Partition Clustering memiliki dua algoritma yaitu K-Medoids dan K-Means (Divya & Devi, 2018). Algoritma K- Means termasuk kedalam metode Partition Clustering yang mampu mengelompokkan data dengan cara membagi partisi data kedalam sejumlah kategori atau kelompok tertentu.
Adapun tujuan dari teknik clustering adalah meminimalisasikan objective function dalam tahapan clustering, Umumnya berusaha meminimalisasikan variasi didalam suatu cluster dan mengoptimalkan variasi antar cluster. Manfaat teknik clustering dapat digunakan sebagai segmentasi citra dan pengenalan pola citra missal dalam image processing, computer vision dan robotika.
2.3 K-Means Clustering
Algoritma K-Means untuk pertama kali diperkenalkan oleh MacQueen pada tahun 1967 (Xiong, et al. 2016). Data yang memiliki selisih jarak terdekat dari titik centroid akan dijadikan sebagai titik centroid baru dengan cara menghitung rata-rata nilai dari data (selisih jarak terdekat) yang termasuk kedalam cluster tertentu (Gondeau, et al. 2019).
Algoritma K-Means mengulangi tahapan menghitung selisih jarak terdekat (nearest distance) setiap data ke masing-masing titik centroid baru sampai tidak ada data yang berpindah cluster (convergence) atau sampai batas maksimal iterasi yang ditentukan (Franti & Sieranoja, 2019). Algoritma K-
Means berupaya meminimalkan selisih jarak antar data dan memperbarui titik centroid cluster pada setiap iterasi (Tanir & Nuriyeva, 2017). Hal ini yang menyebabkan data berpindah cluster dan hasil clustering menjadi tidak stabil (Ortiz-Bejar, et al. 2019).
Tahapan awal dari algoritma K-Means clustering adalah menentukan sejumlah titik (k) secara acak (random) dari satu set data sebagai initial centroid cluster, Kemudian menghitung selisih jarak setiap data ke masing-masing centroid cluster. Data yang memiliki selisih jarak terdekat dari centroid cluster dijadikan sebagai centroid baru menggunakan perhitungan rata-rata selisih jarak terdekat yang termasuk kedalam cluster tertentu (Qiao, et al. 2019).
Kesamaan kedua objek harus diukur untuk menentukan perbedaan dan kemiripan (Mahyuddin, et. al. 2017), salah satu cara untuk menentukan kemiripan data adalah dengan menggunakan model pengukuran jarak (objective function).
Algoritma K-means clustering umumnya menggunakan perhitungan selisih jarak (nearest distance) antar data kedalam masing-masing centroid cluster berdasarkan persamaan Euclidean Distance (Chen, et al. 2018):
Dist (xi , xj) = [∑ ] (2.1) Persamaan diatas dapat dijelaskan bahwa Dist (xi , xj) merupakan nilai selisih jarak antara data xi dan xj, m adalah banyaknya data, k adalah urutan jumlah cluster, xik adalah nilai atribut ke-k dari data xi, xik adalah nilai atribut ke-k dari data xj.
Untuk menghitung rata-rata nilai (mean) dari data (selisih jarak terdekat) yang termasuk kedalam cluster tertentu. Maka menggunakan persamaan sebagai berikut (Ortiz-Bejar, et al. 2019):
Ck = ∑ (2.2)
Dapat dijelaskan bahwa Ck merupakan nilai centroid {c1, c2, …., ck} dari cluster ke- k, mk adalah banyaknya data yang termasuk kedalam cluster ke- k dan xi adalah nilai dari data ke- i.
2.4 Principal Component Analysis (PCA)
PCA merupakan kombinasi linear dari variabel awal yang secara geometris kombinasi linear ini merupakan sistem koordinat baru yang diperoleh dari rotasi sistem semula. Metoda PCA sangat berguna digunakan jika data yang ada memiliki jumlah variabel yang besar dan memiliki korelasi antar variabelnya.
Perhitungan dari principal component analysis didasarkan pada perhitungan nilai eigen dan vektor eigen yang menyatakan penyebaran data dari suatu dataset. Dengan menggunakan PCA, variabel yang tadinya sebanyak n variabel akan diseleksi menjadi k variabel baru yang disebut principal component, dengan jumlah k lebih sedikit dari n. Dengan hanya menggunakan k principal component akan menghasilkan nilai yang sama dengan menggunakan n variabel. Variabel hasil dari seleksi disebut principal component.
PCA digunakan untuk menjelaskan struktur matriks varians-kovarians dari suatu set variabel melalui kombinasi linier dari variabel-variabel tersebut.
Secara umum principal component (PC) dapat berguna untuk seleksi fitur dan interpretasi variabel-variabel. Skema konseptual yang diilustrasikan bagaimana PCA dapat membantu untuk menyederhanakan dimensi dari data melalui hipotesa dataset berjumlah m variabel seperti gambar berikut:
Gambar 2.4 Prosedur PCA sebagai tahapan seleksi fitur (Sumber: Kotu & Deshpande, 2015)
Berdasarkan Gambar 2.4, Principal Component Analysis sebagai metode untuk mendapatkan nilai-nilai koefisien atau bobot dari kombinasi linier variabel- variabel pembentuknya adalah sebagai berikut: (Kotu & Deshpande 2015) a. Ada sebanyak p principal component, yaitu sebanyak variabel yang diamati
dan setiap principal component adalah kombinasi linier dari variabel- variabel tersebut
b. Setiap p principal component saling ortogonal (tegak lurus) dan saling bebas.
Principal component dibentuk berdasarkan urutan varians dari yang terbesar hingga yang terkecil.
Menurut (Jolliffe, 2002), Prosedur pengerjaan Principal Component Analysis bertujuan untuk menyederhanakan dan menghilangkan faktor atau indikator yang kurang dominan dan kurang relevan tanpa mengurangi maksud dan tujuan dari data asli dari variabel acak x (matrik berukuran n x n, dimana baris-baris yang berisi observasi sebanyak n dari variabel acak x) adalah sebagai berikut:
1. Menghitung matrik varians kovarian dari data observasi.
Varians (Var(x)) dihitung untuk menemukan penyebaran data dalam set data untuk menentukan penyimpangan data dalam set data. Matrik Kovarian Cov(x,y) ialah matriks yang nilai-nilai kovariansi pada tiap cell-nya diperoleh dari sampel. Misalkan x dan y adalah variabel acak. (Jolliffe, 2002), yaitu:
Var(x) = 𝝈2 =
𝒏∑𝒏 𝒛̃ µ (2.3)
Cov (x,y) =
𝒏− ∑𝒏 µ 𝒚 µ𝒚 (2.4)
Dengan dan merupakan rata – rata (mean) sampel dari variabel x dan y, dimana dan merupakan nilai observasi ke-i dari variabel x dan y. Dari data yang nilainya digunakan, diperoleh matrik kovarian berukuran n x n.
2. Mencari eigenvalues dan eigenvector dari matrik kovarian yang telah diperoleh
Nilai eigen dan vektor eigen untuk matriks kovarians dihitung. Nilai eigen yang dikomputasi kemudian ditransformasikan (rotasi orthogonal varimax) menggunakan persamaan berikut (Jhonson & Wichern 2007) :
Det (A – λI) = 0 (2.5)
dimana:
A = matrik n x n λ = nilai eigenvalue
I = matriks identitas (matriks persegi dengan elemen diagonal utama bernilai 1 sedangkan elemen lain bernilai 0
3. Menentukan nilai proporsi Principal Component (proporsi Principal Component (%))
PC (%)= 𝑵 𝒍𝒂 𝑬 𝒈𝒆𝒏
𝑽𝒂𝒓 𝒂𝒏𝒔 𝑲𝒐𝒗𝒂𝒓 𝒂𝒏× 𝟎𝟎% (2.6)
4. Menghitung bobot factor (factor loading) berdasarkan eigenvector dengan persamaan (Jhonson & Wichern, 2007) :
Ax = λx (2.7)
Sehingga diperoleh kombinasi linear yaitu:
λ1, λ2, λ3… λn adalah eigenvalue matrik A
x1, x2, x3… xn adalah eigenvector sesuai eigenvalue-nya (λn)
Persamaan eigenvalue & eigenvector merupakan Eigen Value Decomposition (EVD), dengan persamaan sebagai berikut:
AX = XD (2.8)
A = X D X-1 dimana:
A = matrik n x n yang memiliki n eigenvalue (λn) D = eigenvalue dari eigenvector-nya
X = eigenvector dari matrik A X-1= invers dari eigenvector X
2.5 Attribute Weight K-Means (AW-KMeans)
Algoritma K-means clustering memiliki kekurangan terhadap model jarak yang digunakan dalam penentuan kemiripan antar data memberikan perlakuan yang sama terhadap setiap atribut data, Sehingga atribut yang kurang relevan dan memiliki sedikit kontribusi terhadap variasi data dapat memberikan dampak yang cukup berpengaruh terhadap hasil clustering. Hal ini tentu saja dapat menurunkan kinerja K-means konvensional.
Mengatasi kekurangan tersebut, Maka digunakan PCA sebagai parameter untuk melihat korelasi antara setiap atribut pada data, dan sebagai dasar dalam pemberian nilai bobot terhadap setiap atribut dari dataset. Semakin
tinggi nilai bobot dari suatu atribut maka semakin besar korelasinya terhadap variasi data, Sehingga nilai bobot yang rendah dari suatu atribut tentunya memiliki sedikit kontribusi terhadap variasi data.
2.6 Sum of Square Error (SSE)
Menentukan kebaikan keanggotaan cluster, Maka diperlukanlah sebuah pengukuran kinerja menggunakan persamaan Sum-of-Square-Error (SSE) sebagai berikut (Ortiz-Bejar, et al. 2019):
SSE = ∑𝑲 (2.9)
SSE merupakan nilai derajat error antara data kedalam masing-masing centroid cluster, K merupakan banyaknya jumlah cluster, Ck merupakan nilai centroid dari cluster ke- k dan xi adalah nilai dari data ke- i.
2.7 Riset-riset Terkait
Adapun berbagai penelitian terkait yang dapat digunakan diantaranya sebagai berikut:
Tabel 2.1 Riset-Riset Terkait No Nama/Tahun
Penelitian Judul Riset Metode yang
digunakan Hasil Penelitian
1. Xiong et al, (2016)
An Improved K-means Text Clustering Algorithm by Optimizing
initial Cluster Centers
Optimization Initial Centroid
Konvergensi cluster yang lebih
baik dengan cara
mengoptimalkan centroid cluster.
2. Nababan et al, (2018)
Attribute Weighting Based K-Nearest Neighbor Using Gain
Ratio
Gain Ratio & K-NN
Memberikan nilai bobot menggunakan Gain Ratio dan memperoleh nilai akurasi sebesar 90.58%.
3. Gondeau et al.
(2019)
Object weighting: a new clustering approach
Object Weighting K-Means
Menangani data yang bersifat outlier dengan cara menghitung
No Nama/Tahun
Penelitian Judul Riset Metode yang
digunakan Hasil Penelitian to deal with outliers and
cluster overlap in computational biology
bobot objek data menggunakan skema pembobotan Silhouette, Median, Nearest Centroid dan Sum of distances.
4. Qiao et al.
(2019)
The Application of Big Data Mining Prediction Based on Improved K- Means Algorithm
PCA & K-Means
Menerapkan metode PCA sebelum tahapan clustering.
PCA digunakan sebagai seleksi fitur atribut dari data.
5.
Yang &
Sinaga (2019)
A feature-reduction multi-view k-means clustering algorithm
Feature-Reduction Multi-View K- Means (FRMVK)
Algoritma FRMVK diterapkan pada tahapan K-Means, Saat proses update centroid cluster.
Hasil pengujian menunjukkan bahwa algoritma FRMVK layak digunakan untuk clustering terhadap multi-view data
2.8 Perbedaan dengan Penelitian Lain
Adapun perbedaan riset yang dilakukan adalah memberikan bobot terhadap model jarak (similiarity) K-means konvensional menggunakan Principal Component Analysis (PCA) yang nantinya bobot tersebut akan digunakan dalam penentuan kemiripan data terhadap pusat cluster, Sehingga dapat memberikan dampak yang cukup berpengaruh terhadap proses clustering terhadap atribut yang memiliki sedikit kontribusi dan korelasi terhadap variasi data observasi.
BAB 3
METODE PENELITIAN
3.1 Rancangan Penelitian
Algoritma K-means clustering umumnya menggunakan perhitungan jarak terdekat (nearest distance) antar data kedalam masing-masing centroid cluster berdasarkan persamaan jarak seperti Euclidean Distance.
Teknik clustering yang diusulkan sebagai dasar dalam pemberian nilai bobot terhadap atribut data. Semakin tinggi nilai bobot dari suatu atribut maka semakin besar korelasinya terhadap variasi data, Sehingga nilai bobot yang rendah dari suatu atribut tentunya memiliki sedikit kontribusi terhadap variasi data dan dapat memberikan dampak yang cukup berpengaruh terhadap hasil clustering. Tahapan PCA bertujuan untuk memperbaiki kekurangan K-means clustering, khususnya pada penentuan kemiripan data terhadap centroid cluster.
Untuk lebih jelas dalam mendeskripsikan tahapan dalam penelitian ini maka akan dijelaskan tahapan demi tahapan. Adapun secara garis besar dapat dilihat pada gambar 3.1 berikut:
Gambar 3.1 Rancangan Umum Penelitian
Berdasarkan rancangan umum penelitian seperti pada gambar 3.1, Terlihat bahwa dataset dilakukan proses clustering dengan metode K-Means konvensional dan dilakukan analisis hasil clustering berdasarkan total selisih jarak menggunakan persamaan Sum of Square-Error (SSE). Kemudian dataset
yang sama dilakukan perhitungan bobot terlebih dahulu dilakukan menggunakan Principal Component Analysis (PCA) sebelum melakukan algoritma K-Means clustering. Berikut adalah tahapan – tahapan penelitian dapat dijelaskan, yaitu:
i. Lakukan proses awal persiapan data
ii. Lakukan perhitungan bobot attribut menggunakan PCA
iii. Lakukan proses clustering menggunakan algoritma K-Means clustering iv. Analisis hasil clustering berdasarkan total selisih jarak menggunakan
persamaan Sum of Square-Error (SSE) (Ortiz-Bejar, et al. 2019), yaitu:
SSE = ∑
𝑲(3.1)
Dimana:
K merupakan banyaknya jumlah cluster, Ck merupakan nilai centroid dari cluster ke- k dan xi adalah nilai dari data ke- i.
3.2. Data yang Digunakan
Terdapat 4 dataset yang digunakan terdiri dari 2 dataset yang berasal dari UCI Machine Learning Repository, 1 dataset hasil penelitian Denades et al. (2016) dan 1 dataset dari Pengolahan Data Laboratorium Udara Pemerintah Pekanbaru.
Dataset yang berasal dari UCI Machine Learning Repository adalah dataset ionosphere dan abalone. Dataset ionosphere berasal Goose Bay, Labrador, dimana data tersebut merupakan sinyal radar yang diterima dan diproses menggunakan fungsi autokorelasi. Dataset abalone berasal dari Marine Research Laboratories – Taroona dimana data tersebut digunakan untuk memprediksi umur abalone dari penampakan fisik. Adapun rincian dari distribusi data ionoshpere dapat dilihat pada tabel 3.1, dan untuk melihat distribusi data abalone dapat dilihat pada tabel 3.2, yaitu:
Tabel 3.1 Dataset Ionosphere
No SR1 SR2 SR3 SR4 SR5 SR6 SR7 SR8 … Class 1 1 -0.06 0.85 0.02 0.83 -0.38 1 0.04 … 1 2 1 -0.19 0.93 -0.36 -0.11 -0.94 1 -0.05 … 1
3 1 -0.03 1 0 1 -0.12 0.89 0.01 … 1
4 1 -0.45 1 1 0.71 -1 0 0.00 … 1
5 1 -0.02 0.94 0.07 0.92 -0.23 0.77 -0.16 … 1
… … … …
351 0.8 0.1 0.7 -0.1 0.9 0.1 0.9 -0.1 … 1
Sumber : https://archive.ics.uci.edu/ml/datasets/Ionosphere
Tabel 3.2 Dataset Abalone Sex Length Diameter Height
Whole
Weight … Rings
M 0.455 0.365 0.095 0.514 … 15
M 0.35 0.265 0.09 0.2255 … 7
F 0.53 0.42 0.135 0.677 … 9
M 0.44 0.365 0.125 0.516 … 10
I 0.33 0.255 0.08 0.205 … 7
… … … …
M 0.71 0.555 0.195 1.9485 … 12
Sumber : https://archive.ics.uci.edu/ml/datasets/Abalone
Kemudian terdapat satu set data Water Quality dan satu set data Kualitas Udara. Dataset Water Quality diperoleh dari hasil penelitian Denades et al.
(2016), dimana data tersebut merupakan hasil pengumpulan data oleh Kementerian Lingkungan Hidup tentang Ketentuan Kualitas Air yang digolongkan kedalam empat kategori. Dataset ini berjumlah sebanyak 120 records dengan 8 atribut dan terdiri dari 4 kelas. Adapun rincian dataset Water Quality dapat dilihat pada tabel 3.3, yaitu:
Tabel 3.3 Dataset Water Quality
No TSS (mg/L) DO (mg/L) COD (mg/L) … Quality Status
1 2 4 8 … Good Condition
2 3 4.5 19.2 … Good Condition
3 3 4.4 16 … Good Condition
4 4 4.1 4.793 … Good Condition
5 4 4.2 8 … Good Condition
… … … …
120 97 6.3 55.4 … Heavily Polluted
Sumber : Danades et al. (2016)
Dataset Kualitas Udara diperoleh dari Pengolahan Data Laboratorium Udara Pemerintah Pekanbaru selama 3 tahun terakhir yakni Tahun 2014, 2015 dan 2016. Arsip data diperoleh dari direktorat Pengendalian Pencemaran Udara melalui link (http://iku.menlhk.go.id), Dalam hal ini arsip data kualitas udara yang diambil adalah Kota Pekanbaru yang berjumlah sebanyak 1.096 records dengan 5 atribut dan terdiri dari 6 kelas. Adapun rincian dari data Kualitas Udara dapat dilihat pada tabel 3.4, yaitu:
Tabel 3.4 Dataset Kualitas Udara Kota Pekanbaru
No PM10 SO2 CO O3 NO2 Kategori
1 47 51 8 67 2 Sedang
2 48 51 9 37 2 Sedang
3 37 51 9 26 2 Sedang
4 24 50 2 51 1 Sedang
5 25 50 3 36 1 Baik
… … … …
1096 37 11 7 23 7 Baik
Sumber : Kementerian Lingkungan Hidup dan Kehutanan, Direktorat Pengendalian dan Pencemaran Udara, Indeks Standar Pencemaran Udara (ISPU) Kota Pekanbaru (http://iku.menlhk.go.id)
3.3. Tahapan Kerja Metode
Untuk lebih rinci dan jelas dalam mendeskripsikan tahapan proses dalam usulan penelitian, Maka berikut adalah tahapan demi tahapan metode usulan, yaitu:
3.3.1 Tahapan Preprocessing
Melakukan dua langkah data preprocessing. Langkah pertama adalah data cleaning dilakukan dengan cara menghapus duplikasi record sehingga jumlah data uji dari dataset Kualitas Udara yang semula sebanyak 1.096 record menjadi 1.080 record dan jumlah data observasi pada dataset Water Quality semula sebanyak 120 record menjadi 117 record. Langkah kedua adalah data normalization dengan cara melakukan standarisasi data agar interval atau rentang data menjadi lebih proporsional menggunakan teknik normalisasi Z- Score yang digunakan sebagai tahapan awal PCA dan teknik normalisasi Min- Max yang digunakan sebagai tahapan awal K-Means clustering.
Berikut adalah teknik standarisasi data menggunakan persamaan Z-Score Normalization (Han, et.al. 2012), yaitu:
=
−𝝈 (3.2)
Dimana z: nilai standard score, x: data observasi, μ: mean per variabel dan σ:
standar deviasi per atribut. Hasil dari Z-score adalah data dengan mean = 0 dan standar deviasi = 1. Sederhananya, proses Z-score adalah: setiap data observasi dari sebuah atribut dikurangi dengan mean atribut tersebut dan dibagi dengan standar deviasinya.
Berikut adalah teknik standarisasi data menggunakan persamaan Min-Max Normalization (Han, et.al. 2012), yaitu:
=
− 𝒏𝒂 − 𝒏
× 𝟎 𝟎
(3.3)Dimana:
adalah nilai hasil normalisasi
adalah nilai yang akan dinormalisasi
adalah nilai minimum dari data per kolom adalah nilai maksimum dari data per kolom Nilai bobot minimum = 0.1
Nilai bobot maksimum = 1
Nilai 0.9 diperoleh dari 1 – 0.1 = 0.9
Untuk mengimplementasikan hasil dari tahapan preprocessing pada kedua dataset baik Water Quality maupun Kualitas Udara, maka digunakan bahasa pemrograman Python agar memudahkan proses perhitungan sebagai berikut:
import pandas as pd
dataset = pd.read_csv(r'..\Dataset\Data Udara.csv')
print('================ Dataset =============\n',dataset) mis_data=dataset.dropna(axis=0,how='any')
dup_data=mis_data.drop_duplicates() clean_data=dup_data.drop('Kategori', 1) print(clean_data)
print('#Record(Before):',len(dataset),'\n#Record(After):',len(clean_
data),'\n#Record Remove:',(len(dataset)-len(clean_data)))
3.3.2 Tahapan Penyelesaian PCA untuk memperoleh bobot
Tahapan selanjutnya adalah melakukan tahapan Principle Component Analysis (PCA). PCA digunakan untuk melihat korelasi antara setiap atribut pada data dan sebagai dasar dalam perhitungan jarak terdekat setiap data terhadap centroid cluster. Berikut adalah tahapan demi tahapan dari metode PCA, yaitu:
a. Membentuk matrik kovarian menggunakan persamaan 2.4.
Diberikan contoh nilai sebanyak 10 record dan memiliki 5 atribut. Adapun rincian data dapat dilihat pada tabel 3.5, yaitu:
Tabel 3.5 Contoh Nilai No X1 X2 X3 X4 X5
1 85 85 85 90 85 2 87 73 70 71 74 3 80 71 78 82 80 4 82 90 90 80 84 5 77 91 83 90 84 6 70 70 70 71 76 7 70 70 70 72 70 8 75 84 80 81 75 9 70 70 70 71 70 10 76 75 71 80 76
Selanjutnya untuk memperoleh nilai kovarian dari atribut X1 dan atribut X2 seperti pada tabel 3.6:
Tabel 3.6 Perhitungan Kovarian No X1 X2 X1-Xavg X2-Xavg Product
1 85 85 7.8 7.10 55.38 2 87 73 9.8 -4.9 -48.02 3 80 71 2.8 -6.9 -19.32 4 82 90 4.8 12.1 58.08 5 77 91 -0.2 13.1 -2.62 6 70 70 -7.2 -7.9 56.88 7 70 70 -7.2 -7.9 56.88 8 75 84 -2.2 6.1 -13.42 9 70 70 -7.2 -7.9 56.88 10 76 75 -1.2 -2.9 3.48
204.20 𝒐𝒗 =∑
= Lakukan hal yang sama sampai seluruh nilai kovarian dari pasangan atribut diperoleh. Selanjutnya masukkan hasil perhitungan dari setiap pasangan
atribut tersebut kedalam matrik kovarian. Adapun hasil pembentukan matrik kovarian dapat dilihat pada tabel 3.7:
Tabel 3.7 Matrik Kovarian (Atribut X1 sampai X5)
X1 X2 X3 X4 X5
X1 38.844 22.689 23.289 19.822 20.800
X2 22.689 74.767 57.967 49.311 37.378
X3 23.289 57.967 56.678 42.933 36.356
X4 19.822 49.311 42.933 55.289 34.867
X5 20.800 37.378 36.356 34.867 31.378
Agar memudahkan perolehan Covariance Matrix, maka digunakan bahasa pemrograman Python seperti berikut:
mean_vec=np.mean(data_actual, axis=0)
cov_mat=(data_actual-mean_vec).T.dot((data_actual-mean_vec))/
(data_actual.shape[0]-1)
print('==== Covariance Matrix === \n%s'%cov_mat)
b. Menghitung nilai eigen menggunakan persamaan 2.5.
Agar memudahkan perolehan nilai eigen, maka digunakan bahasa pemrograman Python seperti berikut:
cov_mat = np.cov(data_actual.T)
eig_vals, eig_vecs = np.linalg.eig(cov_mat)
eig_pairs = [(np.abs(eig_vals[i]), eig_vecs[:,i]) for i in range(len(eig_vals))];eig_pairs.sort();eig_pairs.reverse();print(
'Eigenvalues Kualitas Udara(descending order) :') for i in eig_pairs:
print(i[0])
Tabel 3.8 Nilai Eigen (Atribut X1 sampai X5) Attribut Eigen
X1 3.24
X2 7.92
X3 16.59 X4 29.05 X5 200.16
c. Menghitung nilai proporsi variasi data (Proportion Variance)
Proses selanjutnya dari tahapan PCA adalah menghitung nilai proporsi varians dataset menggunakan persamaan 2.6. Untuk memperoleh nilai proporsi, Maka terlebih dahulu menghitung nilai ragam peragam (Variance Covariance) menggunakan persamaan, yaitu:
𝒂𝒓 𝒂𝒏 𝒆 𝒐𝒗𝒂𝒓 𝒂𝒏 = 𝒐𝒗 𝒐𝒗 𝒐𝒗 𝒏 𝒏 (3.4) Nilai varians diperoleh dari diagonal matrik kovarian seperti pada tabel 3.5, Sehingga:
= = Berikutnya adalah cara menghitung nilai proporsi untuk setiap atribut dengan persamaan 2.6, yaitu:
=
× % = % =
× % = % =
× % = % =
× % = % =
× % = %
Istilah PC atau Principal Component merupakan karakteristik yang mempengaruhi variance covariance dari data. Nilai proporsi untuk atribut 1 adalah sebesar 1.26%, artinya bahwa nilai eigen atribut X1 senilai 3.24 berpengaruh sebesar 1,26% terhadap variasi data. Sehingga dapat
dinyatakan bahawa atribut X1 memiliki kontribusi terhadap variasi data sebesar 1.26%. Hal yang sama juga berlaku untuk nilai proporsi berikutnya.
Untuk melihat proporsi varians keseluruhan dari data, Maka dilakukan perhitungan secara cumulative dari masing-masing nilai proporsi per PC.
Agar memudahkan perolehan nilai cumulative dari proporsi varians, Maka digunakan bahasa pemrograman Python, yaitu:
total=sum(eig_vals)
var_exp=[(i/total)*100 for i in sorted(eig_vals, reverse=True)]
cum_var_exp=np.cumsum(var_exp)
variance=pd.DataFrame([cum_var_exp],columns=['PC1','PC2','PC3', 'PC4','PC5'])
print('==Cumulative Variance(%) ==\n',variance)
d. Membentuk matrik eigenvector menggunakan persamaan 2.5.
Untuk melihat atribut mana yang termasuk kedalam sejumlah proporsi varians dataset maka dilakukanlah proses rotasi faktor menggunakan persamaan 2.5, Sehingga terbentuk sebuah matrik yang disebut eigenvector.
Proses rotasi faktor bertujuan untuk memilih faktor yang mampu mengoptimalkan korelasi antar atribut yang sedang diobservasi. Agar memudahkan pembentukan matrik Eigenvector maka digunakan bahasa pemrograman Python, yaitu:
print('========== Matrik Eigenvectors ===========')
vector=pd.DataFrame(abs(eig_vecs),columns=['PC1','PC2','PC3','PC4 ','PC5'], index=['PM10','SO2','CO','O3','NO2'])
print(vector)
Adapun matrik eigenvector yang terbentuk, Dapat dilihat sebagai berikut:
Tabel 3.9 Matrik Eigenvector (Atribut X1 sampai X5)
PC1 PC2 PC3 PC4 PC5
X1 0.258 0.925 -0.122 -0.223 -0.114 X2 0.572 -0.322 -0.472 -0.538 0.237 X3 0.505 -0.091 -0.294 0.626 -0.509 X4 0.467 -0.120 0.792 -0.249 -0.278
X5 0.364 0.133 0.220 0.455 0.771
Memilih dan menentukan korelasi maksimum dari sejumlah PC sangatlah penting dan beberapa menggunakan cara ‘brute force’. Pendekatan yang sebaiknya digunakan yaitu: melihat urutan nilai eigen terbesar hingga nilai eigen terkecil dan bernilai >=1.
Dari tabel 3.8, Terlihat hasil perolehan nilai eigen dari data sampel.
Nilai eigen atribut X1 senilai 3.24 memiliki pengaruh sebesar 1.26%
(perhitungan persentase sudah dijelaskan pada tahap menghitung nilai proporsi varians dataset). Sehingga dapat dinyatakan bahwa nilai kontribusi atribut X1 terhadap variasi data adalah sebesar 1.26%, disebut PC1. Nilai kontribusi atribut X2 terhadap variasi data adalah sebesar 3.08%, disebut PC2. Nilai kontribusi atribut X3 terhadap variasi data adalah sebesar 6.45%, disebut PC3. Nilai kontribusi atribut X4 terhadap variasi data adalah sebesar 11.31%, disebut PC4 dan Nilai kontribusi atribut X5 terhadap variasi data adalah sebesar 77.91%, disebut PC5. Jika dilakukan penjumlahan nilai kontribusi mulai dari PC1 hingga PC5, Maka diperoleh nilai persentase kontribusi sebesar 100%. Artinya bahwa kontribusi PC 1 hingga PC 5 memiliki proporsi variasi data yang sempurna. Oleh karena itu, nilai yang akan diambil sebagai bobot adalah nilai maksium PC1 sampai dengan PC 5.
Sehingga diperoleh nilai bobot atribut X1 sebesar 0.925 (PC2), nilai bobot atribut X2 sebesar 0.572 (PC1), nilai bobot atribut X3 sebesar 0.626 (PC4), nilai bobot atribut X4 sebesar 0.792 (PC3) dan nilai bobot atribut X5 sebesar 0.771 (PC5).
Agar memudahkan proses memilih sejumlah PC yang memiliki korelasi maksimum, Maka digunakan bahasa pemrograman Python, yaitu:
pc=vector(columns=['PC1','PC2','PC3','PC4','PC5']) w=pc.assign(Nilai_Bobot=pc.values.max(1))
print('=== Nilai Bobot Berdasarkan Hasil Seleksi PCA ==\n',w) weight=w['Nilai_Bobot']
3.3.3 Tahapan K-Means Clustering
Tahapan berikutnya adalah melakukan proses awal pengujian teknik clustering menggunakan algoritma K-Means konvensional. Adapun tahapan K-Means konvensional adalah sebagai berikut:
a. Memilih centroid awal secara acak (random) sebanyak jumlah cluster (K).
Agar memudahkan pemilihan centroid awal secara acak, Maka digunakan bahasa pemrograman Python, yaitu:
m=data.shape[0]
print('\n---->>>>>>> Proses Clustering dengan jumlah K =',K,'....') Centroids=np.array([]).reshape(5,0)
for i in range(K):
rand=rd.randint(0,m-1)
Centroids=np.c_[Centroids,data[rand]]
c_init=pd.DataFrame(Centroids,index=cols) print('\n-- Centroid Awal --\n',c_init,'\n')
Berikut adalah nilai centroid awal yang dipilih secara acak dengan jumlah cluster K=2, yaitu:
Tabel 3.10 Nilai Centroid Awal
X1 X2 X3 X4 X5
C1 77 91 83 90 84
C2 70 70 70 71 70
b. Menghitung selisih jarak setiap data ke titik centroid awal menggunakan persamaan 2.1. Agar memudahkan perhitungan jarak, Maka digunakan bahasa pemrograman Python, yaitu:
num_iter=50
Output=defaultdict() Output={}
for n in range(num_iter):
EuclidianDistance=np.array([]).reshape(m,0) for k in range(K):
tempDist=np.sum((data-Centroids[:,k])**2,axis=1) EuclidianDistance=np.c_[EuclidianDistance,tempDist]
C=np.argmin(EuclidianDistance,axis=1)+1 cluster=pd.DataFrame(C)
Berikut adalah nilai jarak setiap data ke titik centroid awal berdasarkan jumlah cluster K=2, yaitu:
Tabel 3.11 Nilai Jarak Data ke Centroid (K-Means Konvensional)
Data Jarak
Cluster 1 Cluster 2
1 10 36
2 32 18
3 23 20
4 13 35
5 0 35
6 33 6
7 34 1
8 15 21
9 35 0
10 24 13
c. Menentukan centroid baru berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal. Agar memudahkan perhitungan, digunakan bahasa pemrograman Python, yaitu:
Y={}
for k in range(K):
Y[k+1]=np.array([]).reshape(5,0) for i in range(m):
Y[C[i]]=np.c_[Y[C[i]],data[i]]
for k in range(K):
Y[k+1]=Y[k+1].T for k in range(K):
Centroids[:,k]=np.mean(Y[k+1],axis=0)
c_end=pd.DataFrame(Centroids,columns=['Cluster1','Cluster 2']
Berikut adalah centroid baru yang diperoleh berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal, yaitu:
Tabel 3.12 Nilai Centroid Baru (K-Means Konvensional)
X1 X2 X3 X4 X5
C1 80 88 82 86 84
C2 70 72 74 74 74
d. Kembali ke poin b sampai tidak ada data yang berpindah cluster atau sampai batas maksimal iterasi yang ditentukan. Adapun nilai centroid akhir yang diperoleh dapat dilihat pada tabel berikut:
Tabel 3.13 Nilai Centroid Akhir (K-Means Konvensional)
X1 X2 X3 X4 X5
C1 79.75 87.50 84.50 85.25 82.00
C2 75.50 71.50 71.50 74.50 74.33
Berikut adalah hasil clustering yang telah diperoleh menggunakan metode K-Means Konvensional, yaitu:
Tabel 3.14 Hasil Clustering (K-Means Konvensional) Data Kelompok Cluster
1 Cluster 1
2 Cluster 2
3 Cluster 2
4 Cluster 1
5 Cluster 1
6 Cluster 2
7 Cluster 2
8 Cluster 1
9 Cluster 2
10 Cluster 2
Setelah tahapan clustering algoritma K-Means konvensional selesai, Maka dilanjutkan dengan pengujian clustering menggunakan metode Attribute Weight berdasarkan PCA. Tahapan yang dilalui sama dengan algoritma K-Means
konvensional yang berbeda terletak pada perhitungan jaraknya. Adapun tahapan clustering menggunakan metode Attribute Weight berdasarkan PCA adalah sebagai berikut:
a. Memilih centroid awal secara acak (random) sebanyak jumlah cluster (K).
Adapun nilai pusat cluster awal dapat diperoleh dari tabel 3.10.
b. Menghitung selisih jarak setiap data ke titik centroid awal menggunakan persamaan (Duneja & Puyalnithi, 2017), yaitu:
( ) = ‖ ‖2
= √∑
𝒑 | − | (3.5)Berikut adalah nilai jarak setiap data ke titik centroid awal menggunakan nilai bobot atribut yang diperoleh menggunakan PCA, yaitu:
Tabel 3.15 Nilai Jarak Data ke Centroid (Attribute Weight)
Data Jarak
Cluster 1 Cluster 2
1 14.01 323.04
2 345.23 18.29
3 292.29 33.85
4 24.31 510.44
5 18.03 487.85
6 440.87 8.53
7 454.49 10.26
8 33.83 193.14
9 458.65 11.17
10 244.43 17.41
c. Menentukan centroid baru berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal.
Berikut adalah centroid baru yang diperoleh berdasarkan rata-rata data yang memiliki jarak terdekat ke titik centroid awal, yaitu: