怎样查找网站域名归属,高明网站建设公司,网站首页html制作代码,做爰网站下载第二章: 机器学习与神经网络概述
第一部分#xff1a;聚类算法理论与实践
第二节#xff1a;DBSCAN 聚类算法#xff08;Density-Based Spatial Clustering of Applications with Noise#xff09;
内容#xff1a;密度聚类原理、参数选择及边界点处理。 一、DBSCAN 简…第二章: 机器学习与神经网络概述
第一部分聚类算法理论与实践
第二节DBSCAN 聚类算法Density-Based Spatial Clustering of Applications with Noise
内容密度聚类原理、参数选择及边界点处理。 一、DBSCAN 简介
DBSCAN 是一种基于密度的聚类算法不依赖于聚类数量的预设能自动识别任意形状的簇并能识别离群点噪声。它是处理噪声数据和不规则聚类结构的经典算法。 二、核心概念 ε 邻域ε-neighborhood 给定一个样本点 pp以半径 ε 为范围画一个圆或高维球体该区域内的所有点称为 p 的 ε 邻域。 核心点Core Point 如果某点的 ε 邻域内至少包含 MinPts 个点包括它自身它就是核心点。 密度直达Directly Density-Reachable 如果点 q 在点 p 的 ε 邻域内且 p 是核心点则称 q 密度直达于 p。 密度可达Density-Reachable 若存在一个点序列 使得 , 且序列中的点两两密度直达则称 q 密度可达于 p。 边界点Border Point 自身不是核心点但在某个核心点的 ε 邻域内的点。 噪声点Noise Point 既不是核心点也不是任何核心点 ε 邻域内的点。 三、DBSCAN 聚类步骤
输入数据集 D参数 ε 和 MinPts
输出簇集合与噪声点1. 对每个未访问的点 pa. 标记为已访问b. 获取 p 的 ε 邻域 Nc. 若 N 中点数 MinPts则标记为噪声d. 否则以 p 为核心点扩展新簇- 将 N 中所有点加入簇- 对每个新加入点 q- 若 q 未访问标记为已访问- 若 q 的 ε 邻域中点数 ≥ MinPts则将其邻域也加入当前簇。四、参数选择 ε邻域半径 太小大部分点被当作噪声 太大不同簇可能合并。 通常使用 k-距离图 寻找拐点作为 ε 的经验值。 MinPts最小密度 一般经验MinPts ≥ 数据维度数 1 通常在 410 之间调试。 五、优缺点
优点缺点自动决定簇数量对参数 ε 和 MinPts 较敏感可识别任意形状簇高维数据中距离不再可靠“维数灾难”可识别噪声点核心点密度不均时效果差 六、示例代码使用 sklearn
from sklearn.cluster import DBSCAN
from sklearn.datasets import make_moons
import matplotlib.pyplot as plt# 生成数据
X, _ make_moons(n_samples300, noise0.05)# DBSCAN 聚类
db DBSCAN(eps0.2, min_samples5)
labels db.fit_predict(X)# 可视化
plt.scatter(X[:, 0], X[:, 1], clabels, cmaprainbow)
plt.title(DBSCAN Clustering)
plt.show()七、DBSCAN 关键图示建议 ε 邻域示意图展示核心点、边界点、噪声点的空间分布。 聚类结果图展示任意形状聚类结果。 k-距离图帮助选取 ε。 算法流程图以核心点扩展簇的过程。 总结 DBSCAN 是一种无需指定簇数、可识别任意形状聚类结构的密度聚类算法 关键在于 ε 与 MinPts 参数选择 与 K-means 相比更适合有噪声、不规则形状的实际场景。