【发布时间】:2021-07-06 21:44:42
【问题描述】:
我正在研究一种基于地理距离匹配人的算法,为此,我正在使用 DBSCAN 算法。
这是我运行代码后得到的输出
db_e= dbscan::dbscan(eng2_scaled, eps= 0.5, minPts= 3)
DBSCAN clustering for 10 objects.
Parameters: eps = 0.5, minPts = 3
The clustering contains 1 cluster(s) and 7 noise points.
0 1
7 3
Available fields: cluster, eps, minPts
有没有一种方法可以将噪声点(在此算法中,居住在更远的个人)强制放入我的集群中,而无需依赖手动将它们放入集群中?
这是我正在使用的代码
id long lat
[1,] -1.08661792 0.6479382 0.29786292
[2,] -0.92913706 0.6606378 0.27583940
[3,] -0.77165620 -0.0262808 0.01227102
[4,] -0.61417534 0.6804854 0.17569930
[5,] -0.45669449 0.7748932 -1.45946459
[6,] -0.14173277 -2.3581307 0.07462387
[7,] 0.01574809 -0.5405659 -0.84936268
[8,] 0.80315237 0.5367247 -1.25770012
[9,] 1.43307580 0.4708911 0.80020084
[10,] 1.74803752 -0.8465929 1.93003003
【问题讨论】:
-
您是否尝试过为
eps使用更大的值? -
嗨,是的,我有,但它没有处理噪声点,而是集群大小(尽管 minpts 为 3)增加了......
-
在您显示的输出中,只有一个簇(三个点),其余所有点都是噪声点。如果没有一些噪声点进入集群,如何增加集群大小?
-
嗯,所以如果我增加 eps,比如说从 0.5(上面的值)到 1(k=3 常数) - 仍然只有 1 个簇,有 4 个点(不是 3) 和 6 个噪声点。
-
但我想要的是看看是否有办法增加集群的数量并将这些噪声点分布在这些集群中。
标签: r machine-learning data-science dbscan