如何获得离集群中心最近的N个数据点?
Posted
技术标签:
【中文标题】如何获得离集群中心最近的N个数据点?【英文标题】:How to get N numbers of data points which are nearest from a cluster's center? 【发布时间】:2019-05-16 09:07:31 【问题描述】:在部署 K-means 算法后,我想从每个集群中的中心(基于欧几里得距离)获取 N 个最近的数据点。我可以使用
获取数据点的索引np.where(km.labels_ == 0)
【问题讨论】:
【参考方案1】:您可以使用kmeans
类的transform
方法计算每个数据点到每个集群的距离。
然后假设您想要第 0 个索引 cluster
中的顶部 N
点,那么您可以这样做:
cluster = 0
N = 2
np.sort(kmeans.transform(X)[:,cluster])[:N]
【讨论】:
当距离聚类中心的距离已知时,有什么方法可以获取最近数据点的特征? 假设我有 3 个特征,即身高、体重和颜色,我想获得离集群中心最近的数据点的这些特征。 我建议编辑问题,或者甚至更好地创建一个新问题,并解释您希望通过预期输出实现什么。【参考方案2】:简单的四步流程:
-
计算平均值
计算与平均值的距离
用
argmin
选择最小的k个
通过索引np.where
的返回值将日落索引映射回数据集索引
【讨论】:
以上是关于如何获得离集群中心最近的N个数据点?的主要内容,如果未能解决你的问题,请参考以下文章