AffinityPropagation .labels_与.predict()

时间:2018-12-23 01:27:59

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

Code of .labels vs. .predict()

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

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

对为什么这是真的有任何见解吗?

1 个答案:

答案 0 :(得分:3)

除了k-means-family以外,请勿将void del_list(stud* &orig_head) { cout << "Deleting entire list..." << endl; delete orig_head; orig_head = nullptr; } 用于任何聚类。

如果您执行predict,则将通过相似性传播来计算结果。

如果您调用 fit,则实际上不是 做AP 。取而代之的是,它只是找到每个点的最近样本。正如您所观察到的那样,这可能会或可能不会产生相同的结果。由于最有可能是近点,因此很有可能是正确的-但它没有进行任何形式的亲和力 propagation 传播,这是与示例最接近的分类。

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