【问题标题】:AffinityPropagation .labels_ vs .predict()AffinityPropagation .labels_ 与 .predict()
【发布时间】:2019-05-22 20:32:52
【问题描述】:

我正在使用来自 sklearn 的 AffinityPropagation 进行聚类。

使用clustering.labels_ 与在相同的训练数据上使用clustering.predict 产生不同(尽管几乎相同)的结果。

你知道为什么这是真的吗?

【问题讨论】:

    标签: python machine-learning scikit-learn cluster-analysis


    【解决方案1】:

    不要将predict 用于除 k-means-family 之外的任何聚类。

    如果您执行fit,则使用亲和力传播计算结果。

    如果你调用predict,它不是实际上在做AP。相反,它只是为每个点找到最近的样本。正如您所观察到的,这可能会或可能不会给出相同的结果。由于近点最有可能负责,因此这很有可能是正确的 - 但它没有进行任何形式的亲和性传播,它是示例的最近邻分类。

    k-means 很好,因为它使用最近中心逻辑。但这通常不适用于聚类。一般来说,聚类算法无法预测样本外数据;你需要一个分类器。

    【讨论】:

      猜你喜欢
      • 2016-06-24
      • 1970-01-01
      • 2018-10-07
      • 1970-01-01
      • 2015-11-26
      • 2016-12-09
      • 2014-05-17
      • 1970-01-01
      • 2016-09-03
      相关资源
      最近更新 更多