目录

  • 1.什么是层次聚类?
  • 2. 如何用python实现
  • 参考链接:

1.什么是层次聚类?

常用于 1维数据 的自动分组,如下图所示,

  1. 把数据用【主成分分析】的方法把数据从多维压缩为1维,
  2. 然后使用层次聚类算法,把它们的树结构计算出来,
  3. 然后根据树的结构,把它们分解成为我们需要的组,例如我们需要分为3组,就使用图中的黄色直线,根据树结构分成3组即可。

层次聚类算法分为两类:自上而下和自下而上。
凝聚层级聚类(HAC)是自下而上的一种聚类算法。HAC首先将每个数据点视为一>个单一的簇,然后计算所有簇之间的距离来合并簇,直到所有的簇聚合成为一个簇为止。

具体步骤:

首先我们将每个数据点视为一个单一的簇,然后选择一个测量两个簇之间距离的度量标准。例如我们使用average linkage作为标准,它将两个簇之间的距离定义为第一个簇中的数据点与第二个簇中的数据点之间的平均距离。
在每次迭代中,我们将两个具有最小average linkage的簇合并成为一个簇。
重复步骤2知道所有的数据点合并成一个簇,然后选择我们需要多少个簇。
层次聚类
优点:
(1)不需要知道有多少个簇
(2)对于距离度量标准的选择并不敏感
缺点:效率低

2. 如何用python实现

  1. 对数据进行聚类
import scipy.cluster.hierarchy as hcluster
linkage = hcluster.linkage(data, method='single')
# data:训练样本
# method:类距离的计算方式(single:两个类之间最短距离的点的距离、complete:两个类之间最长距离的点的距离、centroid:两个类之间所有点的中点的距离)
  1. 将聚类结果绘图
import scipy.cluster.hierarchy as hcluster
hcluster.dendrogram(linkage)
#linkage:层次聚类的结果
# dendrogram()方法为我们展示层次聚类得到的层次图
  1. 对层次聚类结果进行划分
import scipy.cluster.hierarchy as hcluster
pTarget = hcluster.fcluster(linkage, n, criterion='maxclust')
# linkage:层次聚类的结果
# n:要聚的类数量
# criterion:划分方法,使用maxclust,最大划分法

参考链接:

[1] 聚类算法——层次聚类算法 2018.2
[2] 层次聚类python,scipy(dendrogram, linkage,fcluster函数)总算有博文说清楚层次聚类Z矩阵的意义了 2021.6
[3] Python scipy.cluster.hierarchy.dendrogram用法及代码示例 ;
[4] python dendrogram_Python中的凝聚层次聚类示例 2020.11
[5] 聚类分析python画树状图–Plotly(dendrogram)用法解析 2018.8

层次聚类算法及通过python的scipy进行计算相关推荐

  1. python 凝聚层次聚类_关于层次聚类算法的python实现

    from scipy.cluster import hierarchy 0.层次聚类的概念 层次聚类和k-means一样都是很常用的聚类方法.层次聚类是对群体的划分,最终将样本划分为树状的结构.他的基 ...

  2. python层次聚类法画图_Python实现简单层次聚类算法以及可视化

    本文实例为大家分享了Python实现简单层次聚类算法,以及可视化,供大家参考,具体内容如下 基本的算法思路就是:把当前组间距离最小的两组合并成一组. 算法的差异在算法如何确定组件的距离,一般有最大距离 ...

  3. 利用层次聚类算法进行基于基站定位数据的商圈分析

    1. 背景与挖掘目标 1.1 背景 • 随着个人手机和网络的普及,手机已经基本成为所有人必须持有的工具. • 根据手机信号再地理空间的覆盖情况结合时间序列的手机定位数据可以完整的还原人群的现实活动轨迹 ...

  4. 层次聚类算法原理总结

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 层次聚类(hierarchical clustering)基于簇间 ...

  5. ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调

    ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调 目录 输出结果 实现代码 输出结果 实现代码 #!/usr/bin/python # co ...

  6. 层次聚类算法 算法_聚类算法简介

    层次聚类算法 算法 Take a look at the image below. It's a collection of bugs and creepy-crawlies of different ...

  7. 【火炉炼AI】机器学习023-使用层次聚类算法构建模型

    [火炉炼AI]机器学习023-使用层次聚类算法构建模型 (本文所使用的Python库和版本号: Python 3.6, Numpy 1.14, scikit-learn 0.19, matplotli ...

  8. 无监督学习之层次聚类算法

    层次聚类算法 1.定义 2. 自底向上的合并算法 2.1 计算过程 2.2.两个组合数据点间的距离 2.3实例 1.定义 层次聚类(Hierarchical Clustering)属于聚类算法,通过计 ...

  9. 机器学习-Hierarchical clustering 层次聚类算法

    学习彭亮<深度学习基础介绍:机器学习>课程 假设有N个待聚类的样本,对于层次聚类来说,步骤: (初始化)把每个样本归为一类,计算每两个类之间的距离,也就是样本与样本之间的相似度: 寻找各个 ...

最新文章

  1. AsyncHttpServer 异步回调,并发
  2. 算法训练营08-分治和回溯
  3. matlab里查看图像属性,MATLAB绘图属性操作
  4. Linux笔记-手动配置yum及光盘安装rz
  5. 算法题存档20190206
  6. 单元测试注意事项总结(一)
  7. 弯管机编程软件电脑版_乐高Wedo2.0电脑版下载
  8. linux内核网桥源码,Linux-kernel网桥代码分析(二)
  9. Ubuntu 可视化图片——eog
  10. 2.SQL的CRUD操作
  11. 基于Quick-cocos2d-x 2.2.3 的动态更新实现
  12. C++学习路线必读4本书
  13. 假设有四个作业,它们的提交、运行时间如下表所示。若采用高响应比优先调度算法,试问平均周转时间和平均带权周转时间为多少?
  14. 小马哥----高仿三星note3 N9006主板型号A202 高通芯片刷机拆机图示
  15. 软件工程之制定计划①(可行性研究报告、项目开发计划)
  16. 软件设计师--系统开发与运行
  17. IBM x3750 M4之IMM管理
  18. PMP之项目经理的角色
  19. [图像处理]-Opencv中数据类型CV_8U, CV_16U, CV_16S, CV_32F 以及 CV_64F是什么?
  20. 使用WebRTC搭建前端视频聊天室-01——入门篇

热门文章

  1. 转Matlab读写TIFF格式文件
  2. 【宫水三叶的刷题日记】730. 统计不同回文子序列(困难)
  3. 如何快速构建一个具有可扩展性、弹性伸缩性、安全性、成本低、易用性的无服务器应用?
  4. uniapp stopPropagation 无效
  5. EasyRecovery15最新版功能强大的电脑数据恢复
  6. 最小生成树-graphics动画设计
  7. application.properties转换成application.yml配置Oracle数据库连接时报错
  8. 不含粪便废水的抽取设备建筑材料英国UKCA认证—EN 12050-2
  9. js函数声明与赋值详解
  10. 苹果cms10的php.ini目录列表,苹果cmsV10采集插件 安装包(解压后查看教程)