我想对我的数据点执行DBSCAN,但是我没有访问数据的权限,我只有数据点的成对距离。此外,我不知道集群的数量,但我确实希望每个集群至少包含40个数据点。DBSCAN在这些条件下工作吗?例如,我能要这样的东西吗?还是需要更多的信息?我想强调的是,我已经计算了成对距离,这不是欧几里得或其他方法的结果。
from sklearn.cluster import DBSCAN
db = DBSCAN(min_samples=40, metric="precomputed")
y_db = db.fit_predict(my_pairwise_distance_matrix)我不知道什么是eps参数的DBSCAN()。我该怎么设置呢?
发布于 2017-07-14 06:59:10
DBSCAN不保证最小群集大小。有一些已知的情况。维基百科,一个集群可以有少于"minPts“点。此外,它还有噪音的概念:没有足够的邻居的点。
关于epsilon,也可以看维基百科的文章。由于您没有指定集群的数量,所以这个参数主要控制您得到的集群数量。把它设为0,一切都会很嘈杂。将其设置为最大距离,所有内容都将位于一个集群中。
真的读了那篇文章。它是关于密度的,而不是关于星团大小的。
https://datascience.stackexchange.com/questions/20416
复制相似问题