如何在sklearn.cluster.MeanShift

时间:2018-11-24 08:28:01

标签: python scikit-learn mean-shift

我有一个训练有素的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 :(得分:1)

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-py