【问题标题】:Need assistance with implementing DBSCAN on Map Reduce在 Map Reduce 上实施 DBSCAN 需要帮助
【发布时间】:2013-04-07 22:50:27
【问题描述】:

我正在尝试在 MR 上实现 DBSCAN,并使用下面粘贴的链接中的直觉

http://codingwiththomas.blogspot.com/2012/05/distributed-dbscan-intuition.html

Best programming language to implement DBSCAN algorithm querying a MongoDB database?

我的问题是如何计算初始距离矩阵。我不想仅仅为了计算距离矩阵并将其存储在内存中而运行 hadoop 作业,因为我不会是一个好的设计。有什么建议么。

【问题讨论】:

    标签: java hadoop mapreduce


    【解决方案1】:

    感谢您阅读我的博客。

    是的,要计算的距离矩阵非常困难。

    我已经应用了一个 minhash 聚类(mahout 也有一个实现)来查找非常相似的向量。所以你不必计算整个距离矩阵,而是计算相似的向量。

    所以我对您的建议是使用 mahout 的 minhashing 来查找相似向量的集群。然后为它们计算一个较小的距离矩阵,然后应用我在帖子中写的其余要点:

    • 从“迷你”集群中提取相邻点
    • 从结果图中运行连通分量算法(有 MapReduce、Giraph 和 Hama 的实现)

    基本上就是这样。不幸的是,这整个阶段都无法开源,所以这就是整个过程所需要的。

    【讨论】:

    • 您的解决方案非常有意义。谢谢你。因此,下一步将使用地图的设置功能并初始化迷你集群并使用自定义分区器将记录发送到正确的地图任务。
    • 嘿,Thomas,我还有另一个建议,而不是使用 min hash,更简单的方法是使用 run 函数(定义在这里-stackoverflow.com/questions/10943472/…)。在设置中创建距离矩阵,因为我们将拥有已分配给地图任务的所有记录。您对此有何看法?
    • @anonymous123 我不认为这是可行的,因为这只会给你输入块中最近的邻居而不是全局。
    • 嗯,是的,我将在一个特定的块中最近的邻居而不是全局,你是对的。
    猜你喜欢
    • 2016-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-07
    • 2021-02-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-18
    相关资源
    最近更新 更多