我只有一个非常小的样本大小,包含这16个坐标:
x <- c(13.41667,13.31070,13.58806,13.31070,13.18361,
13.19694,13.27821,13.25917,13.62833,13.31056,
13.30170,13.30880,13.40210,13.41010,13.53250,
13.06220)
y <- c(52.47944,52.45768,52.54944,52.45768,52.43417,
52.50778,52.50499,52.57444,52.44444,52.45750,
52.45370,52.56440,52.46750,52.52050,52.38220,
52.38130)我尝试先用kmeans对它们进行聚类,但我认为面向圆的聚类并不是我想要的。我期待着找到一种可能性来聚类点,每个聚类至少有2个点,这意味着关于它们的密度
z <- cbind(x,y)
res <- dbscan(z, eps=0.05, minPts = 2)
hullplot(z,res)

但这种方式会导致具有许多区域外的点的聚类。你们还有没有其他想法,如何用这样的小样本对空间数据进行聚类?
发布于 2017-08-24 04:48:03
尝试放松eps参数。
kNNdistplot(z, k = 2)
## Looks like the 'knee' is at eps = 0.08ish rather than 0.05
abline(h=.08, col = "red", lty=2)

然后,
res <- z %>% dbscan(., eps = 0.08, MinPts = 2)
hullplot(z, res)

https://stackoverflow.com/questions/45848735
复制相似问题