如何解释聚类结果?

时间:2018-07-16 14:30:08

标签: python scikit-learn cluster-analysis k-means

说我有一个高维数据集,我认为它可以通过某种聚类算法很好地分离。然后我运行算法,最后得到我的集群。

是否存在某种方式(最好不是“ hacky”或某种启发式)来解释“哪些特征和阈值对于使集群A的成员(例如)成为集群A的一部分很重要?”

我尝试查看聚类质心,但是对于高维数据集来说这很繁琐。

我还尝试将决策树拟合到我的集群,然后查看树以确定给定集群的大多数成员遵循的决策路径。我还尝试过将SVM拟合到我的集群,然后在离质心最近的样本上使用LIME,以了解哪些特征对质心附近的分类很重要。

但是,后两种方式都需要在无人监督的情况下使用有监督的学习,并对我感到“ hacky”,而我希望有更多的基础。

3 个答案:

答案 0 :(得分:0)

您是否尝试过使用PCA或其他降维技术并检查群集是否仍然存在?有时,关系仍然存在于较低的维度中(注意:它并不总是帮助人们理解数据)。关于可视化MNIST数据的不错的文章。 http://colah.github.io/posts/2014-10-Visualizing-MNIST/。我希望这能有所帮助。

答案 1 :(得分:0)

请勿将聚类算法视为黑匣子。

是的,k均值使用质心。但是大多数用于高维数据的算法都不使用(也不使用k均值!)。取而代之的是,他们通常会选择一些特征,投影,子空间,流形等。因此,看看实际的聚类算法提供了哪些信息!

答案 2 :(得分:-2)

您具有基于密度的DBSCAN集群(以及其他基于密度的集群方法)。您将获得紧凑型集群。对于这些集群中的每一个,您最终都可以看到构成集群的功能。

您还拥有DENCLUE,OptiGrid和BIRCH是适合处理大型数据集的合适的聚类算法,尤其是DENCLUE和OptiGrid,它们也可以处理高维数据。它们的使用方式与DBSCAN相同,可以找到最有用的功能。