聚类算法及python实现——层次聚类

  • Post author:
  • Post category:python




聚类算法及python实现——层次聚类


构建二叉树



步骤

step1:将每个样品都看作一类

step2:计算每个样品两两之间的距离

step3:合并距离最近的两类变成一个新的类

step4:计算各个类之间的距离,合并,直至只有一类

类与类的距离计算method:

(1)最短距离法single

(2)最长距离法complete

(3)中间距离法weighted

(4)重心法centroid

(5)类平均法average

(6)离差平方和法ward



python代码

from scipy.cluster import hierarchy
from scipy.cluster.hierarchy import linkage
hc = linkage(data, method='single', metric='euclidean')



优势

(1)发现类别间的层次关系

(2)适用于任何形状的聚类

(3)可以不预先设置类别数



缺陷

(1)已执行的类不能撤销,类之间也不能交换对象

(2)计算复杂度高,大数据集不适用

(3)可能聚类成链状



版权声明:本文为qq_41985019原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。