通过不使用原始研究论文中已经建议的算法来估计 DBSCAN 的 eps
eps estimation for DBSCAN by not using the already suggested algorithm in the Original research paper
我必须使用 python 实现 DBSCAN,epsilon 估计一直存在问题,因为原始研究论文中已经建议的方法假设数据集的 blob 分布,而在我的例子中是更多的是在某些时间间隔内跳跃的治愈适合数据。跳跃导致 DBSCAN 在跳跃之间的间隔内形成各种数据集的不同集群(这对我来说已经足够了),但是不同数据集的动态 epsilon 计算不会产生预期的结果,因为这些点往往位于一条直线上许多间隔,并且更改 'k' 值会导致 eps 值发生相当大的变化。
尝试使用 OPTICS 算法,您将不需要在其中估计 eps。
此外,我会建议递归回归,其中您使用 python 的最佳曲线拟合 scipy.optimize.curve_fit
以获得最佳曲线,然后找到曲线上所有点的均方根误差。然后删除 'n'% 的点,并递归重复此操作,直到您的 rms 误差小于您的阈值。
我必须使用 python 实现 DBSCAN,epsilon 估计一直存在问题,因为原始研究论文中已经建议的方法假设数据集的 blob 分布,而在我的例子中是更多的是在某些时间间隔内跳跃的治愈适合数据。跳跃导致 DBSCAN 在跳跃之间的间隔内形成各种数据集的不同集群(这对我来说已经足够了),但是不同数据集的动态 epsilon 计算不会产生预期的结果,因为这些点往往位于一条直线上许多间隔,并且更改 'k' 值会导致 eps 值发生相当大的变化。
尝试使用 OPTICS 算法,您将不需要在其中估计 eps。
此外,我会建议递归回归,其中您使用 python 的最佳曲线拟合 scipy.optimize.curve_fit
以获得最佳曲线,然后找到曲线上所有点的均方根误差。然后删除 'n'% 的点,并递归重复此操作,直到您的 rms 误差小于您的阈值。