Menerka kelompok data menggunakan k-means

Kita akan dihadapkan pada kelompok data yang begitu beragam dikala bekerja menggunakan data banyak. Keberagaman atau heterogeneity itu sebenarnya diperlukan untuk melihat perilaku data, namun terkadang justru membuat kita kualahan, karena menjadikan model statistik kurang kuat atau tidak robust. Maka yang perlu dipertimbangkan adalah mencari kelompok data. Kurang lebih untuk menjawab pertanyaan ini: Apakah ada kelompok data yang cenderung homogen di antara data heterogen? Sekali lagi, cenderung homogen, dan bukan berarti harus sama persis. Ini penting untuk melihat bagaimana data berperilaku dan pada akhirnya bisa membentuk model yang baik. Data yang sangat beragam (heterogen) itu mungkin sebaiknya dipisah-pisah atau dikelompokkan sesuai dengan karakter yang menyamakannya. Dan itulah fungsi cluster analysis, menerka kelompok data homogen di antara hetergenitas data.

Data yang cenderung homogen itu akan mengelompok dan tentu akan memberikan informasi yang mungkin sedang kita cari. Kelompok A, kelompok B, dan kelompok C mungkin saja mereka memiliki karakter yang berbeda. Harus kita cari dan kemudian mungkin saja ingin mengatakan sesuatu dari kelompok itu. Dikala kelompok itu berada di bentang ruang, maka bisa juga kita sebut sebagai spatial heterogeneity. Land-use, misalnya, itu bisa juga kita anggap sebagai spatial heterogeneity yang mungkin saja bergantung pada sesuatu.

Di kala kelompok itu dibentuk oleh pelaku pasar, maka kemudian disebut sebagai segmentasi pasar atau bahasa popularnya adalah sub-market. Istilah ini mulai berkembang sekitar tahun 1990-an untuk studi property market. Kelompok pasar ini ternyata sangat ditentukan oleh kemiripan karakter data yang kemudian mungkin bisa kita pahami meraka mau bilang apa?. Data akan mengatakan informasi tertentu, lagi-lagi mungkin itu yang sedang dicari.

K-means, cara sederhana mengelompokkan data

Cara mengelompokkan data di dalam cluster analysis itu banyak sekali. Yang saya tahu untuk metode klasik itu sekitar ada lima yaitu: connectivity-based clustering, centroid-based clustering, distribution-based clustering, density-based clustering, dan grid-based clustering. Tentu akan relatif mudah dipahami dengan menerjemahkan kata depannya itu. Dimana posisi k-means? Dia menghitung kelompok data berdasarkan nilai means (default) yang menganggap bahwa nilai yang relatif mirip (equal) akan mengelompok. Itulah kenapa disebut sebagai k-means, yaitu nilai means (rata-rata) sebanyak k. Namun bisa juga kita sesuaikan berdasarkan nilai median yang kemudian sering juga disebut sebagai k-medians clustering. Sangat bergantung pada kebutuhan dan tujuan riset kita.

Setidaknya ada 3 hal penting yang bisa membuka pengetahuan kita yaitu: voronoi diagram, classification, dan variation. Mari kita bahas satu persatu. Voronio diagram, ini cukup popular di matematika dasar disebutkan sebagai partisi bidang yang berisi himpunan data tertentu. Kelompok yang mirip akan membentuk voronio diagram ini. Coba kita cek peta land-use, rumah-rumah mengelompok di ruang tertentu, begitupula industri dan sebagainya. Apakah kemudian bisa juga bahwa land-use diartikan sebagai voronio diagram di dalam perspektif matematika? Kita lanjutkan ke classifiation, ada pembeda antara partisi yang satu dengan yang lain. Voronio diagram belum tentu membentuk klasifikasi. Misalnya saja orang permukiman mewah dan permukiman sederhana, itu sama-sama kelompok bangunan rumah bukan? Sangat berbeda dikala ada kelompok rumah dan kelompok industri. Itu yang kemudian disebut sebagai classification. Sebarannya bagaimana? Apakah membentuk informasi tertentu? Sebagai contoh pedagang kaki lima selalu nempel ke lingkungan permukiman, itu yang kemudian disebut sebagai variation. Sedikit intermezo, khusus yang PKL ini, bisa juga disebut sebagai economic shadow di dalam studi perkotaan. Mereka menempel ke demand bisa permukiman atau kos-kosan. Cek saja PKL sekitar Undip Pleburan sekarang sudah mulai sepi karena pindahnya kampus ke Tembalang. Silakan saja cari literatur penunjangnya, mungkin bisa jadi tema riset s1 atau mungkin s2.

Untuk apa belajar k-means yang sangat dasar ini? Coba kita ingat beberapa metode anyar yang begitu popular. Saya ambil contoh cellular automata dan agen-based modeling yang sering digunakan untuk memodelkan perubahan land-use hingga digunakan untuk memprediksinya. Dikala kita tahu cluster masing-masing fungsi ruang itu, kemudian kita generate ke dalam fungsi statistik dasar maka kita akan lebih mudah memahami bagaimana dua metode anyar itu begitu popular saat ini. Ada konsep yang mendasarinya, dan salah satunya adalah metode clustering ini. Di dalam aplikasinya, k-means ini bersaudara dekat dengan k-nearest neighbors (baca di sini) terutama di dalam aplikasi machine learning, yang dalam definisi saya pribadi adalah: otomatisasi pengelompokan berdasarkan nilai terdekat dan kemiripan data kemudian digunakan untuk memprediksi. Pengelompokan kemiripan data berdasarkan k-means, nilai terdekat menggunakan k-nn, sedangkan untuk prediksinya menggunakan regresi. Tiga itu saja sudah cukup untuk custom kode machine learning. Sekali lagi itu adalah definisi yang saya buat sendiri berdasarkan riset berjalan. Otomatisasi pengelompokan data berdasarkan kemiripannya kemudian digunakan untuk melakukan prediksi. Hanya itu, sederhana saja.