在不同轴上具有不同epsilons的聚类算法 [英] Clustering algorithm with different epsilons on different axes
问题描述
我正在寻找一种聚类算法,例如s DBSCAN可以处理3d数据,其中可以根据轴设置不同的epsilon.例如,在x-y平面上的epsilon为10m,在z轴上的epsilon为0.2m.
I am looking for a clustering algorithm such a s DBSCAN do deal with 3d data, in which is possible to set different epsilons depending on the axis. So for instance an epsilon of 10m on the x-y plan, and an epsilon 0.2m on the z axis.
本质上,我正在寻找大型但扁平的集群.
Essentially, I am looking for large but flat clusters.
注意:我是一名考古学家,该算法将用于查找散布在大表面但垂直的狭窄层中的物体之间的潜在相关性
Note: I am an archaeologist, the algorithm will be used to look for potential correlations between objects scattered in large surfaces, but in narrow vertical layers
推荐答案
解决方案1:
缩放数据集以匹配所需的epsilon.
Solution 1:
Scale your data set to match your desired epsilon.
在您的情况下,将z缩放50.
In your case, scale z by 50.
使用加权距离函数.
例如 WeightedEuclideanDistanceFunction 在ELKI中,然后相应地选择您的权重,例如-distance.weights 1,1,50
将在第三轴上放置50倍的重量.
E.g. WeightedEuclideanDistanceFunction in ELKI, and choose your weights accordingly, e.g. -distance.weights 1,1,50
will put 50x as much weight on the third axis.
这可能是最方便的选择,因为您已经在使用ELKI.
This may be the most convenient option, since you are already using ELKI.
这篇关于在不同轴上具有不同epsilons的聚类算法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!