【问题标题】:How to get N numbers of data points which are nearest from a cluster's center?如何获得离集群中心最近的N个数据点?
【发布时间】:2019-05-16 09:07:31
【问题描述】:

在部署 K-means 算法后,我想从每个集群中的中心(基于欧几里得距离)获取 N 个最近的数据点。我可以使用

获取数据点的索引
np.where(km.labels_ == 0)

【问题讨论】:

    标签: python-3.x machine-learning scikit-learn cluster-analysis k-means


    【解决方案1】:

    您可以使用kmeans 类的transform 方法计算每个数据点到每个集群的距离。

    然后假设您想要第 0 个索引 cluster 中的顶部 N 点,那么您可以这样做:

    cluster = 0
    N = 2
    np.sort(kmeans.transform(X)[:,cluster])[:N]
    

    【讨论】:

    • 当距离聚类中心的距离已知时,有什么方法可以获取最近数据点的特征?
    • 假设我有 3 个特征,即身高、体重和颜色,我想获得离集群中心最近的数据点的这些特征。
    • 我建议编辑问题,或者甚至更好地创建一个新问题,并解释您希望通过预期输出实现什么。
    【解决方案2】:

    简单的四步流程:

    1. 计算平均值
    2. 计算与平均值的距离
    3. argmin选择最小的k个
    4. 通过索引np.where的返回值将日落索引映射回数据集索引

    【讨论】:

      猜你喜欢
      • 2017-10-17
      • 2016-02-19
      • 2012-06-21
      • 1970-01-01
      • 2013-09-10
      • 2014-03-06
      • 2019-05-16
      • 1970-01-01
      • 2018-09-17
      相关资源
      最近更新 更多