动态聚类往往聚出来的类有点圆形或者椭圆形。基于密度扫描的算法能够解决这个问题。思路就是定一个距离半径,定最少有多少个点,然后把可以到达的点都连起来,判定为同类。在r中的实现
library(fpc)
newiris <- iris[, 1:4]
ds <- dbscan(newiris, eps = 0.5, MinPts = 5, scale = T,
showplot = T, method = "raw")# 画出来明显不对 把距离调小了一点
table(ds$cluster, iris$Species)
setosa versicolor virginica
0 5 11 18
1 45 0 0
2 0 39 32
画出来的效果明显不对