Не кидайте жодних змінних, але не забудьте використати PCA. Ось чому.
По-перше, як вказував Аноні-мус, k-засоби не сильно впливають на колінеарність / кореляції. Через це вам не потрібно викидати інформацію.
По-друге, якщо ви скинете свої змінні неправильно, ви штучно зблизите деякі зразки. Приклад:
Customer CatA CatB CatC
1 1 0 0
2 0 1 0
3 0 0 1
(Я видалив% notation і просто поставив значення між 0 і 1, обмежено, щоб вони всі дорівнювали 1).
Евклідова відстань між кожним із цих клієнтів у їх природному 3d просторі становить ( 1 - 0 )2+ ( 0 - 1 )2+ ( 0 - 0 )2-----------------------√= 2-√
Тепер скажімо, що ви кинете CatC.
Customer CatA CatB
1 1 0
2 0 1
3 0 0
Зараз відстань між клієнтами 1 та 2 все ще , але між клієнтами 1 і 3 та 2 і 3 це лише √2-√( 1 - 0 )2+ ( 0 - 0 )2---------------√= 1
По-третє, колінеарність / кореляція не є проблемою. Ваша розмірність. 100 змінних достатньо великі, що навіть маючи 10 мільйонів точок даних, я переживаю, що k-засоби можуть знайти помилкові зразки в даних і підходять до цього. Замість цього, подумайте про використання PCA для стиснення його до більш керованої кількості вимірів - скажімо, 10 або 12 для початку (можливо, набагато вище, можливо, значно нижче - вам доведеться подивитися на дисперсію вздовж кожного компонента і пограти навколо трохи, щоб знайти правильне число). Ви штучно зблизите деякі зразки, роблячи це, так, але ви зробите це таким чином, щоб зберегти більшу частину дисперсії в даних, що дозволить видалити кореляції.
~~~~~
Редагувати:
Re, коментарі нижче про PCA. Так, у нього абсолютно є патології. Але спробувати це досить швидко і просто, тому все одно здається мені не поганою ставкою, якщо ви хочете зменшити розмірність проблеми.
Однак на цій замітці я спробував швидко перекинути кілька наборів із 100 мірних синтетичних даних в алгоритм k-означає, щоб побачити, що вони придумали. Незважаючи на те, що оцінка центру кластера була не такою точною, членство в кластері (тобто, були присвоєні два зразки одному кластеру чи ні, що, здається, цікавить ОП), було набагато краще, ніж я думав, що це буде. Тож почуття моєї кишки раніше було цілком помилковим - k-означає, що міг працює просто на вихідних даних.