详解python中层次聚类的fcluster函数

调用实例:

import scipy
import scipy.cluster.hierarchy as sch
from scipy.cluster.vq import vq,kmeans,whiten
import numpy as np
import matplotlib.pylab as pltpoints=scipy.randn(20,4)  #1. 层次聚类
#生成点与点之间的距离矩阵,这里用的欧氏距离:
disMat = sch.distance.pdist(points,'euclidean')
#进行层次聚类:
Z=sch.linkage(disMat,method='average')
#将层级聚类结果以树状图表示出来并保存为plot_dendrogram.png
P=sch.dendrogram(Z)
plt.savefig('plot_dendrogram.png')
#根据linkage matrix Z得到聚类结果:
cluster= sch.fcluster(Z, t=1, 'inconsistent') print "Original cluster by hierarchy clustering:\n",cluster

参数列表如下:

def fcluster(Z, t, criterion='inconsistent', depth=2, R=None, monocrit=None):

Z代表了利用“关联函数”关联好的数据。
比如上面的调用实例就是使用欧式距离来生成距离矩阵,并对矩阵的距离取平均
这里可以使用不同的距离公式

t这个参数是用来区分不同聚类的阈值,在不同的criterion条件下所设置的参数是不同的。
比如当criterion为’inconsistent’时,t值应该在0-1之间波动,t越接近1代表两个数据之间的相关性越大,t越趋于0表明两个数据的相关性越小。这种相关性可以用来比较两个向量之间的相关性,可用于高维空间的聚类

depth 代表了进行不一致性(‘inconsistent’)计算的时候的最大深度,对于其他的参数是没有意义的,默认为2

criterion这个参数代表了判定条件,这里详细解释下各个参数的含义:
1. 当criterion为’inconsistent’时,t值应该在0-1之间波动,t越接近1代表两个数据之间的相关性越大,t越趋于0表明两个数据的相关性越小。这种相关性可以用来比较两个向量之间的相关性,可用于高维空间的聚类
2. 当criterion为’distance’时,t值代表了绝对的差值,如果小于这个差值,两个数据将会被合并,当大于这个差值,两个数据将会被分开。
3. 当criterion为’maxclust’时,t代表了最大的聚类的个数,设置4则最大聚类数量为4类,当聚类满足4类的时候,迭代停止
4. 当criterion为’monocrit’时,t的选择不是固定的,而是根据一个函数monocrit[j]来确定。例如例如,对最大平均距离的阈值在不一致矩阵r中计算阈值0.8,可以这样写,

MR = maxRstat(Z, R, 3)
cluster(Z, t=0.8, criterion='monocrit', monocrit=MR)
  1. 当criterion为’maxclust_monocrit’时,函数会在最大聚类数量为t的同时,将阈值t减小到最小的不一致性。
    调用实例如下:
MI = maxinconsts(Z, R)
cluster(Z, t=3, criterion='maxclust_monocrit', monocrit=MI)

python的scipy层次聚类参数详解相关推荐

  1. 站长在线Python精讲:在Python函数中的默认参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的默认参数详解>.本文的主要内容有:默认参数的概念和默认参数的示例.默认参数不能设置可变对象. 目录 1 ...

  2. 站长在线Python教程精讲:在Python函数中的关键字参数详解

    欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python函数中的关键字参数详解>.本文的主要内容有:关键字参数的含义和关键字参数的应用举例. 目录 1.关键字参数的含 ...

  3. Python matplotlib.pyplot.hist函数 参数详解(超详细的!)

    matplotlib.pyplot.hist函数 参数详解 函数内容 matplotlib.pyplot.hist(x, bins=None, range=None, normed=False, we ...

  4. 清风数学建模学习笔记——系统(层次)聚类原理详解及案例分析

    系统聚类   系统聚类的合并算法通过计算两类数据点间的距离,对最为接近的两类数据点进行组合,并反复迭代这一过程,直到将所有数据点合成一类,并生成聚类谱系图.此外,系统聚类可以解决簇数 K 的取值问题, ...

  5. Python数据分析常用函数及参数详解,可以留着以备不时之需

    利用Python进行数据分析最核心的库就是Pandas,可以说,掌握了Pandas库,Python数据分析就属于中阶水平了. 在<一次简单.完整的全流程数据分析,让我们不再害怕Python &g ...

  6. 【Python】pandas的describe参数详解

    pandas的describe可以用来展示数据的一些描述性统计信息,因此经常用到. describe的官网参数如下图: 使用实例: df = pd.DataFrame(data={'A':list(' ...

  7. 聚类 python_python中实现k-means聚类算法详解

    算法优缺点: 优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢 使用数据类型:数值型数据 算法思想 k-means算法实际上就是通过计算不同样本间的距离来判断他们的相近关系的,相近 ...

  8. ioctl 函数 参数 详解

    2019独角兽企业重金招聘Python工程师标准>>> ioctl 函数 参数 详解 2009-04-24 11:55 ioctl函数 本函数影响由fd参数引用的一个打开的文件. # ...

  9. [Python从零到壹] 十五.文本挖掘之数据预处理、Jieba工具和文本聚类万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. 天元MegEngine训练推理
  2. python打地鼠游戏代码_打地鼠的游戏宝贝们都喜欢,快和宝贝一起动手画一幅《打地鼠》吧...
  3. 安装flume1.5
  4. DHCP option 150与option 66的区别
  5. 如何复制mysql数据库_怎么复制mysql数据库到另一台电脑上?
  6. c++语言 tcp例子,C++中TCP通信实现文件传输
  7. 在手机上查询药品信息?PEP移动掌上药物信息参考
  8. SSH远程管理OpenSSH使用
  9. HTML5 tel make a phone call
  10. 如何代理物联卡?需要什么流程认证?
  11. clover使用教程
  12. 普通IC、M1、UID、CUID、FUID、UFUID卡的区别
  13. Activiti6快速入门指南
  14. linux 内核 addr2line,内核调试 arm-none-linux-gnueabi-addr2line 工具使用
  15. 抓取网易云音乐歌曲热门评论生成词云
  16. 2022年--读书笔记
  17. 安装、选择-如何制作U盘系统盘以及U盘安装操作系统的方法 -by小雨
  18. DCOS到底是啥?看完这篇你就懂了
  19. Android 内部存储和外部存储
  20. Java+MySQL基于ssm的物理竞赛管理系统 开题 论文

热门文章

  1. google 云开启 ssh 账号密码登录
  2. JVM中OOM和SOF的产生
  3. [多点触控测试]不用app,手机怎么测试屏幕触控点数
  4. 基于Android Tiny4412平台---敦泰I2C接口FT5X06电容屏驱动原理及软件架构分析
  5. CPU问题导致的大量进程崩溃问题
  6. Python pandas 筛选 Excel 特定行和列全集
  7. Debug Hacks中文版——深入调试的技术和工具
  8. HTML文档中注释标记作用,html的注释有什么作用
  9. Leetcode 208.实现 Trie (前缀树)(Implement Trie (Prefix Tree))
  10. Teach-Repeat-Replan: A Complete and Robust System for Aggressive Flight in Complex Environments