python调用包进行层次聚类分析

聚类是一种非常重要的无监督学习方法,聚类分析发展至今已经出现了多种不同的算法,层次聚类是其中的典型代表,python作为机器学习编程的有力工具,对多种聚类方法进行了集成,本文主要介绍利用python中集成的包进行层次聚类。
层次聚类首先需要选定一种距离度量,基于这种度量获取所有样本的距离矩阵。初始时先把每个点作为一个单独的簇,然后要再选定一种衡量簇与簇之间距离的度量,基于这种度量合并两个最近的簇,合并之后更新样本的距离矩阵。对这个过程进行循环操作,直到所有点被合并为一个簇为止。
这种方法的有点在于不需要提前指定聚类数量K,可以根据最终的计算结果,结合对聚类树状图的观察选取合理的结果,但随之而来的问题是计算量的增大。
python中实现方式如下:

import scipy.cluster.hierarchy as sch  
import seaborn as sns
import matplotlib.pylab as plt                                                #导入需要的包
Z = sch.linkage(matrix, method='average', metric='euclidean')                 #实现聚类的关键函数,其中matrix为数据阵,metric为计算两点间距离的方式,method为计算簇间距离的方式
label = sch.cut_tree(Z, height)                                               #在聚类树状图的特定位置截取,可以获得不同的聚类结果,返回各点的类别标签
sch.dendrogram(Z)                                                      
  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值