2

I have seen many DBSCAN algorithm implemented using a formula to estimate the neighborhood radius (Eps) based on the given minimum points within a cluster (k).

[full code] 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);

I have searched extensively to understand how this analytical formula was derived but been unsuccessful.

4

2 回答 2

1

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

该公式看起来像n-balls 的体积公式

所以它可能是基于这样的想法,如果数据均匀分布在一个立方体上,并且所有边都具有相同的长度,那么这个L 2 -球体应该有这个数量的点,而不考虑边界效应。

但是,如果您的数据看起来像这样,则不需要运行集群。这些假设太强了,在实际应用中没有意义

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

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

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

于 2014-03-31T11:58:44.867 回答
0

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

在分析数据中寻找自然模式。2. 使用 OPTICS 追踪局部密度

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

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

于 2014-03-31T12:14:58.210 回答