Clustering

Clustering adalah metode penganalisaan data, yang sering dimasukkan sebagai salah satu metode Data Mining, yang tujuannya adalah untuk mengelompokkan data dengan karakteristik yang sama ke suatu ‘wilayah’ yang sama dan data dengan karakteristik yang berbeda ke ‘wilayah’ yang lain.

Ada beberapa pendekatan yang digunakan dalam mengembangkan metode clustering. Dua pendekatan utama adalah clustering dengan pendekatan partisi dan clustering dengan pendekatan hirarki. Clustering dengan pendekatan partisi atau sering disebut dengan partition-based clustering mengelompokkan data dengan memilah-milah data yang dianalisa ke dalam cluster-cluster yang ada. Clustering dengan pendekatan hirarki atau sering disebut dengan hierarchical clustering mengelompokkan data dengan membuat suatu hirarki berupa dendogram dimana data yang mirip akan ditempatkan pada hirarki yang berdekatan dan yang tidak pada hirarki yang berjauhan. Di samping kedua pendekatan tersebut, ada juga clustering dengan pendekatan automatic mapping (Self-Organising Map/SOM)

Clustering Dengan Pendekatan Partisi

K-Means

Salah satu metode yang banyak digunakan dalam melakukan clustering dengan partisi ini adalah metode k-means. Secara umum metode k-means ini melakukan proses pengelompokan dengan prosedur sebagai berikut:

  • Tentukan jumlah cluster
  • Alokasikan data secara random ke cluster yang ada
  • Hitung rata-rata setiap cluster dari data yang tergabung di dalamnya
  • Alokasikan kembali semua data ke cluster terdekat
  • Ulang proses nomor 3, sampai tidak ada perubahan atau perubahan yang terjadi masih sudah di bawah treshold

Prosedur dasar ini bisa berubah mengikuti pendekatan pengalokasian data yang diterapkan, apakah crisp atau fuzzy. Setelah meneliti clustering dari sudut yang lain, saya menemukan bahwa k-means clustering mempunyai beberapa kelemahan.
Hal-hal terkait dengan metode k-means saya rangkum dalam tulisan saya yang dapat di-download di sini (k-means – penerapan, permasalahan dan metode terkait).

Penjelasan lengkap tentang k-means dapat juga dilihat pada Yudi Agusta’s K-Means Page.

Mixture Modelling (Mixture Modeling)

Mixture modelling (mixture modeling) merupakan metode pengelompokan data yang mirip dengan k-means dengan kelebihan penggunaan distribusi statistik dalam mendefinisikan setiap cluster yang ditemukan. Dibandingkan dengan k-means yang hanya menggunakan cluster center, penggunaan distribusi statistik ini mengijinkan kita untuk:

  • Memodel data yang kita miliki dengan setting karakteristik yang berbeda-beda
  • Jumlah cluster yang sesuai dengan keadaan data bisa ditemukan seiring dengan proses pemodelan karakteristik dari masing-masing cluster
  • Hasil pemodelan clustering yang dilaksanakan bisa diuji tingkat keakuratannya

Distribusi statistik yang digunakan bisa bermacam-macam mulai dari yang digunakan untuk data categorical sampai yang continuous, termasuk di antaranya distribusi binomial, multinomial, normal dan lain-lain. Beberapa distribusi yang bersifat tidak normal seperti distribusi Poisson, von-Mises, Gamma dan Student t, juga diterapkan untuk bisa mengakomodasi berbagai keadaan data yang ada di lapangan. Beberapa pendekatan multivariate juga banyak diterapkan untuk memperhitungkan tingkat keterkaitan antara variabel data yang satu dengan yang lainnya.

Klik Yudi Agusta’s Mixture Modelling Page untuk penjelasan lebih rinci.

Clustering dengan Pendekatan Hirarki

Clustering dengan pendekatan hirarki mengelompokkan data yang mirip dalam hirarki yang sama dan yang tidak mirip di hirarki yang agak jauh. Ada dua metode yang sering diterapkan yaitu agglomerative hieararchical clustering dan divisive hierarchical clustering. Agglomerative melakukan proses clustering dari N cluster menjadi satu kesatuan cluster, dimana N adalah jumlah data, sedangkan divisive melakukan proses clustering yang sebaliknya yaitu dari satu cluster menjadi N cluster.

