有关在具有大量特征的大型数据集上进行聚类(和/或)降维的建议

问题描述 投票:0回答:1

我有一个包含 38,000 个特征和 700 万个数据点的数据集(不确定这是否相关,但很多特征都是稀疏的)。我的任务是对这些数据进行一些聚类。我认为 PCA 或其他形式的降维是一个很好的起点。然而,对于这种大小/性质的数据来说,所有这些都非常慢,时间复杂度极高。有人对如何在此数据集上进行聚类有任何建议吗?我应该进行降维吗?如果是的话,我该如何可行?任何建议表示赞赏。

到目前为止我已经尝试过PCA和kernelPCA。我还在只有 250,000 点的数据子集上尝试过这些方法,但仍然需要大量时间。

python cluster-analysis large-data dimensionality-reduction
1个回答
0
投票

考虑到数据的巨大规模,我会研究流聚类算法,当新数据可用时逐步构建聚类。一个例子是 BIRCH,可以在该页面上找到。进一步的想法:(1)您可以使用任何生成的聚类来对数据进行分区,并使用另一种方法重新聚类。 (2)即使使用流聚类,特征的稀疏性也可能会带来额外的问题。 (3) 我会测试一系列更小的数据点和特征集。希望对于这种减少有合理的选择。 (4) 对于如此大的稀疏特征集,我通常建议将数据结构视为一个网络(由两个数据点定义和加权的边缘,具有(和评分)特征的非空重叠,可能是阈值化的。也许有一种方法可以通过智能数据结构来做到这一点。在生物信息学中,具有数百万个节点的网络很常见,但通常可以使用并行/分布式计算来解决这个问题。

最重要的是,我会尝试考虑一个试点来弄清楚聚类是否对数据集有一定的前景。 “人们期望聚类起作用吗”类似于问“三角形在数据中出现的频率是否比您预期的要高,它们是否聚集在一起,这些聚集是否有意义”,这也许可以在没有全面聚类的情况下进行刺激。

© www.soinside.com 2019 - 2024. All rights reserved.