После использования kmeans(): как определить, какая точка принадлежит к какой группе?

#r #cluster-analysis #pca #ggbiplot

#r #кластерный анализ #pca #ggbiplot

Вопрос:

Я запускаю кластеризацию kmeans для идентификации помеченных данных. Я запустил pca, а затем kmeans и получил следующий график, используя ggbiplot:

введите описание изображения здесь

Теперь, как я могу определить, какая точка принадлежит к какой группе в табличном формате. То есть в моих исходных данных я хотел бы пометить каждую точку своей группой.

Комментарии:

1. Пожалуйста, включите воспроизводимые (выборочные) данные и код для создания графика.

2. Для меня это не похоже на хорошие кластеры… Вы пытаетесь показать, что это не работает с этими данными? Почему вы используете 35 кластеров, когда проекция показывает, что есть только 1?

Ответ №1:

Предположим, что имя вашего фрейма данных равно df и вам нужно k кластеров. После запуска функции k означает…

 # K-Means CA
fit <- kmeans(df, k) # where k is the number of clusters
 

… вы должны включить группы, которые были получены из fit, в ваш фрейм данных

 # add clusters to the dataframe
df$clusters <- fit$cluster
df
             a          b clusters
1  -0.96193342 -0.7447816        1
2  -0.29252572 -1.1312186        1
3   0.25878822 -0.7163585        1
4  -1.15213189  0.2526524        1
5   0.19578283  0.1520457        1
6   0.03012394 -0.3076564        1
7   0.08541773 -0.9530173        1
8   1.11661021 -0.6482428        2
9  -1.21885742  1.2243136        1
10  1.26736872  0.1998116        2
 

Данные, используемые в примере

 set.seed(3)
n <- 10
k <- 2
df <- data.frame(a= rnorm(n), b= rnorm(n))
 

Вы также можете посмотреть здесь.