Berikut ini adalah ringkasan dari beberapa algoritma pengelompokan yang dapat membantu menjawab pertanyaan
"Teknik pengelompokan mana yang harus saya gunakan?"
Tidak ada algoritma pengelompokan yang objektif "benar" Ref
Algoritma cluster dapat dikategorikan berdasarkan "model cluster" mereka. Algoritma yang dirancang untuk jenis model tertentu umumnya akan gagal pada model yang berbeda. Untuk misalnya, k-means tidak dapat menemukan kelompok non-cembung, ia hanya dapat menemukan kelompok berbentuk lingkaran.
Oleh karena itu, memahami "model klaster" ini menjadi kunci untuk memahami bagaimana memilih di antara berbagai algoritma / metode pengelompokan. Model kluster yang umum meliputi:
[1] Model konektivitas: Membangun model berdasarkan konektivitas jarak. Misalnya pengelompokan hierarkis. Digunakan ketika kita membutuhkan partisi yang berbeda berdasarkan ketinggian pohon. Fungsi R: paket hclust dalam statistik.
[2] Model Centroid: Membuat model dengan merepresentasikan setiap klaster dengan vektor rata-rata tunggal. Digunakan ketika kita membutuhkan partisi yang tajam (bukan fuzzy clustering yang dijelaskan nanti). Fungsi R: km artinya dalam paket statistik.
[3] Model distribusi: Membangun model berdasarkan distribusi statistik seperti distribusi normal multivarian yang digunakan oleh algoritma maksimisasi-harapan. Digunakan ketika bentuk-bentuk cluster dapat berubah-ubah tidak seperti k-means yang mengasumsikan cluster bundar. Fungsi R: emcluster dalam paket emcluster.
[4] Model kepadatan: Membangun model berdasarkan kelompok sebagai wilayah padat yang terhubung dalam ruang data. Misalnya DBSCAN dan OPTICS. Digunakan ketika bentuk-bentuk cluster dapat berubah-ubah tidak seperti k-means yang mengasumsikan cluster bundar .. Fungsi R dbscan dalam paket dbscan.
[5] Model ruang bagian: Membangun model berdasarkan anggota cluster dan atribut yang relevan. Misalnya biclustering (juga dikenal sebagai co-clustering atau two-mode-clustering). Digunakan saat pengelompokan baris dan kolom secara simultan diperlukan. Fungsi R biclust dalam paket biclust.
[6] Model grup: Membuat model berdasarkan informasi pengelompokan. Misalnya pemfilteran kolaboratif (algoritme rekomendasi). Fungsi R Recommender dalam paket recommenderlab.
[7] Model berbasis grafik: Membuat model berdasarkan klik. Algoritma pendeteksian struktur komunitas mencoba menemukan subgraph padat dalam grafik langsung atau tidak langsung. Misalnya fungsi R cluster_walktrap dalam paket igraph.
[8] Kohonen Self-Organizing Feature Map: Membangun model berdasarkan jaringan saraf. Fungsi R som dalam paket kohonen.
[9] Spectral Clustering: Membangun model berdasarkan struktur kluster non-cembung, atau ketika ukuran pusat bukan deskripsi yang sesuai dari kluster lengkap. Specc fungsi R dalam paket kernlab.
[10] pengelompokan ruang bagian: Untuk data dimensi tinggi, fungsi jarak bisa menjadi masalah. model kluster menyertakan atribut yang relevan untuk klaster. Misal, fungsi hddc dalam paket R HDclassif.
[11] Pengelompokan urutan: Sekuens grup yang terkait. Paket terakhir.
[12] Perambatan afinitas: Membangun model berdasarkan pesan yang lewat di antara titik data. Itu tidak memerlukan jumlah cluster yang harus ditentukan sebelum menjalankan algoritma. Lebih baik untuk visi komputer dan tugas-tugas biologi komputasi tertentu, misalnya mengelompokkan gambar wajah manusia dan mengidentifikasi transkrip yang diatur, daripada k-means, Ref Rpackage APCluster.
[13] Pengelompokan aliran: Membuat model berdasarkan data yang tiba terus menerus seperti catatan telepon, transaksi keuangan, dll. Misalnya paket R BIRCH [ https://cran.r-project.org/src/contrib/Archive/birch/]
[14] Pengelompokan dokumen (atau pengelompokan teks): Membuat model berdasarkan SVD. Ini telah digunakan dalam ekstraksi topik. Misalnya Carrot [ http://search.carrot2.org] adalah mesin pencarian hasil pencarian open source yang dapat mengelompokkan dokumen ke dalam kategori tematik.
[15] Model kelas laten: Ini menghubungkan satu set variabel multivariat yang diamati dengan satu set variabel laten. LCA dapat digunakan dalam penyaringan kolaboratif. Function R Recommender dalam paket recommenderlab memiliki fungsionalitas filtering kolaboratif.
[16] Biclustering: Digunakan untuk secara bersamaan mengelompokkan baris dan kolom data dua mode. Misalnya fungsi R biclust dalam paket biclust.
[17] Soft clustering (fuzzy clustering): Setiap objek milik masing-masing cluster hingga tingkat tertentu. Misalnya fungsi R Fclust dalam paket fclust.