机器学习进阶文档深度页
层次聚类
凝聚式方法从单样本簇开始按 linkage 逐步合并,形成可切割的树状层级。
学习前需要掌握
距离内容待补充聚类内容待补充
背景与问题
无需算法开始时固定最终簇数,适合小数据层级分析,但早期错误合并通常不可撤销。
概念定义
single、complete、average 和 ward 用不同规则定义簇间距离。
直观理解
先每人一组,再不断合并最相似的两个组,记录完整家谱树。
核心原理
linkage 改变簇形状偏好;特征缩放和距离选择决定结果。大数据的距离矩阵成本高。
数学表达
核心表达
linkage 改变簇形状偏好;特征缩放和距离选择决定结果。大数据的距离矩阵成本高。
变量含义
变量定义与本页概念定义一致,代码中的同名变量保持相同语义。
计算步骤
- 1标准化
- 2选择距离和 linkage
- 3每点成簇
- 4寻找最近簇
代码对应位置
示例 1层次聚类 实现:对应文档中的训练与预测逻辑。
计算与实现步骤
- 1
标准化
- 2
选择距离和 linkage
- 3
每点成簇
- 4
寻找最近簇
- 5
合并并更新距离
- 6
切割树状图
代码实现
示例 1
层次聚类 实现
层次聚类 实现
scikit-learn
example_01.py用途:对应文档中的训练与预测逻辑。
from sklearn.cluster import AgglomerativeClustering
model=AgglomerativeClustering(n_clusters=3,linkage="ward")
labels=model.fit_predict(X_scaled)代码解析
解析始终位于完整代码下方,并按实际代码段逐项对应。
输入数据与任务
对应文档中的训练与预测逻辑。
model- 组合预处理和估计器的模型对象。
Step 1 · 1–3 行
导入当前步骤需要的数值计算、预处理、模型或评价工具。依赖集中写在代码开头,便于复现。
from sklearn.cluster import AgglomerativeClustering
model=AgglomerativeClustering(n_clusters=3,linkage="ward")
labels=model.fit_predict(X_scaled)预期输出或运行结果
每条样本一个 0~2 的簇编号。
常见错误 · 3 条
- 忽略 linkage
- 大数据直接使用
- 簇号语义化
实际应用
- 层级客户分群
- 小样本探索
常见错误
忽略 linkage
大数据直接使用
簇号语义化
文档来源
06|无监督学习原始文档
学习资料/learning_tech/06_unsupervised_learning.md- §5 层次聚类
推荐学习资料
暂未收录相关资料
参考库不会生成虚假资源或无效外部链接。