Diambil dari http://pengolahancitra.com, bahasanya enak dibaca, saya edit sedikit biar komplit.
Pengantar
Pada artikel singkat ini, kita akan membahas mengenai perbedaan antara clustering dan classification. Adalah penting untuk mengetahui perbedaan antara keduanya. Karena keduanya membawa pada pendekatan dan solusi yang berbeda.
Clustering
Secara formal clustering di definisikan sebagai suatu proses unsupervised
untuk mengelompokan data yang memiliki karakteristik tertentu yang
sama.
Di Wikipedia, Cluster analysis atau clustering adalah pengelompokan object-object kedalam kelompok-kelompok (yang disebut cluster) sehingga object-object yang ada di dalam cluster yang sama lebih mirip satu dengan yang lain dibandingkan dengan cluster yang berbeda.
Sederhananya seperti ini. Misalkan kita diberikan kelompok data,
katakanlah data tinggi anak-anak pada sekolah SD. Katakanlah kita ingin
mengelompokkan data-data ini kedalam 3 kelompok yang mana setiap
kelompok memiliki tinggi yang kurang lebih sama. Problem tersebut dapat dikategorikan dalam clustering problem.
Ada banyak pendekatan yang ada dalam clustering. Salah satu yang paling terkenal adalah pendekatan k-means clustering.
huruf K yang ada pada K-means berarti kita mengasumsikan bahwa kita
mengetahui jumlah kelompok yang akan dihasilkan.
Sederhananya algoritma
ini adalah sebagai berikut. Kita asumsikan ada K kelompok. Katakanlah
ada 3 kelompok. Lalu, kita tentukan secara acak 3 cluster centre. Lalu kelompokkan data-data kedalam kelompok yang memiliki jarak terpendek antara data tersebut dengan cluster centre. Selanjutnya, kalkulasikan centre baru
pada setiap kelompok. Lakukan langkah tersebut hingga pusat kelompok
tidak berubah. Mudah bukan?
Bagaimana kalau saya tidak mempunyai informasi mengenai jumlah kelompok yang mungkin terjadi? Ada caranya! yaitu dengan memakai leader-follower algorithm. Sederhananya, pendekatan ini memakai graph theory. Pertama2x kita pilih satu data menjadi cluster representation, selanjutnya, diberikan data yang lain, kita hitung jarak antara data tersebut dengan cluster representation yang ada. Jika jaraknya terlalu besar, maka data tersebut akan dikelompokkan dalam cluster yang baru.
Dalam clustering, biasanya kita menghadapi jumlah data yang amat banyak. Nah! ada beberapa pendekatan, ada yang disebut offline clustering , ada yang disebut online clustering.
Offline clustering artinya pendekatan tersebut tidak dapat digunakan dalam aplikasi real-time, mungkin saja prosesnya membutuhkan waktu 1 hari. Sebaliknya online clustering
mungkin bisa memproses data dalam hitungan detik. Tentunya tidak ada
makan siang yang gratis. Kita harus mengorbankan beberapa hal untuk
mendapatkan keuntungan di hal yang lainnya.
Kalau diperhatikan, k-means clustering termasuk dalam offline clustering.
Ini disebabkan pada setiap iterasi pendekatan ini memproses semua
datanya. Jadi jika ada 1 juta data, setiap kali iterasi, ada 1 juta data
yang di proses. Jika dibutuhkan sekitar 500 000 iterasi, artinya
komputer akan memiliki beban sekitar 500 milyar komputasi.
Sebaliknya leader-follower algorithm dapat dikategorikan dalam online clustering.
Dalam pendekatan ini, data yang sudah dikelompokkan tidak perlu
diproses lagi. Dan dalam setiap iterasinya hanya akan memproses 1 data
saja. Jadi kalau ada 1 juta data, komputer hanya akan memiliki beban 1
juta komputasi.
Classification
Pendekatan yang ada dalam classification
Ringkasan sedikit
Baca Selengkapnya...
Classification
Berbeda dengan clustering, classification
memiliki tujuan untuk mengklasifikasikan suatu data ke dalam kelompok
kelas yang sudah ada.
Sebagai contoh, misalkan diberikan sekelompok
sampel darah orang. Kita sudah tau jumlah kelompok golongan darah. Maka
tugas kita hanyalah menentukan suatu sampel darah masuk ke kelompok
mana. Jadi intinya, tidak akan ada pembentukan kelompok baru. Dan
biasanya prosesnya supervised. Dalam arti ada training yang dilakukan, dan dalam training tersebut, kita diberikan sekelompok sampel darah yang sudah diketahui masuk ke kelompok manakah sampel tersebut.
Ada banyak! contohnya adalah neural network. Dalam pendekatan ini, neural network
dilatih dengan menggunakan data yang sudah diketahui masuk ke kelompok
mana data tersebut. Setelah pelatihan, prosesnya cukup sederhana, yaitu
dengan memasukkan data baru (yang tidak termasuk dalam data training) ke dalam neural network, lalu neural network akan memberikan informasi termasuk ke dalam kelompok manakah data baru tersebut.
Contoh lain adalah pendekatan K-nn (k nearest neighbour). Dalam hal ini setiap data baru akan dibandingkan dengan data training. Lalu 3 data training
terdekat (misalkan kita ambil k = 3) dengan data baru akan diambil.
Misalkan ketiga data tersebut masuk ke dalam kelompok 1, 2 dan 1, maka
data baru tersebut dimasukan ke dalam kelompok 1 (seperti voting, karena suara yang terbanyak adalah 1, maka keputusannya adalah 1).
Maka jelas, kalau clustering dipakai
ketika kita tidak mengetahui bagaimana data harus dikelompokkan. Kita
bisa mengasumsikan jumlah kelompok yang ada. Keluaran pendekatan ini
adalah data yang sudah dikelompokkan. Di lain pihak, dalam classification, kita sudah mempunyai informasi mengenai bagaimana data tersebut dikelompokkan. Tugas kita hanyalah melakukan training
pada sistem dengan data yang sudah diberikan label (ke dalam kelompok
manakah data tersebut dikelompokkan), selanjutnya sistem akan
mengklasifikasikan data-data yang baru ke dalam kelompok yang ada. Tidak
akan ada pertambahan kelompok.