DBSCAN kdist-Plot多个波谷

问题描述 投票:0回答:1

我正在使用Sander等人。 1998 确定MinPts和epsilon在我的数据集上使用DBSCAN。正如桑德斯(Sanders)等人所建议的那样,分钟数= dim * 2-1 = k(在我的情况下为9维->分钟数= k = 17)。在本文中,应该选择“第一谷”。我可以看到两个山谷,但是第一个是哪个?您会为epsilon选择什么价值?kdistplot_with_duplicates

[由于桑德斯还建议,仅当没有重复项时才应使用此方法,没有重复项时应使用:(尽管我认为在这种情况下应该没有关系)kdistplot_without_duplicates。哪个山谷应被视为“第一个”山谷?

使用的代码:

ns = 17
nbrs = NearestNeighbors(n_neighbors=ns, metric='euclidean').fit(data)
distances, indices = nbrs.kneighbors(data)
distanceDec = sorted(distances[:,ns-1], reverse=True)
plt.plot(list(range(1,683+1)), distanceDec)
python parameters scikit-learn cluster-analysis dbscan
1个回答
0
投票

[它是左边的山谷(ε的最小值):有了这个值,左边的所有点都将变得不聚簇(视为噪音),右边的所有点将被聚类。

您可以阅读原始的DBSCAN paper,尤其是参见图4。

© www.soinside.com 2019 - 2024. All rights reserved.