在Python中结合聚类和分类

时间:2018-09-15 16:20:41

标签: python classification

Python中有一种称为K-means的聚类方法。经过聚类处理后,我想基于支持向量机或其他分类方法来计算每个聚类的准确性。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

对于任何群集,在一天结束时,它都会尝试最大化不同群集之间的距离,同时最小化群集内的距离。距离本身就是您必须定义的度量,即,Manhatten,Euclidean,Statistics等。聚类没有真正的“准确性”,因为它取决于数据的外观和决定的聚类数量。实际上,很多时候,如果在对数据进行混洗后重新运行相同的算法,则会获得不同的簇!

以该示例为例:您尝试将动物/昆虫分为3种类型。动物是熊,蛇,蜘蛛和浣熊。

由于定义的群集数量为3,因此群集可能为:

1)熊,浣熊 2)蛇 3)蜘蛛

这不一定意味着熊和浣熊非常相似,只是它们与其他动物相比更近一些。

综上所述,分析每个聚类的“准确性”的最佳方法是使用轮廓分析。此分析将测量每个点到群集中其他点的距离,并将其与每个点到群集外部其他点的距离进行比较。

如果确定一个点与当前聚类之外的另一个点的距离较小,则意味着该数据点的标记较差。

请查看此链接,它将为您提供逐步指南,以使用K均值创建聚类,然后使用“轮廓分析”评估聚类的“准确性”!

http://scikit-learn.org/stable/auto_examples/cluster/plot_kmeans_silhouette_analysis.html