使用PCA对降维后的数据进行聚类

时间:2013-09-25 10:47:01

标签: statistics machine-learning cluster-analysis pca

假设我们有一个大维度的数据集,我们已经使用PCA将其缩减到较低维度,那么在所述数据上使用聚类算法是明智/准确的吗?假设我们不知道期望多少个簇。

在Iris数据集上使用PCA(对csv中的数据进行排序,以便列出所有第一类,然后是第二类,然后是第三类),得到以下图: - Ordered data run through PCA

可以看出,Iris数据集中的三个类已被保留。但是,当样本的顺序随机化时,产生以下图: - Unordered data run thorough PCA

上面,不清楚数据集中包含多少个簇/类。在这种情况下(更现实世界的情况),如何识别类的数量,像K-Means这样的聚类算法是否有效?

由于丢弃了较低阶的主成分,是否存在无效性?

编辑: - 要明确的是,我在询问运行PCA后是否可以对数据集进行聚类,如果是,那么最准确的方法是什么。

2 个答案:

答案 0 :(得分:1)

  

假设我们有一个大尺寸的数据集,我们已将其降低到更低   使用PCA进行维度,然后使用聚类是明智/准确的   算法对所说的数据?假设我们不知道有多少个簇   期望的。

您的数据可能会在低差异维度中分开。我不建议在群集之前运行PCA。

  

上面,不清楚数据中包含多少个簇/类   组。在这种情况下(更现实世界的情况),如何识别   类的数量,像K-Means这样的聚类算法会有效吗?

有效的聚类算法不需要事先了解类的数量,例如Mean Shift和DBSCAN。

答案 1 :(得分:0)

尝试在PCA之后对数据集进行排序,然后绘制它。

虹膜数据集很容易得出有关高维数据行为的有效结论,以及PCA的好处。

另外,“明智” - 在哪个意义上?如果你想吃披萨,绘制虹膜数据集是不明智的。