Beberapa metode hierarchical clustering yang sering digunakan dibedakan menurut cara mereka untuk menghitung tingkat kemiripan. Ada yang menggunakan Single Linkage, Complete Linkage, Average Linkage, Average Group Linkage dan lain-lainnya. Seperti juga halnya dengan partition-based clustering, kita juga bisa memilih jenis jarak yang digunakan untuk menghitung tingkat kemiripan antar data.

Salah satu cara untuk mempermudah pengembangan dendogram untuk hierarchical clustering ini adalah dengan membuat similarity matrix yang memuat tingkat kemiripan antar data yang dikelompokkan. Tingkat kemiripan bisa dihitung dengan berbagai macam cara seperti dengan Euclidean Distance Space. Berangkat dari similarity matrix ini, kita bisa memilih lingkage jenis mana yang akan digunakan untuk mengelompokkan data yang dianalisa.

Clustering Dengan Pendekatan Automatic Mapping

Self-Organising Map (SOM)

Self-Organising Map (SOM) merupakan suatu tipe Artificial Neural Networks yang di-training secara unsupervised. SOM menghasilkan map yang terdiri dari output dalam dimensi yang rendah (2 atau 3 dimensi). Map ini berusaha mencari property dari input data. Komposisi input dan output dalam SOM mirip dengan komposisi dari proses feature scaling (multidimensional scaling).

Walaupun proses learning yang dilakukan mirip dengan Artificial Neural Networks, tetapi proses untuk meng-assign input data ke map, lebih mirip dengan K-Means dan kNN Algorithm. Adapun prosedur yang ditempuh dalam melakukan clustering dengan SOM adalah sebagai berikut:

  • Tentukan weight dari input data secara random
  • Pilih salah satu input data
  • Hitung tingkat kesamaan (dengan Eucledian) antara input data dan weight dari input data tersebut dan pilih input data yang memiliki kesamaan dengan weight yang ada (data ini disebut dengan Best Matching Unit (BMU))
  • Perbaharui weight dari input data dengan mendekatkan weight tersebut ke BMU dengan rumus:

    Wv(t+1) = Wv(t) + Theta(v, t) x Alpha(t) x (D(t) – Wv(t))

    Dimana:

    • Wv(t): Weight pada saat ke-t
    • Theta (v, t): Fungsi neighbourhood yang tergantung pada Lattice distance antara BMU dengan neuron v. Umumnya bernilai 1 untuk neuron yang cukup dekat dengan BMU, dan 0 untuk yang sebaliknya. Penggunaan fungsi Gaussian juga memungkinkan.
    • Alpha (t): Learning Coefficient yang berkurang secara monotonic
    • D(t): Input data
  • Tambah nilai t, sampai t < Lambda, dimana Lambda adalah jumlah iterasi

Variasi Metode Clustering

Hal-hal Terkait Dengan Clustering

  • Analisa Faktor
  • Singular Value Decomposition
  • Eigen Value and Eigen Vector
  • Similarity Measure
  • Feature Discretisation
  • Feature Selection
  • Feature Scaling
  • Indexing Method For Searching

Clustering Implementation

Corat-coret Saya Mengenai Clustering

K-Means – Penerapan, Permasalahan dan Metode Terkait; Akurasi Hasil Pemodelan K-Means

Links Tentang Clustering

Under Construction. Sorry!Co

197 responses

17 11 2014
ratna

Pa saya mau tanya , metode clustering bisa dipake untuk membuat cluster pada data gizi ga? dimana penghitungan status gizi yang sudah ada adalah dengan menentukan BB/U dan BB/TB

1 11 2014
detiik $ema$a

nice blog.
Sangat bermanfaat .

10 09 2014
QWeRTY

Pak saya sedang skripsi nih, namun konsep2 seperti data nasabah, data mhswa, data tiketing sudah terlalu umum..
Mau tanya nih pak, konsep2 untuk klastering yg unik apa saja ya pak? terimakasih :)

5 05 2014
Antox

Selamat Malam pak… Bisa tolong petunjuk perhitungan manual metode SOM. Mohon petunjuknya pak,.. Terima Kasih..

