DBSCAN中的参数估计

时间:2013-02-24 09:29:46

标签: data-mining cluster-analysis dbscan

我需要根据不同介词的分布(如agentive,instrumental,time,place等)找到自然发生的名词类。我尝试使用k-means聚类但帮助较少,但效果不好,我所寻找的类有很多重叠(可能是因为类的非球形形状和k-means中的随机初始化) )。

我现在正在使用DBSCAN,但我无法理解此群集算法中的epsilon值和迷你点值。我可以使用随机值,还是需要计算它们。任何人都可以帮忙。特别是对于epsilon,至少如果需要的话,至少如何计算它。

1 个答案:

答案 0 :(得分:7)

使用域名知识选择参数。 Epsilon是一个半径。您可以将其视为最小簇大小。

显然随机值不会很好。作为一种启发式方法,您可以尝试查看k距离图;但它也不是自动的。

要做的任何一种方法,首先要为你的数据选择一个好的距离函数。并执行适当的规范化。

至于“minPts”,它又取决于您的数据和需求。一个用户可能想要与另一个用户非常不同的值。当然,minPts和Epsilon是耦合的。如果你加倍epsilon,你将大致需要将你的minPts增加2 ^ d(对于欧几里德距离,因为这就是超球面积的增加!)

如果你想要很多细小的细节簇,请选择一个小的碎片。如果您想要更大和更少的聚类(以及更多噪音),请使用更大的碎片。如果您根本不需要任何群集,请选择大于数据集大小的缩写...