首页 理论教育 基于密度的聚类方法优化策略

基于密度的聚类方法优化策略

时间:2023-06-27 理论教育 版权反馈
【摘要】:该算法将具有足够密度的点作为聚类中心,即核心点,不断对区域进行扩展。该算法利用基于密度的聚类的概念,即要求聚类空间的一定区域内所包含对象的数目不小于某一给定阈值。例4_7_DBSCAN.py运行结果如图4-14所示。图4-14DBSCAN聚类运行结果

基于密度的聚类方法优化策略

1.DBSCAN算法原理

具有噪声的基于密度的聚类算法DBSCAN(Density-Based Spatial Clustering of Applicationswith Noise)是1996年提出的一种基于密度空间的数据聚类算法。该算法将具有足够密度的区域划分为簇,并在具有噪声的空间数据库中发现任意形状的簇,它将簇定义为密度相连的点的最大集合。

该算法将具有足够密度的点作为聚类中心,即核心点,不断对区域进行扩展。该算法利用基于密度的聚类的概念,即要求聚类空间的一定区域内所包含对象(点或其他空间对象)的数目不小于某一给定阈值

DBSCAN算法的实现过程如下:

(1)通过检查数据集中每点的Eps邻域(半径Eps内的邻域)来搜索簇,如果点p的Eps邻域包含的点多于MinPts个,则创建一个以p为核心对象的簇。

(2)迭代地聚集从这些核心对象直接密度可达的对象,这个过程可能涉及一些密度可达簇的合并(直接密度可达是指:给定一个对象集合D,如果对象p在对象q的Eps邻域内,而q是一个核心对象,则称对象p为对象q直接密度可达的对象)。

(3)当没有新的点添加到任何簇时,该过程结束。

其中,Eps和MinPts即需要指定的参数。

2.DBSCAN算法案例

扩展库sklearn.cluster实现了DBSCAN聚类算法,其构造方法的语法格式如下:

def__init__(self,eps=0.5,min_samples=5,metric='euclidean',metric_params=None,algorithm='auto',leaf_size=30,p=None,n_jobs=1)(www.xing528.com)

常用参数如表4-12所示,常用方法如表4-13所示。

表4-12 DBSCAN类常用参数

表4-13 DBSCAN类常用方法

我们选用iris数据库(鸢尾花数据集)进行DBSCAN聚类算法的研究,提取iris中的4个属性值,采用sklearn.cluster中的DBSCAN方法构造聚类器,邻域参数设置(0.4,9)。采用鸢尾花数据集进行DBSCAN聚类模型训练以及对最终聚类结果的展示,代码如下所示。

例4_7_DBSCAN.py

运行结果如图4-14所示。

图4-14 DBSCAN聚类运行结果

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