我有一组5000万个文本片段,希望能够对它们进行聚类。维度可能在6万到10万之间。平均文本片段长度为16个单词。正如你所想象的那样,频率矩阵会非常稀疏。我正在寻找一个软件包/库/SDK,可以让我找到这些聚类。我以前尝试过CLUTO,但这似乎对CLUTO来说是一个非常重的任务。从我的在线研究中,我发现BIRCH是一种可以处理这些问题的算法,但遗憾的是,我无法在网上找到任何BIRCH实现软件(我只找到了一些特定项目的临时实现,缺乏任何形式的文档)。有什么建议吗?
我有一组5000万个文本片段,希望能够对它们进行聚类。维度可能在6万到10万之间。平均文本片段长度为16个单词。正如你所想象的那样,频率矩阵会非常稀疏。我正在寻找一个软件包/库/SDK,可以让我找到这些聚类。我以前尝试过CLUTO,但这似乎对CLUTO来说是一个非常重的任务。从我的在线研究中,我发现BIRCH是一种可以处理这些问题的算法,但遗憾的是,我无法在网上找到任何BIRCH实现软件(我只找到了一些特定项目的临时实现,缺乏任何形式的文档)。有什么建议吗?
我想你更倾向于寻找类似全对搜索的东西。
这将为您提供相似记录的成对结果,直到达到所需阈值。之后,您可以使用图论的一些部分来提取聚类 - 将每个对视为边缘。然后提取连接组件将给您类似于单链接聚类的东西,团将给您完整链接聚类。
我刚刚发现了C ++中的BIRCH实现。
尝试使用图分区算法。它可能会帮助您实现对高维数据的聚类。