Saya memiliki dataset, saya ingin membuat kelompok data berdasarkan hanya satu variabel (tidak ada nilai yang hilang). Saya ingin membuat 3 cluster berdasarkan satu variabel itu.
Algoritma pengelompokan mana yang digunakan, k-means, EM, DBSCAN dll.?
Pertanyaan utama saya adalah, dalam keadaan apa saya harus menggunakan k-means di atas EM atau EM di atas k-means?
clustering
Ali
sumber
sumber
Jawaban:
Algoritma K-means dan algoritma EM akan sangat mirip untuk pengelompokan 1D.
Dalam K-means Anda mulai dengan menebak di mana mean berada dan menetapkan setiap titik ke kluster dengan rata-rata terdekat, lalu Anda menghitung ulang rata-rata (dan varians) berdasarkan penugasan poin saat ini, kemudian memperbarui penugasan poin, kemudian memperbarui artinya ...
Di EM Anda juga akan mulai dengan menebak di mana rata-rata berada, kemudian Anda menghitung nilai tugas yang diharapkan (pada dasarnya probabilitas setiap titik berada di setiap kluster), kemudian Anda memperbarui estimasi rata-rata (dan varian) menggunakan nilai yang diharapkan sebagai bobot, lalu hitung nilai yang diharapkan baru, lalu hitung cara baru, ...
Perbedaan utama adalah bahwa penugasan poin ke cluster dalam K-means adalah semua atau tidak sama sekali, di mana EM memberikan proporsi / probabilitas keanggotaan kelompok (satu poin dapat dilihat memiliki 80% kemungkinan berada di grup A, probabilitas 18% berada di kelompok B, dan 2% kemungkinan berada di kelompok C). Jika ada banyak pemisahan antara kelompok maka 2 metode akan memberikan hasil yang sangat mirip. Tetapi jika ada jumlah yang cukup dari tumpang tindih maka EM mungkin akan memberikan hasil yang lebih bermakna (bahkan lebih jika varian / standar deviasi menarik). Tetapi jika semua yang Anda pedulikan adalah menetapkan keanggotaan grup tanpa memperhatikan parameternya, maka K-means mungkin lebih sederhana.
Mengapa tidak melakukan keduanya dan lihat betapa berbedanya jawabannya? jika mereka serupa maka pergi dengan yang lebih sederhana, jika mereka berbeda maka putuskan membandingkan pengelompokan dengan data dan pengetahuan luar.
sumber
EM lebih baik daripada k-means dalam hal hasil.
K-means, bagaimanapun, memiliki waktu berjalan yang lebih cepat.
Mereka akan menghasilkan hasil yang sama jika standar deviasi / kovarian matriks hampir sama. Jika Anda curiga ini benar, gunakan k-means.
DBSCAN digunakan ketika data non-gaussian. Jika Anda menggunakan data 1 dimensi, ini umumnya tidak berlaku, karena perkiraan gaussian biasanya valid dalam 1 dimensi.
sumber
Cara sederhana lain pada dasarnya adalah menggunakan pengurutan array 1D: yaitu iterate pada setiap titik dan dapatkan nilai-nilai yang berada pada jarak minimum dari itu baik dalam arah positif dan negatif. Sebagai contoh:
akan membagikan:
Poin mana, bahwa item yang dekat dengan titik tertentu pada dasarnya berada di bawah grupnya. Satu-satunya hal untuk direnungkan dalam teknik ini adalah variabel k, yang merupakan ukuran tetap dari klaster :-).
sumber
Jika hanya ada satu variabel, tidak perlu untuk clustering. Anda dapat dengan mudah mengelompokkan pengamatan Anda berdasarkan distribusi variabel.
Atau saya kehilangan beberapa poin di sini?
sumber