19 06 2014
Yudi Agusta

Mmm perhitungan akan sulit sekali dituliskan di sini, coba direfer rumus di atas untuk kasus yang sedang dianalisa. Umumnya dengan data yang dimiliki dan penerapan ke rumus yang ada di atas, akan bisa menggambarkan. Mungkin coba saja dengan data dalam jumlah sedikit dulu.

26 04 2014
yuni

terimakasih unt bagi2 ilmunya ya pak. tapi sy masih bingung. mau bertanya pak. saya mempunyai 30 karakter yang akan saya ujikan untuk 50 lebih objek. saya ingin mengetahui hubungan kekerabatan antara 50 lebih objek, maka apa yg harus sy lakukan? mohon pencerahan….trimakasih pak

19 06 2014
Yudi Agusta

Bisa saja 50 objek tersebut dibuatkan model clusteringnya. Nanti kelompok yang terbentuk, bisa dikatakan menggambarkan kedekatan dari objek-objek yang tergabung dalam masing-masing kelompok.

15 03 2014
dyah

pak saya mau nanya, saya punya data penjualan sepatu dengan variabel daerah (akan tetapi cuma 6 daerah), kode barang, jumlah terjual, invoice dan kategori. kira2 metode clustering apa ya yang cocok dengan data tersebut? kira2 data tersebut akan saya gunakan untuk TA

19 06 2014
Yudi Agusta

Data yang dijelaskan ini, bisa saja dibuatkan model clusteringnya, tapi hasilnya hanya berupa kelompok-kelompok transaksi yang mirip satu dengan yang lainnya. Bisa saja setelah dihasilkan kelompok-kelompok tersebut digunakan untuk melakukan marketing berbasis transaksi yang ada. Metode yang digunakan bisa dengan k-means, atau hierarchical clustering, atau SOM kalau mau.

Untuk clustering, yang paling banyak aplikasinya adalah dalam hal market segmentation untuk mengelompokkan customer-customer yang dimiliki oleh suatu perusahaan.

Demikian dan semoga menjawab.

12 03 2014
ounowey

pak yudi, saya ada baca jurnal penggunaan metode pengklasteran untuk menentukan bidang tugas akhir,yg dipake single linkage, centroid linkage sama k-means. disana disebutkan yg dicluster adalah nilai2 matkul dr semester awal smpe smster sblm pngambilan TA. trs cluster yg terbentuk dilabeli dengan bidang TA. saya ga paham dengan pelabelannya. mohon bantuannya.

19 06 2014
Yudi Agusta

Untuk clustering sebenarnya pelabelan tidak bisa dilakukan, karena clustering mengelompokkan data tanpa supervisi. Cluster yang terbentuk hanya berupa potret kelompok yang dihasilkan, tanpa harus mengetahui sebenarnya kelompok itu labelnya apa. Demikian dan tks

8 03 2014
surya

pak saya mahasiswa yang sedang TA, mau minta penjelasan perhitungan manual atau konsep mengenai klasifikasi menggunakan QUEST..
ada materi yang bisa dipelajari ga pak,,yang mudah dipahami…
terima kasih..

20 11 2013
Fajar Febriano

pak mau nanya,
petunjuk apa saja ya yang dipergunakan untuk memutuskan banyaknya cluster?

26 02 2014
Yudi Agusta

Untuk penentuan jumlah cluster, tergantung pada metode yang digunakan untuk melakukan proses clustering. Kalau k-means biasanya menggunakan Partition Entropy. Kalau menggunakan model clustering mixture modelling, bisa menggunakan Akaike Information Criterion, Bayesian Information Criterion, Minimum Message Length dll. Demikian juga dengan metode clustering yang lainnya.

Regards,

4 11 2013
wawan

pak yudi saya mau bertanya, jika kita mempunyai data berupa data penjualan rokok kira2 bagaimana penerapan clustering atau klasifikasi.
judul yg tepat kira-kira apa ya pak?

26 02 2014
Yudi Agusta

Mungkin bisa dijelaskan apa saja variabel yang tercakup dalam data penjualan, sehingga pertama bisa ditentukan apakah pemecahan diperoleh dengan model clustering atau model klasifikasi. Kalau sudah tahu variabelnya bisa nanti ditentukan metode apa yang paling cocok.

