Jangan jatuhkan variabel apa pun, tetapi pertimbangkan untuk menggunakan PCA. Inilah sebabnya.
Pertama, seperti yang ditunjukkan oleh Anony-mousse, k-means tidak terpengaruh oleh kolinearitas / korelasi. Anda tidak perlu membuang informasi karena itu.
Kedua, jika Anda menjatuhkan variabel Anda dengan cara yang salah, Anda akan secara artifisial membawa beberapa sampel lebih dekat. Sebuah contoh:
Customer CatA CatB CatC
1 1 0 0
2 0 1 0
3 0 0 1
(Saya telah menghapus notasi% dan hanya menaruh nilai antara 0 dan 1, dibatasi sehingga semuanya berjumlah 1.)
Jarak euclidean antara masing-masing pelanggan di ruang 3d alami mereka adalah ( 1 - 0 )2+ ( 0 - 1 )2+ ( 0 - 0 )2-----------------------√= 2-√
Sekarang katakanlah Anda menjatuhkan CatC.
Customer CatA CatB
1 1 0
2 0 1
3 0 0
Sekarang jarak antara pelanggan 1 dan 2 masih , tetapi antara pelanggan 1 dan 3, dan 2 dan 3, itu hanya √2-√( 1 - 0 )2+ ( 0 - 0 )2---------------√= 1
Ketiga, collinerarity / korelasi bukan masalah. Dimensi Anda adalah. 100 variabel cukup besar sehingga bahkan dengan 10 juta titik data, saya khawatir k-means dapat menemukan pola palsu dalam data dan cocok untuk itu. Alih-alih, pikirkan tentang menggunakan PCA untuk mengompresnya ke jumlah dimensi yang lebih mudah dikelola - katakan 10 atau 12 untuk memulai dengan (mungkin jauh lebih tinggi, mungkin jauh lebih rendah - Anda harus melihat varians di sepanjang setiap komponen, dan bermain-main sedikit, untuk menemukan nomor yang benar). Anda secara artifisial membawa beberapa sampel lebih dekat bersama-sama melakukan ini, ya, tetapi Anda akan melakukannya dengan cara yang seharusnya mempertahankan sebagian besar varians dalam data, dan yang biasanya akan menghapus korelasi.
~~~~~
EDIT:
Re, komentar di bawah tentang PCA. Ya, itu memang memiliki patologi. Tapi ini cukup cepat dan mudah untuk dicoba, jadi sepertinya masih bukan taruhan buruk bagi saya jika Anda ingin mengurangi dimensi masalah.
Pada catatan itu, saya mencoba dengan cepat membuang beberapa set data sintetik 100 dimensi ke dalam algoritma k-means untuk melihat apa yang muncul. Sementara perkiraan posisi pusat cluster tidak seakurat itu, keanggotaan cluster (yaitu apakah dua sampel ditugaskan ke cluster yang sama atau tidak, yang tampaknya menjadi minat OP) jauh lebih baik daripada yang saya kira. Jadi firasat saya sebelumnya sangat mungkin salah - k-means berfungsi dengan baik pada data mentah.