首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何为DBSCAN寻找最优参数?

如何为DBSCAN寻找最优参数?
EN

Stack Overflow用户
提问于 2019-11-21 20:50:19
回答 1查看 8.5K关注 0票数 3

对于DBSCAN算法,是否有计算挖掘值和eps值的工具?

目前,我使用sklearn库来应用DBSCAN算法。

代码语言:javascript
运行
复制
from sklearn.cluster import DBSCAN

我尝试了几分钟和eps算法,但没有任何计算。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-11-21 21:19:44

epsminpts都被认为是超参数。在给定数据集的情况下,没有确定这些值的算法。相反,它们必须在很大程度上基于您试图解决的问题进行优化。

关于如何优化的一些想法:

随着数据集大小的增加,minpts应该更大。

eps是一个处理您要查找的集群半径的值。为了选择一个值,我们可以执行一种移动技术(一种通常用于确定K-均值聚类中的最优k的类似技术)。

somewhere)

  • Plot

  • 设k =k值的最近邻

  • 的数目,对于数据集中的每个点,计算每个点与其k最近邻之间的平均距离(一些包在X轴上的点数和y轴上的平均距离中构建了这个函数,而您的calculated.

  • The结果图应该是增加的(只要您按照平均距离对数组进行越来越多的排序)和凹形。应该有一个点,增长率急剧上升,这个点被称为弯头点,包含你的最佳eps,也就是弯头点的y值。

  • 使用不同的k值运行该算法,并比较结果。

如果有一个明确的方法来解决最优值,它将被大量记录下来。就目前而言,我们所能做的就是给出我们最好的猜测。再一次,你想要解决的问题可能会影响你选择肘点的方式--理解这一点很重要。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58983528

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档