机器学习之层次聚类

Posted 超人汪小建(seaboat)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习之层次聚类相关的知识,希望对你有一定的参考价值。

层次聚类

聚类是将样本进行归类形成K个簇,层次聚类是其中的一种方法。它将数据组成一棵聚类树,过程可以是凝聚形式或分裂形式。

核心思想

凝聚是一开始将每个样本当做一个聚类,接着通过计算将距离最近的两个聚类合并,成为新聚类,每次合并聚类总数减少一个,不断循环合并操作,直到所有聚类合并成一个聚类或当聚类数量到达某预定值或当聚类直接距离达到某阀值后停止合并。而分裂则与凝聚相反,一开始将所有样本当做一个聚类,每次分裂一个聚类,直到满足某条件。

这里写图片描述

算法步骤

  1. 计算n个样本两两之间的距离
  2. 构造n个簇
  3. 找到最近距离的两个簇并合并,簇个数减少1
  4. 循环遍历找出距离最近的两个簇并合并,直到满足终止条件

距离可以是两簇最小距离、最大距离、均值距离或平均距离

代码实现

import pylab as pl
from operator import itemgetter
<

以上是关于机器学习之层次聚类的主要内容,如果未能解决你的问题,请参考以下文章

机器学习之Kd树-DBSCAN聚类算法概述

机器学习之聚类

机器学习之聚类

携英第四期丨机器学习之密度聚类算法

机器学习之聚类

机器学习之无监督学习-K均值聚类算法