Jumat, 05 Desember 2014

Perbedaan Classification dengan Clustering

Classification
Classification memiliki tujuan untuk mengklasifikasikan suatu data ke dalam kelompok kelas yang sudah ada. Tidak akan ada pembentukan kelompok baru. Dan biasanya prosesnya supervised. Dalam arti ada training yang dilakukan.
Salah satu pendekatan classification adalah pendekatan neural network. Dalam pendekatan ini, neural network dilatih dengan menggunakan data yang sudah diketahui untuk dimasukkan ke dalam kelompok data tertentu. 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 algoritma classification adalah nearest centroid dan k-nearest neighbor.
Nearest centroid
Algoritmanya :
-          Menghitung centroid untuk setiap kelas
-          Menghitung  jarak antara test sample dan setiap kelas centroid
-          Memprediksi kelas dengan metode centroid terdekat
K-nearest neighbor
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). Menggunakan prediksi dengan majority vote dengan jumlah yang ganjil.


Clustering
Algoritma clustering merupakan algoritma pengelompokkan sejumlah data ( N ) menjadi kelompok – kelompok data tertentu ( cluster ). Objek data yang terletak didalam satu cluster harus mempunyai kemiripan. Sedangkan yang tidak berada didalam satu cluster tidak mempunyai kemiripan.

Jenisnya :
a.       Hierarchical
Merepresentasikan semua jarak dari setiap data. Hasilnya berupa 1 cluster yang besar dan berbentuk herarchical tree.
Hierarchical ada 2 macam pendekatan yaitu agglomerative dan divisive
-          Agglomerative (buttom-up)
Agglomerative clustering merupakan suatu teknik hierarki clustering yang menghasilkan suatu rangkaian penurunan jumlah cluster pada setiap tahapan. Clustering yang terdapat pada setiap tahapan diperoleh dari tahapan sebelumnya dengan cara menggabungkan 2 cluster yang mempunyai kemiripan. Agglomerative clustering dapat dilakukan dengan menggunakan 2 cara yaitu : teori matriks (matrix theory) dan teori grafik (graph theory).
Algoritmanya : Menandai setiap item pada clusternya sendiri. Bergabung dengan cluster yang paling dekat. Estimasi kembali jarak antar cluster. Ulang untuk data ke 1 sampai n.
-          Divisive (top-down)
Algoritma devisive berkebalikan arah dengan metode agglomerative dimana algoritma ini menghasilkan suatu rangkain peningkatan jumlah cluster pada setiap tahapan. Clustering yang terdapat pada setiap tahapan diperoleh dari tahapan sebelumnya dengan cara memecah suatu cluster tunggal menjadi 2 bagian.

b.      Partitioning
Contohnya : K-means clustering
Algoritmanya :
-          Tandai setiap item kelas pada 1 sampai k (secara acak)
-          Untuk setiap kelas 1 sampai k
Hitung centroid (rata-rata K)
Hitung jarak antara centroid dan setiap item
-          Tandai setiap item yang terdekat dengan centroid
-          Ulangi sampai tidak ada item yang ditandai kembali.

Perbedaan clustering dengan classification
Dataset yang digunakan pada clustering tidak menampilkan class / target attribute, sedangkan dataset yang digunakan pada classification mutlak harus menampilkan class / target attribute.
Pengetahuan yang dihasilkan oleh metode clustering berupa cluster, sedangkan pengetahuan yang dihasilkan oleh metode classification berupa selain cluster (bisa Decision Tree, Ruleset, Weight pada BackPropagation, dan lain-lain).
Clustering dipakai ketika tidak diketahuinya bagaimana data harus dikelompokkan. Jumlah kelompok diasumsikan sendiri tanpa ditentukan terlebih dahulu. Keluaran pendekatan ini adalah data yang sudah dikelompokkan. Sedangkan classification, terdapat informasi mengenai bagaimana data tersebut dikelompokkan. Kemudian dilakukan 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.
Secara formal clustering di definisikan sebagai suatu proses unsupervised untuk mengelempokan data yang memiliki karakteristik tertentu yang sama. Sedangkan classification digolongkan dalam proses supervised.
Supervised classification didasarkan pada ide bahwa pengguna (user) dapat memilih sampel pixel – pixel dalam suatu citra yang merepresentasikan kelas-kelas khusus dan kemudian mengarahkan perangkat lunak pengolahan citra (image processing software) untuk menggunakan pilihan-pilihan tersebut sebagai dasar referensi untuk pengelompokkan pixel-pixel lainnya dalam citra tersebut. Wilayah pelatihan ( training area) dipilih berdasarkan pada pengetahuan dari pengguna ( the knowledge of the user). Sedangkan klasifikasi tak terawasi (unsupervised classifications) merupakan pengklasifikasian hasil akhirnya (pengelompokkan pixel-pixel dengan karakteristik umum) didasarkan pada analisis perangkat lunak (software anaysis) suatu citra tanpa pengguna menyediakan contoh-contoh kelas-kelas terlebih dahulu. Komputer menggunakan teknik-teknik tertentu untuk menentukan pixel mana yang mempunyai kemiripan dan bergabung dalam satu kelas tertentu secara bersamaan.