要对超过 100 个维度(有时甚至是 1000 个)的数据进行聚类,最好使用什么聚类算法。如果您了解 C、C++ 或尤其是 C# 中的任何实现,我将不胜感激。
最佳答案
这在很大程度上取决于您的数据。有关常见问题,请参阅维度灾难。最近的研究(Houle 等人)表明,您不能真正相信数字。可能有几千个维度,数据很好聚类,当然也有一维的数据就是不聚类。这主要是信噪比的问题。 这就是为什么例如 TF-IDF 向量聚类效果很好,特别是在余弦距离方面。
但关键是您首先需要了解数据的性质。然后,您可以选择合适的距离函数、权重、参数和...算法。
特别是,您还需要知道什么对您构成集群。有很多定义,特别是对于高维数据。它们可能在子空间中,它们可能会或可能不会任意旋转,它们可能重叠或不重叠(例如 k-means,不允许重叠或子空间)。
关于c# - 高维数据聚类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8195836/