我有一个数据框df,由两列组成:x和y坐标。每行都指向一个点。我将其输入dbscan函数以获得df中点的聚类。
library("fpc")
db = fpc::dbscan(df, eps = 0.08, MinPts = 4)
plot(db, df, main = "DBSCAN", frame = FALSE)
通过使用print(db),我可以看到dbscan返回的结果。
> print(db)
dbscan Pts=13131 MinPts=4 eps=0.08
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
border 401 38 55 5 2 3 0 0 0 8 0 6 1 3 1 3 3 2 1 2 4 3
seed 0 2634 8186 35 24 561 99 7 22 26 5 75 17 9 9 54 1 2 74 21 3 15
total 401 2672 8241 40 26 564 99 7 22 34 5 81 18 12 10 57 4 4 75 23 7 18
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
border 4 1 2 6 2 1 3 7 2 1 2 3 11 1 3 1 3 2 5 5 1 4 3
seed 14 9 4 48 2 4 38 111 5 11 5 14 111 6 1 5 1 8 3 15 10 15 6
total 18 10 6 54 4 5 41 118 7 12 7 17 122 7 4 6 4 10 8 20 11 19 9
45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68
border 2 4 2 1 3 2 1 1 3 1 0 2 2 3 0 3 3 3 3 0 0 2 3 1
seed 15 2 9 11 4 8 12 4 6 8 7 7 3 3 4 3 3 4 2 9 4 2 1 4
total 17 6 11 12 7 10 13 5 9 9 7 9 5 6 4 6 6 7 5 9 4 4 4 5
69 70 71
border 3 3 3
seed 1 1 1
total 4 4 4
从上面的总结中,我可以看到聚类2由8186个种子点(核心点)组成,聚类1由2634个种子点组成,聚类5由561个点组成。
我定义了最大的簇,因为其中包含最大数量的种子点。因此,在这种情况下,最大的群集是群集2。第一,第二,第三最大群集是2、1、5。
它们是直接返回最大簇或k个最大簇中的行(点)的直接方法吗?]
我可以间接地做到这一点。
但是以上方法重新计算了许多已知结果,如print(db)
我有一个数据框df,由2列组成:x和y坐标。每行都指向一个点。我将其输入dbscan函数以获取df中点的聚类。 library(“ fpc”)db = fpc :: ...
dbscan
功能似乎没有保留数据。