0

假设我们有一个大维度的数据集,我们使用 PCA 将其减少到较低维度,然后对所述数据使用聚类算法是否明智/准确?假设我们不知道预期有多少集群。

在 Iris 数据集上使用 PCA(对 csv 中的数据进行排序,以便列出所有第一类,然后是第二类,然后是第三类)产生以下图:- 通过 PCA 运行的有序数据

可以看出,鸢尾花数据集中的三个类都得到了保留。但是,当样本的顺序随机化时,会产生以下图:- 无序数据通过 PCA 运行

以上,尚不清楚数据集中包含多少个集群/类。在这种情况下(更现实的情况),如何确定类的数量,诸如 K-Means 之类的聚类算法是否有效?

由于丢弃了低阶主成分,会不会有不准确之处?

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

4

2 回答 2

1

假设我们有一个大维度的数据集,我们使用 PCA 将其减少到较低维度,然后对所述数据使用聚类算法是否明智/准确?假设我们不知道预期有多少集群。

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

以上,尚不清楚数据集中包含多少个集群/类。在这种情况下(更现实的情况),如何确定类的数量,诸如 K-Means 之类的聚类算法是否有效?

有一些有效的聚类算法不需要事先知道类的数量,例如 Mean Shift 和 DBSCAN。

于 2013-09-25T11:48:48.187 回答
0

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

iris 数据集非常简单,可以简单地得出关于高维数据的行为以及 PCA 的好处的任何有效结论。

另外,“明智”——在什么意义上?如果你想吃披萨,绘制 iris 数据集是不明智的。

于 2013-09-25T18:12:06.120 回答