Regards,

16 10 2013
ervin

selamat sore, pak caranya menentukan cluster untuk algoritma SOM bagaimana ya pak?

26 02 2014
Yudi Agusta

SOM belum sempat saya membuat tulisannya. Nanti ke depan akan saya coba untuk membuat tulisannya.

Regards,

27 09 2013
nissa

selamat malam pak….
saya nissa yang sedang menulis tugas akhir yang mana penelitian saya membandingkan metode k-means dan fuzzy k-means dalam pengelompokkan desa tertinggal di kabupaten kutai kartanegara, apakah judul yang saya ambil ini sangat berisiko? dan saya ingin tanya ukuran jarak kemiripan yang cocok untuk k-means dan fuzzy k-means itu apa?

26 02 2014
Yudi Agusta

Kalau dilihat dari metode yang diperbandingkan, bisa saja dilakukan, tetapi sebenarnya secara konsep saja kedua metode ini sudah dapat dibedakan. K-means menggunakan konsep crisp, sedang fuzzy c-means menggunakan konsep fuzzy. Dilihat dari konsep yang digunakan, fuzzy c-means akan mempunyai keunggulan karena dalam setiap tahapan kita mempertimbangkan bahwa suatu keadaan tidak diputuskan dengan kondisi ya atau tidak saja (0 atau 1), tetapi juga dengan konsep antara ya atau tidak (antara 1 dan 0). Jadi secara hasil menjadi sedikit lebih halus.

Regards,

15 09 2013
Wawan Darmawan

met malem pak……
saya mau tanya menggunakan metode clustering untuk pendeteksi jenis hama tanaman padi sawah , kira2 bisa gak dan bagaimana penyelesaiannya…?
saya buat TA Aplikasi sistem pakar tapi dengan metode clustering.
Masih bingung algoritmanya seperti apa ya pak ,, mohon solusinya pak.?
Trims.

26 02 2014
Yudi Agusta

Tergantung variabel apa saja yang tersedia di dalam data tersebut. Karena ada beberapa keadaan, suatu data bisa tidak digunakan untuk proses clustering. Mungkin kalau mau konsultasi, silahkan disebutkan variabel apa saja yang tercakup di dalam data tersebut.

Regards,

24 04 2013
Julius Candra Ardiana

Pak, mau tanya penjelasan tentang automatic k untuk k-means. Mohon bantuannya.

26 02 2014
Yudi Agusta

k itu merupakan jumlah cluster. Untuk mendapatkan jumlah cluster secara otomatis, bisa menggunakan beberapa cara seperti menggunakan metode partition entropy, bootstrapped, dan lain-lain. Akan tetapi untuk model k-means, kelemahannya, sering nilai k ditentukan di awal sebelum proses clustering dimulai.

Beberapa metode clustering seperti mixture modellng, menentukan jumlah cluster seiring dengan proses pemodelan yang dilakukan.

Demikian, mudah-mudahan bisa menjawab.

Regards,

21 03 2013
irwansyah

Pak saya mw tanya…
gimana caranya membangkitkan membership function pada logika fuzzy secara otomatis….

26 02 2014
Yudi Agusta

Untuk membangkitkan nilai membership function secara otomatis, bisa dengan proses random antara nilai 0 dan 1. Tetapi, kalau dibandingkan membuat nilai random untuk membership function yang jumlahnya akan banyak yaitu sebanyak data dan sebanyak variabel, maka ada baiknya menentukan variabel yang lainnya dulu seperti variabel centroid dalam pemodelan clustering, baru menentukan nilai membership function secara otomatis.

Regards,

22 02 2013
hilmy

pak,,, mau minta tolong,,, saya mau cari coding voting KNN dari jarak euclidian… bisa banttu gak yah ?? pleease,,
A.N mahasiswa tingkat akhir

26 02 2014
Yudi Agusta

Mmmm saya tidak menyediakan coding, mungkin melalui jaringan web, bisa dicari-cari via uncle google.

Regards,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s




Follow

Get every new post delivered to your Inbox.

Join 28 other followers

%d bloggers like this: