gpt4 book ai didi

python - 如何找到 DBSCAN 的最佳参数?

转载 作者:行者123 更新时间:2023-12-05 01:14:15 25 4
gpt4 key购买 nike

有没有什么工具可以计算出 DBSCAN 算法的 minpts 和 eps 的最优值?

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

from sklearn.cluster import DBSCAN

我尝试了几个 minpts 和 eps 的算法,但没有任何计算。

最佳答案

epsminpts 都被视为超参数。给定数据集,没有算法可以确定这些的完美值。相反,它们必须在很大程度上基于您要解决的问题进行优化。

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

minpts 应该随着数据集大小的增加而变大。

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

  1. 设 k = 最近邻居的数量
  2. 对于 k 值,对于数据集中的每个点,计算每个点与其 k 个最近邻点之间的平均距离(某些包在某处内置了此函数)
  3. 在 X 轴上绘制点数,在 y 轴上绘制您计算的平均距离。
  4. 生成的图形应该会增加(只要您按平均距离对数组进行越来越多的排序)并向上凹。应该有一个增加率急剧跳跃的点,这个点称为肘点,包含您的最佳 eps,即肘点的 y 值。
  5. 使用不同的 k 值运行此算法并比较结果。

如果有确定的方法来解决最优值,它会被大量记录在案。目前,我们所能做的就是给出我们最好的计算猜测。再次强调,您尝试解决的问题可能会影响您选择肘点的方式 - 了解这一点很重要。

关于python - 如何找到 DBSCAN 的最佳参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58983528/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com