我正试图在MR上实现DBSCAN,并使用我粘贴在下面的链接的直觉
http://codingwiththomas.blogspot.com/2012/05/distributed-dbscan-intuition.html
实现DBSCAN算法查询MongoDB数据库的最佳编程语言?我的问题是如何计算初始距离矩阵。我不想运行hadoop工作只是为了计算距离矩阵,并将其存储在内存中,因为我不会是一个很好的设计。任何建议。
感谢您阅读我的博客。
是的,计算距离矩阵是非常困难的。
我已经应用了一个散列聚类(mahout也有一个实现)来寻找非常相似的向量。所以你不必计算整个距离矩阵,而是计算相似向量的距离矩阵。
所以我给你的建议是使用mahout的散列查找相似向量的簇。然后为它们计算一个较小的距离矩阵,然后应用我在帖子中写的其余要点:
- 从你的"迷你"集群中提取相邻点
- 从结果图中运行连接组件算法(有MapReduce, Giraph和Hama的实现)
基本上就是这样。不幸的是,我们不能将这整个阶段开源,所以这就是整个过程。