Mengenal K-Means
Daftar Isi
Merlindawibowo.com – K-means adalah sebuah metode iteratif, bagian dari pembelajaran unsupervised yang digunakan untuk mempartisi dataset ke dalam K subkelompok non-tumpang tindih yang ditentukan sebelumnya (cluster). Berbagai data dapat dipergunakan untuk di olah dan dicari pengetahuannya atau insight dari dalam data tersebut. Tidak terkecuali data transaksi pada dunia perbankan dapat digunakan untuk lebih memahami pelanggan, segmentasi pasar, dan pemasaran yang ditargetkan. Jumlah data transaksi ini meningkat dari tahun ke tahun dipengaruhi oleh peningkatan jumlah pengguna perbankan yang besar.
Telah diketahui bahwa beberapa penelitian telah dilakukan terkait dengan sektor perbankan ini. Beberapa penelitian tersebut, memaparkan bahwa clustering telah menjadi alat afeksi untuk analisis sektor perbankan. Clustering adalah metode yang digunakan untuk mengelompokkan observasi, titik data, atau vektor fitur yang serupa berdasarkan karakteristiknya yang serupa. Metode ini dapat menangani sejumlah dataset yang besar dengan kompleksitas rendah dan waktu komputasi rendah. Oleh karena itu, metode ini sesuai dengan data transaksi yang berskala besar.
Pengertian K-Means
K-means adalah sebuah metode iteratif, bagian dari pembelajaran unsupervised yang digunakan untuk mempartisi dataset ke dalam K subkelompok non-tumpang tindih yang ditentukan sebelumnya (cluster). Selain itu, digunakan untuk membuat titik data intra-cluster semirip mungkin sambil juga menjaga klaster sejauh mungkin. Hal ini bertujuan untuk meminimalkan indeks kinerja klaster, square error dan error criterion yang menjadi dasar dari metode ini.
Proses Kerja Metode K-means
- Menerima jumlah cluster untuk mengelompokkan data dan dataset ke cluster sebagai nilai input.
- Inisialisasi cluster K pertama (ambil contoh k pertama atau ambil sampel acak dari elemen k).
- Hitung mean aritmatika dari setiap cluster yang terbentuk dalam dataset.
- K-means menetapkan setiap record dalam dataset hanya ke satu cluster awal (setiap record ditetapkan ke yang terdekat cluster menggunakan ukuran jarak, misalnya jarak Euclidean).
- K-means menetapkan ulang setiap record dalam dataset ke cluster yang paling mirip dan menghitung ulang mean aritmatika dari semua cluster dalam dataset.
Metode K-Means menggunakan prinsip euclidean distance dikarenakan untuk menghitung jarak antara dua titik, dimana setiap titik direpresentasikan dalam multidimensi. Penggunaan prinsip euclidean distance cocok untuk data dengan jumlah variabel sedikit dan data yang relatif pendek sehingga semua kolom harus memiliki tipe data integer atau float. Beberapa atribut memiliki tipe data string, sehingga perlu diubah menjadi integer dengan tanpa menghilangkan informasi didalamnya dengan menggunakan one hot encoding.
Menurut karakteristiknya, K-Means merupakan metode pengelompokan yang sederhana dan dapat digunakan dengan mudah. Pada saat jenis set data tertentu, K-Means tidak dapat memberikan pola kelompok yang mewakili karakteristik bentuk alami data sehingga dapat mengalami masalah ketika proses clusterisasinya data dapat mengantuk outlier. Sehingga untuk mendapatkan hasil klasterisasi yang akurat, data perlu berada dalam kondisi normalnya. Salah satu cara untuk mengecek kenormalan data dapat dilihat dari persebaran datanya. Persebaran data pada data transaksi cenderung miring sehingga perlu dilakukan normalisasi terlebih dahulu. Normalisasi data dapat dilakukan dengan mendapatkan nilai log nya. Setelah didapatkan nilai log nya kemudian data transaksi yang akan dipakai sebagai data klasterisasi adalah data yang sudah diubah ke dalam bentuk log-nya.
Baca juga : Topologi Business Intelligence
Dalam klasterisasi menggunakan metode K-Means, kita harus mengetahui jumlah kelompok yang ada pada data. Jika jumlah kelompok belum diketahui, Metode Elbow bisa digunakan untuk menentukan jumlah kelompok dengan cara membandingkan kenaikan nilai K (jumlah kelompok) terhadap besaran distance atau distorsi. Nilai K (jumlah kelompok) yang dipilih adalah nilai K yang terakhir memberikan perubahan signifikan terhadap distance atau distorsi.
Nilai k di atas 4 tidak menunjukkan perbedaan yang signifikan lagi, sehingga memilih K = 4 bisa menjadi pilihan yang tepat. Untuk menentukan pembagian dataset training dan testing menggunakan parameter random_state, jika tidak menentukan random_state, maka setiap kali menjalankan code akan muncul nilai acak baru yang dihasilkan dari dataset training dan testing akan memiliki nilai yang berbeda. Namun, jika nilai ditetapkan seperti random_state=42 tidak peduli berapa kali menjalankan code, hasilnya akan sama, yaitu nilai yang sama dalam dataset training dan testing.
K-Means Hyper-parameters
Parameter | Deskripsi | Value |
n_clusters | Memberikan algoritma dengan jumlah cluster yang telah ditentukan. | K=4 |
init | Metode alternatif k-means ++ memilih pusat cluster pertama secara acak. | k-means++ |
max_iter | Jumlah maksimum iterasi untuk membantu waktu komputasi. | 500 |
random_state | Membagi dataset training dan testing dengan cara acak | 42 |
distance | Menghitung jarak antara data dan centroid. | Euclidean distance: default |
Baca juga : Mengenal Data Mining
Perbandingan Nilai K-Means Hyper-parameters
Parameter | Value | Deskripsi |
max_iter | max_iter=0 | Hasilnya akan error dikarenakan jumlah iterasi harus bilangan positif >0 |
n_clusters | n_cluster=3 | Jumlah cluster menjadi 3 |
random_state | random_state=None | Dataset yang keluar akan acak |
max_iter | max_iter=500 | Dengan nilai maksimum iterasi tersebut memiliki waktu komputasi yang tepat |
n_clusters | n_cluster=4 | Jumlah cluster menjadi 4 karena K values 4 |
random_state | random_state=42 | Dataset yang keluar nilainya tetap dan tidak |
Semoga bermanfaat!!