Nie upuszczaj żadnych zmiennych, ale rozważ użycie PCA. Dlatego.
Po pierwsze, jak wskazał Anony-mus, na k-średnich nie ma poważnego wpływu kolinearność / korelacje. Z tego powodu nie musisz wyrzucać informacji.
Po drugie, jeśli upuścisz zmienne w niewłaściwy sposób, sztucznie zbliżysz niektóre próbki do siebie. Przykład:
Customer CatA CatB CatC
1 1 0 0
2 0 1 0
3 0 0 1
(Usunąłem notację% i po prostu umieściłem wartości od 0 do 1, ograniczone, więc wszystkie sumują się do 1)
Odległość euklidesowa między każdym z tych klientów w ich naturalnej przestrzeni 3d wynosi(1−0)2+(0−1)2+(0−0)2−−−−−−−−−−−−−−−−−−−−−−−√=2–√
Powiedzmy teraz, że upuszczasz CatC.
Customer CatA CatB
1 1 0
2 0 1
3 0 0
Teraz odległość między klientami 1 i 2 jest nadal , ale między klientami 1 i 3 oraz 2 i 3, to tylko . Sztucznie uczyniłeś klienta 3 bardziej podobnym do 1 i 2, w taki sposób, że surowe dane nie obsługują.2–√(1−0)2+(0−0)2−−−−−−−−−−−−−−−√=1
Po trzecie, kolinerarność / korelacje nie stanowią problemu. Twoja wymiarowość jest. 100 zmiennych jest wystarczająco dużych, że nawet przy 10 milionach punktów danych martwię się, że k-średnie mogą znaleźć fałszywe wzorce w danych i pasować do tego. Zamiast tego pomyśl o użyciu PCA do skompresowania go do łatwiejszej do opanowania liczby wymiarów - powiedzmy 10 lub 12 na początek (być może znacznie wyższej, może znacznie niższej - będziesz musiał spojrzeć na wariancję wzdłuż każdego komponentu i bawić się trochę, aby znaleźć prawidłowy numer). Tak, sztucznie zbliżysz niektóre próbki, robiąc to, ale zrobisz to w sposób, który powinien zachować większość wariancji w danych i który preferencyjnie usunie korelacje.
~~~~~
EDYTOWAĆ:
Re, komentarze poniżej na temat PCA. Tak, absolutnie ma patologie. Ale jest dość szybki i łatwy do wypróbowania, więc nadal nie wydaje mi się złym założeniem, jeśli chcesz zmniejszyć wymiar problemu.
Przy tej notatce próbowałem jednak szybko wrzucić kilka zestawów 100-wymiarowych danych syntetycznych do algorytmu k-średnich, aby zobaczyć, co wymyślili. Chociaż szacunki położenia centrum klastra nie były tak dokładne, członkostwo w klastrze (tj. Czy dwie próbki zostały przypisane do tego samego klastra, czy nie, co wydaje się być tym, czym zainteresowany jest OP) było znacznie lepsze, niż się spodziewałem. Więc moje przeczucie wcześniej było całkiem prawdopodobne - k-znaczy migth działa dobrze na surowych danych.