对无法绘制的数据进行聚类算法性能检查

Posted

技术标签:

【中文标题】对无法绘制的数据进行聚类算法性能检查【英文标题】:Clustering algorithm performance check on un plot able data 【发布时间】:2018-09-04 19:47:03 【问题描述】:

我正在使用 Sci-kit 学习库中的 Kmeans Clustring 算法,我的数据维度是 169,这就是我无法可视化聚类结果的原因。

有什么方法可以衡量算法的性能吗?

其次,我有数据的标签,我想用测试数据集测试学习模型,但我不确定 Kmeans 算法给集群的标签是否与我拥有的标签一致。

【问题讨论】:

关注您的一个问题并提供您尝试过的代码示例。帮助你会更容易。 请记住,在高维中,欧几里得距离在判断两点是近还是远方面变得非常糟糕。一切在高维上基本上都具有相同的欧几里德距离。 Cross validated has some links on that topic 您可能会制作一个集群与标签表(混淆矩阵)。此外,您可以尝试在较低维度上进行可视化 - 例如,投影到前两个主成分。 【参考方案1】:

有多种方法可以可视化高维数据。您可以对一些尺寸进行采样,使用 PCA 组件、MDS、tSNE、平行坐标等等。

如果您甚至只是阅读了关于聚类的 Wikipedia 文章,其中有一节是关于评估的,包括监督评估和无监督评估。但这种评估的结果可能非常具有误导性......

请记住,如果您有标记的数据,那么有监督的方法应该总是优于没有标签的无监督方法:它们不知道要寻找什么 - 有理由相信每个聚类恰好与一些标签。特别是,在大多数数据上,都会有许多合理的聚类来捕获数据的不同方面。

【讨论】:

以上是关于对无法绘制的数据进行聚类算法性能检查的主要内容,如果未能解决你的问题,请参考以下文章

对这些数据进行聚类的最佳算法是啥

python大战机器学习——聚类和EM算法

利用聚类算法进行啤酒分类

聚类算法数据分析

凝聚型层次聚类算法对数据集进行分类时,如何对合并的新簇计算簇间距离?

在 Python 中为每次迭代绘制 KMeans 聚类中心