Dalam data satu dimensi, jangan gunakan analisis kluster.
Analisis cluster biasanya merupakan teknik multivariat. Atau izinkan saya mengatakannya sebaliknya: untuk data satu dimensi - yang benar-benar dipesan - ada teknik yang jauh lebih baik. Menggunakan k-means dan teknik serupa di sini adalah pemborosan total, kecuali jika Anda berupaya cukup untuk benar-benar mengoptimalkannya untuk kasing 1-d.
Sekedar memberi Anda contoh: untuk k-berarti adalah umum untuk menggunakan objek acak k sebagai seed awal. Untuk data satu dimensi, cukup mudah untuk melakukan yang lebih baik dengan hanya menggunakan kuantil yang sesuai (1 / 2k, 3 / 2k, 5 / 2k dll.), Setelah mengurutkan data satu kali , dan kemudian mengoptimalkan dari titik awal ini. Namun, data 2D tidak dapat diurutkan sepenuhnya. Dan dalam kotak, kemungkinan akan ada sel kosong.
Saya juga tidak akan menyebutnya cluster. Saya akan menyebutnya interval . Apa yang benar-benar ingin Anda lakukan adalah mengoptimalkan batas interval. Jika Anda melakukan k-means, itu akan menguji untuk setiap objek jika harus dipindahkan ke cluster lain. Itu tidak masuk akal dalam 1D: hanya objek pada batas interval yang perlu diperiksa. Itu jelas jauh lebih cepat, karena hanya ada ~ 2k objek di sana. Jika mereka belum memilih interval lain, lebih banyak objek pusat tidak akan baik.
Anda mungkin ingin melihat teknik seperti optimasi Breaks Jenks , misalnya.
Atau Anda dapat melakukan estimasi kepadatan kernel dan mencari minimum kepadatan lokal untuk dipecah di sana. Yang menyenangkan adalah Anda tidak perlu menentukan k untuk ini!
PS silakan gunakan fungsi pencarian. Berikut adalah beberapa pertanyaan tentang pengelompokan data 1-d yang Anda lewatkan: