【问题标题】:How to get the clusters from Affinity propagation algorithm?如何从亲和传播算法中获取集群?
【发布时间】:2023-01-22 22:00:22
【问题描述】:

我想要使​​用 AP 聚类作为 3d nparray 后的数据点。第一个索引访问集群,第二个和第三个索引访问集群数据。我正在使用 sklearn 库函数。
af = AffinityPropagation().fit(X)

【问题讨论】:

    标签: python cluster-analysis


    【解决方案1】:

    您可以通过调用拟合亲和传播对象上的 labels_ 属性来访问每个数据点的集群标签,如下所示:

    cluster_labels = af.labels_
    

    然后,您可以使用聚类标签对原始数据 X 进行索引,以获取每个聚类中的数据点。例如,要获取集群 0 中的数据点,您可以这样做:

    cluster_0_data = X[cluster_labels == 0]
    

    在使用亲和传播聚类后,您可以使用嵌套列表理解来获取数据点的 3D numpy 数组,如下所示:

    clustered_data = np.array([X[cluster_labels == i] for i in np.unique(cluster_labels)])
    

    这将为您提供一个 3D numpy 数组,其中第一个索引对应于簇号,第二个和第三个索引对应于该簇中数据点的坐标。

    【讨论】:

      猜你喜欢
      • 2019-06-18
      • 2019-07-02
      • 1970-01-01
      • 2016-05-31
      • 2019-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多