Как получить центр конкретного кластера в sklearn.cluster.MeanShift - PullRequest
0 голосов
/ 24 ноября 2018

У меня есть обученный объект MeanShift (ms).Имеет простой список центров.Как определить метку, к которой принадлежит центр?Мне известно о labels_, но я не вижу связи между labels_ и cluster_centers_.

print(ms.cluster_centers_)

[[  40.7177164   -73.99183542]
 [  33.44943805 -112.00213969]
 [  33.44638027 -111.90188756]
 ..., 
 [  46.7323875  -117.0001651 ]
 [  29.6899563   -95.8996757 ]
 [  31.3787916   -95.3213317 ]]

1 Ответ

0 голосов
/ 24 ноября 2018

Измерение labels - это измерение вашего исходного набора данных.Это дает индекс соответствующего кластера.Таким образом, связанный центр кластера для записи i в исходных данных равен cluster_centers_[labels_[i]].

В примере из sklearn вы можете видеть, что они зацикливаются на количестве уникальных меток и используют labels == kчтобы выбрать все данные с этой меткой (X[labels_ == k]): https://scikit -learn.org / stable / auto_examples / cluster / plot_mean_shift.html # sphx-glr-auto-examples-cluster-plot-mean-shift-shift-shift-Ру

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...