无监督数据处理与多层人工神经网络实现
1. 聚类分析算法
1.1 DBSCAN 算法
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的空间聚类算法,它不假设数据呈球形分布,也不需要手动指定聚类层次的截断点。该算法通过指定半径 𝜀 内的点数来定义密度,并根据以下规则为每个数据点分配标签:
- 核心点 :若指定半径 𝜀 内至少有指定数量(MinPts)的相邻点,则该点为核心点。
- 边界点 :半径 𝜀 内的邻居点数少于 MinPts,但位于某个核心点的 𝜀 半径内的点。
- 噪声点 :既不是核心点也不是边界点的点。
DBSCAN 算法的步骤总结如下:
1. 为每个核心点或相连的核心点组形成一个单独的聚类。(若核心点之间的距离不超过 𝜀,则认为它们相连。)
2. 将每个边界点分配到其对应的核心点所在的聚类中。
1.2 不同聚类算法的比较
为了更直观地展示 DBSCAN 的优势,我们创建了一个半月形结构的数据集,并比较了 K-means 聚类、层次聚类和 DBSCAN 算法的效果。
from sklearn.datasets import make_moons
import matplotlib.pyplot as plt
# 创建半月形数据集
X, y = make_moons(n_s
超级会员免费看
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



