在我的三维数据分析中,我使用R编程语言中的以下语句来进行基于密度的聚类-
clusterstry <- dbscan(styrenexyz, 0.20, MinPts =20, method = "hybrid", showplot = 1, countmode = 1:10,100,1000)然而,这种epsilon (=20)不能计算周期边界条件的情况。
有人能建议我如何计算周期边界条件吗?
发布于 2016-07-16 04:38:26
您可以创建自己的距离函数,而不是使用欧几里得距离。
然后你可以很容易地实现你的周期性边界条件。如果您进行搜索,可以使用Python提供一些示例,这可能对您有所帮助。
另外,您也可以添加一个额外的维度来执行周期性边界条件。
我建议做自定义距离函数,而不是额外的维度,以避免任何扭曲。您可以在R中创建一个自定义距离函数,方法是编写自己的函数,然后将结果提供给dbscan()或optics()。
您会注意到它要么接受数据矩阵,要么接受距离矩阵。您可以让R知道您的对象是一个带有函数as.dist()的距离矩阵。这是来自stats包的。
https://stackoverflow.com/questions/38407551
复制相似问题