我有自己的基于Java的集群实现(knn)。但是,我面临可伸缩性问题。我不打算使用Mahout,因为我的要求非常简单并且mahout需要很多工作。我正在寻找基于Java的Canopy集群实现,可以将其插入我的算法并进行并行处理。

基于Mahout的Canopy库与Vectors和索引结合使用,不适用于纯字符串。如果您知道这种方式,那么我可以使用简单的库在字符串上使用树冠群集,它将解决我的问题。

我的要求是将字符串列表(例如10K)传递给Canopy聚类算法,它应该返回基于T1和T2的子列表。

最佳答案

冠层群集最可用作并行化的预处理步骤。我不确定会在单个节点上获得多少收益。我认为您最好立即计算实际的算法,或者建立一个索引(例如M树)。

Canopy群集的优势在于,您可以在多个节点上独立运行它,然后重叠它们的结果。

还要检查它是否确实与您的方法兼容。我认为冠层可能需要度量标准属性才能正确。您的字符串距离是否是适当的指标(即三角形不等式)?

关于machine-learning - 非mahout Java-Canopy群集的实现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13283225/

10-08 21:43