ArcGIS应用之基于密度的聚类分析 下载本文

内容发布更新时间 : 2025/1/6 2:07:27星期一 下面是文章的全部内容请认真阅读。

ArcGIS应用之基于密度的聚类分析

我们生活在数据大爆炸时代,每时每刻都在产生海量的数据如视频,文本,图像和博客等。由于数据的类型和大小已经超出了人们传统手工处理的能力范围。聚类,作为一种最常见的无监督学习技术,可以帮助人们给数据自动打标签,已经获得了广泛应用。聚类的目的就是把不同的数据点按照它们的相似与相异度分割成不同的簇(注意:簇就是把数据划分后的子集),确保每个簇中的数据都是尽可能相似,而不同的簇里的数据尽可能的相异。从模式识别的角度来讲,聚类就是在发现数据中潜在的模式,帮助人们进行分组归类以达到更好理解数据的分布规律。

今天要跟大家分享的这个工具就跟聚类有关,它是ArcGIS中一个空间模式识别工具——基于密度的聚类分析。基于密度的聚类工具的工作原理是检测点集中的区域以及被空的或稀疏的区域所分隔的区域。不属于聚类的点将被标记为噪点。

一、聚类的应用

?

城市供水网络是一种重要的隐形地下资产。管道破裂和爆裂的聚类可以指明潜在的问题。使用基于密度的聚类工具,工程师可以找到这些聚类的位置并对供水网络中的高危区域抢先采取行动。

? 假设您拥有 NBA 球员所有成功的和失败的投篮位置数据。基于密度的聚类可以显示每名球员成功与失败投篮位置的不同模式。然后可利用此信息告知比赛战术。

? 假设您正在研究一种特别的害虫传播疾病,并且有一个代表您研究区域内家庭的点数据集,其中有些家庭已经被感染,有些家庭尚未被感染。通过使用基于密度的聚类工具,您可以确定受害家庭的最大聚类,以帮助确定一个区域以开始害虫的处理和消灭。

? 可对自然灾害或恐怖袭击之后的地理定位推文进行聚类,根据所确定的聚类大小和位置报告救援和疏散需求。

? 聚类可以将大规模的客户数据按照客户喜好进行归类,比如下图1展示了聚类后发现了3个簇。

图1 聚类的应用举例

二、功能定义

聚类算法很多,包括基于划分的聚类算法(如:k-means),基于层次的聚类算法(如:BIRCH),基于密度的聚类算法(如:DBSCAN),基于网格的聚类算法( 如:STING )等等。本文将介绍聚类中一种最常用的方法——基于密度的聚类方法(density-based clustering)。

这个工具的核心功能是检测点数据集中集聚区域和被空的或稀疏区域所分隔的区域。这个工具使用了非监督的机器学习聚类算法,这个算法并不需要预先针对聚类进行训练,仅根据空间位置和到指定邻域的距离通过最小聚类点数作为约束自动检测模式。详细的算法原理请参阅后面的原理分析部分。

三、使用工具步骤

可能大家一听到“非监督机器学习”,瞬间就会觉得这是个很难使用的工具,事实上这个工具恰恰非常简单易用,如图2所示。输入和输出都很明确,也非常易于理解。

图2 非监督机器学习的过程

3.1输入参数

1. 设置点图层,在大数据分析工具中,这个点图层的空间参考要求是投影坐标系的,

如果数据本身不是,那可以通过设置环境变量中的工具处理空间参考为投影坐标系,比如3857,来实现动态投影;

2. 设置最小点数,这个值可以理解为最少多少个点可以被考虑为一个聚类,分析区内

如果点数低于这个值,说明密度低于临界值,过于稀疏,反之,这些点可以组成一个聚类;

3. 设置搜索半径,这个值用于创建分析邻域,以分析点为中心,这个值为半径,就可

以缓冲一个圆,这个圆就可以用来判断中心点是否属于哪个聚类或是噪点;

4. 设置输出图层名;

5. 选择是否仅分析当前地图范围的要素。

3.2分析过程

从输入参数和输出结果来判断,GA工具中的点聚类工具,后面对应的算法应该是DBSCAN, 后面我还会细说这个算法,在这儿先大概描述下工具背后执行的逻辑:

1. 针对待分析点先按照搜索半径生成缓冲区; 2. 查询缓冲区范围内覆盖的点;

3. 如果点数> 最小点数,就标识中心点属于某个聚类ID,然后再针对上面搜索到的点

执行buffer创建,根据判断条件标识聚类ID;

4. 如果点数< 最小点数,就标识为噪点,重新跳回起点,分析下一个点;

按上面的循环迭代后,每个点都会被判断为属于某个聚类,或者是噪点。 3.3 输出结果