Clustering Menggunakan Algoritme K-Means pada Aplikasi Orange Data Mining
K-Means adalah salah satu algoritme clustering pada tugas data mining yang digunakan untuk memartisi sekumpulan data ke dalam kelompok tertentu. Clustering merupakan jenis pembelajaran mesin yang tidak diawasi (unsupervised learning) sehingga akan bekerja untuk mengelompokkan sekumpulan data atau objek ke dalam beberapa kelompok sesuai dengan karakteristik yang dimiliki oleh data tersebut (Fammaldo & Hakim, 2019).
Cara kerja algoritme k-means adalah dengan menentukan jumlah cluster yang diinginkan terlebih dahulu, kemudian menentukan titik pusat dari setiap cluster (biasanya dengan menggunakan teknik random atau mengambil titik data secara acak), dan kemudian mengelompokkan data ke dalam cluster berdasarkan jarak terdekat dari titik pusat cluster tersebut. Setelah semua data terkelompok, algoritme akan meng-update titik pusat dari setiap cluster dengan menghitung rata-rata dari semua titik data yang ada di dalam cluster tersebut, dan kemudian mengulangi proses pengelompokan data hingga titik pusat cluster tidak lagi berubah atau hingga jumlah iterasi yang ditentukan telah tercapai (Bahauddin et al., 2021).
Pada kasus ini, kita akan menggunakan dataset produksi cabai rawit di Indonesia yang terdiri dari 34 provinsi untuk melakukan clustering menggunakan algoritme K-Means. Dataset tersebut terdiri dari enam fitur, yaitu satu fitur provinsi dan lima fitur lainnya merupakan fitur tahun produksi. Untuk mendapatkan dataset yang digunakan, silakan unduh di sini. Berikut ini tampilan dari dataset yang akan digunakan:
Kita akan mencoba mengimplementasikan algoritme tersebut ke dalam software Orange Data Mining. Kita asumsikan software Orange sudah diinstal dan dibuka. Jika kamu belum mengenal dan memasang aplikasi tersebut, artikel ini dapat digunakan sebagai referensi.
Setelah software sudah berhasil dibuka, impor dataset cabairawit.xlsx ke dalam software tersebut, sehingga tampilannya menjadi seperti di bawah ini:
Selanjutnya, klik dua kali widget File untuk mengetahui informasi dari dataset tersebut seperti jumlah baris, jumlah missing value, atribut yang terdapat di dalam dataset, dan lain sebagainya seperti gambar berikut:
Keterangan:
- 34 instance: dataset ini memiliki record atau tupel sebanyak 34 baris.
- 5 features (no missing values): dataset yang digunakan memiliki 5 fitur dan diidentifikasi oleh orange tidak memiliki missing value.
- Data has no target variable: menurut Orange, dataset yang kita gunakan tidak memiliki variabel target.
- 1 meta-attribute(s): menurut orange, fitur Provinsi tidak akan digunakan dalam proses pembuatan model kmeans sehingga kita perlu merngubah Role yang sebelumnya Meta menjadi Feature.
Berikutnya, sambungkan antara widget File dengan widget Data Table untuk melihat seluruh isi dataset dalam bentuk tabulasi. Tampilannya seperti ini:
Untuk mengetahui rincian dataset, klik dua kali pada widget Data Table kemudian akan muncul tampilan seperti ini:
Keterangan:
- Info: Penjelasannya sudah diuraikan di bagian sebelumnya.
- Show Variable Labels (if present): menampilkan variabel atau atribut label/target jika ada.
- Visualize numeric values: menampilkan nilai numerik pada setiap atribut yang bertipe data numerik.
- Color by instance classes: menandai warna berdasarkan kelas atribut targetnya.
- Select full rows: memilih baris yang dapat dikirim ke widget lain.
- Restore Original Order: Mengembalikan urutan seperti semula.
Untuk melanjutkan proses pembuatan model menggunakan software Orange Data Mining dengan algoritma KMeans, kita perlu menghubungkan widget File dengan widget Preprocess. Widget File berfungsi untuk membaca data yang akan digunakan dalam proses clustering, sedangkan widget Preprocess berfungsi untuk melakukan preprocessing terhadap data sebelum dilakukan proses clustering. Hasilnya seperti berikut:
Setelah widget Preprocess tersambung dengan widget File, kita dapat melakukan preprocessing terhadap data yang telah terbaca oleh widget File dengan mengklik dua kali widget Preprocess. Akan muncul jendela baru yang menampilkan sejumlah tab yang digunakan untuk melakukan tahap-tahap preprocessing terhadap data.
Keterangan:
- Penjelasan terakit berbagai fungsi yang terdapat pada tampilan widget di atas sudah dijelaskan pada bab sebelumnya[1]. Silakan dipahami kembali dengan baik.
- Pada kasus ini, kita hanya akan melakukan preprocessing dengan mengubah nilai-nilai pada dataset menjadi rentang nilai 0 hingga 1.
- Untuk melihat hasil data yang telah dinormalisasi, sambungkan antara widget Preprocess dengan widget Data Table seperti berikut:
Klik dua kali widget Data Table (1) untuk menampilkan dataset yang sudah berhasil dinormalisasi dalam bentuk tabular. Gambar di bawah ini adalah contoh tampilan dataset yang berhasil dinormalisasi:
Setelah tahap preprocessing selesai, sambungkan kembali widget Preprocess dengan widget KMeans yang terdapat pada tab ‘Cluster’ untuk melakukan proses clustering menggunakan algoritma KMeans. Dengan demikian, kita sudah dapat melanjutkan proses pembuatan model dengan algoritma KMeans menggunakan software Orange Data Mining.
Klik dua kali pada widget K-Means untuk mengatur beberapa tugas yang akan diberikan terhadapt algoritme tersebut untuk melakukan clustering.
Keterangan:
- Fixed: menentukan banyaknya klaster yang akan digunakan. Dalam kasus ini, jumlah klaster yang akan digunakan sebanyak 3 klaster.
- From x to y: menentukan banyaknya klaster berdasarkan skor silhouette (membandingkan jarak rata-rata ke elemen di klaster yang sama dengan jarak rata-rata ke elemen di klaster lain).
- Normalize columns: jika menu ini dicentang, maka kolom dinormalisasi (rata-rata dipusatkan ke 0 dan standar deviasi diskalakan ke 1).
- Initialization: merupakan cara algoritme memulai pengelompokkan. Terdapat dua pilihan, pertama adalah KMenas++ yaitu menentukan nilai centroid awal secara acak, kemudian dipilih dari titik yang tersisa dengan probabilitas yang diproporsikan dengan kuadrat jarak dari pusat terdekat. Kedua adalah Random initialization yaitu cluster dipilih secara acak di awal kemudian akan diperbarui pada iterasi selanjutnya.
- Re-runs: berapa kali algoritme dijalankan dari posisi awal acak dan hasil dengan jumlah kuadrat terendah dalam cluster akan digunakan.
- Maximum iterations: jumlah maksimum iterasi selanjutnyadalam setiap algoritme yang dijalankan, nilai ini dapat diatur secara manual.
- Apply Automatically: jika menu ini dicentang pada widget Preprocess di software Orange Data Mining, maka setiap kali terjadi perubahan pada tahap-tahap preprocessing yang telah dilakukan, maka perubahan tersebut akan langsung diterapkan pada data yang telah diolah oleh widget tersebut.
Setelah proses clustering menggunakan algoritma K-Means selesai dilakukan, kita dapat melakukan visualisasi hasil cluster dengan menggunakan Scatter Plot pada software Orange Data Mining. Widget Scatter Plot merupakan widget yang digunakan untuk menampilkan hubungan antara dua variable numerik dalam bentuk diagram scatter.
Untuk menggunakan widget Scatter Plot, pertama-tama kita harus menghubungkan widget Kmeans dengan widget Scatter Plot dengan cara menyeret konektor yang terdapat pada widget Kmeans ke widget Scatter Plot. Kemudian, pilih salah satu fitur numerik yang akan ditampilkan pada sumbu x, dan fitur numerik lainnya yang akan ditampilkan pada sumbu y. Setelah itu, pilih kolom ‘cluster’ sebagai warna yang akan digunakan untuk membedakan setiap cluster yang terbentuk.
Untuk menampilkan hasil cluster dari widget K-Means ke dalam data table, kita dapat menggunakan widget Data Table pada software Orange Data Mining. Widget Data Table merupakan widget yang digunakan untuk menampilkan data dalam bentuk tabel, sehingga kita dapat melihat detail dari setiap baris data yang telah dikelompokkan ke dalam cluster yang terbentuk.
Untuk menampilkan hasilnya, klik dua kali pada widget Data Table (2) sehingga muncul tampilan seperti di bawah ini. Dengan menggunakan widget Data Table, kita dapat dengan mudah melihat detail dari setiap baris data yang telah dikelompokkan ke dalam cluster yang terbentuk, sehingga dapat membantu kita dalam menganalisa hasil clustering yang telah dilakukan.
Tidak cukup hanya sampai proses di atas, tentu kita perlu menyimpan data tersebut untuk digunakan di masa yang akan datang. Proses ini dilakukan dengan menggunakan Fungsi widget Save Data. Widget tersebut dapat berfungsi setelah kita sambungkan dengan widget Data Table (2) seperti berikut:
Setelah disambungkan, klik dua kali widget Save Data untuk menyimpan data hasil clustering yang sudah berhasil dilakukan kemudian pilih Save atau save as:
Penjelasan:
- Add type annotations to header: Menyertakan judul tiga baris orange
- Autosave when receiving new data: Jika ini dicentang, data baru akan selalu tersimpan secara otomatis. Perlu diperhatikan karena hal ini akan menimpa data yang kita miliki di komputer.
- Save: Menyimpan dengan menimpa file yang ada. Menu ini akan berfungsi jika sebelumnya kita telah melakukan penyimpanan file.
- Save as: Menyimpan untuk membuat file baru.
Pada kasus ini, kita akan memilih menu Save as, setelah itu tentukan folder yang akan digunakan untuk menyimpan file beserta nama dan ekstensinya kemudian pilih Save. Terdapat beberapa ekstensi file yang dapat kita gunakan seperti excel, csv, tab, pkl, dan lain sebagainya.
Gambar di atas merupakan perintah yang digunakan untuk menyimpan file hasil clustering menggunakan algoritme K-Means. File akan disimpan dengan nama cabairawit-cluster dan excel sebagai esktensinya.
Kesimpulan:
Dengan melakukan clustering menggunakan algoritme K-Means pada software Orange, diperoleh hasil cluster 1 terdiri dari 3 provinsi yaitu Jawa Barat, Jawa Tengah, dan Nusa Tenggara Barat. Cluster 2 terdiri dari provinsi Jawa Timur dan cluster 3 terdiri provinsi Aceh, Bali, serta 28 provinsi lainnya. Cluster 1 menunjukkan provinsi yang memproduksi cabai rawit dengan skala sedang, cluster 2 skala tinggi, dan cluster 3 dengan skala rendah.
[1] Penjelasan ini terdapat pada bab Exploratory Data.
Referensi:
Bahauddin, A., Fatmawati, A., & Sari, F. P. (2021). Analisis Clustering Provinsi di Indonesia Berdasarkan Tingkat Kemiskinan Menggunakan Algoritma K-Means. Jurnal Manajemen Informatika Dan Sistem Informasi, 4(1), 1–8.
Fammaldo, E., & Hakim, L. (2019). Penerapan Algoritma K-Means Clustering Untuk Pengelompokan Tingkat Kesejahteraan Keluarga Untuk Program Kartu Indonesia Pintar. Jurnal Ilmiah Teknologi Infomasi Terapan, 5(1), 23–31. https://doi.org/10.33197/jitter.vol5.iss1.2018.249