提及聚类算法的话,你们可能都知道Kmeans,做为密度聚类算法中的一种,DBSCAN也是一种较为经常使用的算法,DBSCAN中重要的参数是Eps和MinPts,那么这两个参数该如何肯定呢?算法
(1) Eps的值能够使用绘制k-距离曲线(k-distance graph)方法得当,在k-距离曲线图明显拐点位置为对应较好的参数。若参数设置太小,大部分数据不能聚类;若参数设置过大,多个簇和大部分对象会归并到同一个簇中。ide
K-距离:K距离的定义在DBSCAN算法原文中给出了详细解说,给定K邻域参数k,对于数据中的每一个点,计算对应的第k个最近邻域距离,并将数据集全部点对应的最近邻域距离按照降序方式排序,称这幅图为排序的k距离图,选择该图中第一个谷值点位置对应的k距离值设定为Eps。通常将k值设为4。spa
(2) MinPts的选取有一个指导性的原则(a rule of thumb),MinPts≥dim+1,其中dim表示待聚类数据的维度。MinPts设置为1是不合理的,由于设置为1,则每一个独立点都是一个簇,MinPts≤2时,与层次距离最近邻域结果相同,所以,MinPts必须选择大于等于3的值。若该值选取太小,则稀疏簇中结果因为密度小于MinPts,从而被认为是边界点儿不被用于在类的进一步扩展;若该值过大,则密度较大的两个邻近簇可能被合并为同一簇。所以,该值是否设置适当会对聚类结果形成较大影响。.net
参考orm
[1]https://blog.csdn.net/zhouxianen1987/article/details/68945844/对象
喜欢就关注一下啦~~~blog