【问题标题】:Analytical way of estimating neighborhood radius for DBSCANDBSCAN估计邻域半径的​​解析方法
【发布时间】:2014-05-09 20:52:48
【问题描述】:

我已经看到许多 DBSCAN 算法使用一个公式来实现,该公式根据集群内给定的最小点 (k) 来估计邻域半径 (Eps)。

【完整代码】http://toolz.googlecode.com/svn/trunk/CWT/dbscan.py

% Analytical calculation of rad if not given

function [Eps] = epsilon(x,k) 

[m,n] = size(x);

Eps = ((prod(max(x)-min(x))*k*gamma(.5*n+1))/(m*sqrt(pi.^n))).^(1/n);

我进行了广泛的搜索以了解这个分析公式是如何得出的,但没有成功。

【问题讨论】:

    标签: cluster-analysis data-mining dbscan


    【解决方案1】:

    OPTICS 论文中描述了次优半径的估计

    在分析数据中寻找自然模式。 2. 追踪本地 光学密度

    正如论文中的概述,有一些假设可以使这个公式有用。

    综上所述,引用该文章,一个数据集的对象密度可以与该数据集相同体积内均匀分布的相同数量对象的密度进行比较。如果数据集具有均匀分布,则邻域半径eps,包含k个点 可以估计。

    【讨论】:

      【解决方案2】:

      它是否带有科学参考,或者这只是某人自己编造的?

      公式看起来像volume formula of n-balls

      所以可能是基于如果数据均匀分布在一个立方体上,并且所有边的长度相同的想法,这个L2 -sphere 应该有这个数量的点,不考虑边界效应。

      但是,如果您的数据如下所示,则无需运行集群。这些假设非常太强了,在实际应用中没有意义。

      我认为不建议使用这个公式!

      特别是,如果您在文献中找不到证明或解释。

      我也建议不要使用这个代码。他的“OPTICS”实现是任何东西,但OPTICS algorithm... 那里有更好、更合适的实现。为了获得最佳结果,您还需要索引支持

      【讨论】:

      • 感谢您的推理......非常有帮助。
      猜你喜欢
      • 2012-08-05
      • 2013-02-09
      • 2019-06-15
      • 2015-06-05
      • 2013-09-06
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多