层次聚类详解(附代码)

本文深入探讨了层次聚类算法,包括其工作流程、优缺点和K值的确定方法。层次聚类避免了K-Means中初始K值和中心点选择的问题,但计算复杂度较高。通过实例展示了如何在Python中实现层次聚类,以及如何通过可视化和统计指标确定合适的K值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本篇博客主要介绍机器学习算法中的层次聚类,层次聚类不同于传统的K-Means聚类算法,它在初始K值和初始聚类中心点的选择问题上会存在优势。 

层次聚类

层次聚类就是一层一层的进行聚类,可以由下向上,或由上向下进行聚类。先计算样本之间的距离,每次将距离最近的点合并到同一个类。然后,再计算类与类之间的距离,将距离最近的类合并为一个大类。不停的合并,直到合成了一个类。其中类与类的距离的计算方法有:最短距离法,最长距离法,中间距离法,类平均法等。

层次分解顺序为:自下向上和自上向下两种,即凝聚的层次聚类算法和分裂的层次聚类算法,这两种方法没有优劣之分,只是在实际应用的过程中根据数据的特点以及想得到的类,来考虑具体那种方法计算时所花费的时间少,数据不同时间也会相应的不同。

层次聚类的流程

凝聚型层次聚类的策略是先将每个对象作为一个簇,然后合并这些原子簇为越来越大的簇,直到所有对象都在一个簇中,或者某个终结条件被满足。绝大多数层次聚类属于凝聚型层次聚类,它们只是在簇间相似度的定义上有所不同。这里给出采用最小距离的凝聚层次聚类算法流程:

  1. 将每个对象看作一类,计算两两之间的最小距离;
  2. 将距离最小的两个类合并成一个新类;
  3. 重新计算新类与所有类之间的距离;
  4. 重复2、3,直到所有类最后合并成一类;

层次聚类的优缺点 

优点&

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值