【层次聚类】python scipy实现

层次聚类

原理

有一个讲得很清楚的博客:博客地址
主要用于:没有groundtruth,且不知道要分几类的情况

用scipy模块实现聚类

参考函数说明:
pdist
squareform
linkage
fcluster

  1. scipy.spatial.distance.pdist:计算点之间的距离,返回的是一个压缩过的距离矩阵,即一行距离数据,减少了方阵中数据重复占用的空间。
  2. scipy.spatial.distance.squareform:距离矩阵的方阵与压缩矩阵相互转换函数
  3. scipy.cluster.hierarchy.linkage:层次聚类函数,返回一个四列的数据,第一和第二列是该次聚合的类序号,第三列是这两类间聚类,第四列是该类中包含多少元素数据
  4. scipy.cluster.hierarchy.fcluster:根据指定阈值和linkage生成的聚类树得到最终的聚类结果。

例: 已有距离矩阵,进行层次聚类

import scipy
import scipy.cluster.hierarchy as sch
import numpy as np
import msgpack# 读取距离矩阵
f = open("distance.msgpack", "r")
dis = msgpack.loads(f.read())
dis_arr = np.array(dis)# 压缩距离矩阵
disMat = scipy.spatial.distance.squareform(dis_arr)# 生成聚类树
Z=sch.linkage(disMat,method='average')
print Z# 得到聚类结果
cluster= sch.fcluster(Z, 0.2, 'distance')print cluster

转载于:https://www.cnblogs.com/dplearning/p/8574850.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/398512.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Find a girl friend

Find a girl friend Time Limit: 1000ms Memory limit: 262144K 有疑问?点这里^_^ 题目描述 CC wants to find a girl friend, he knows each girls age and name in his class, and each girl’s age is different.. Now he wants to know the youngest girls n…

数据结构杂谈(八)——树(上)

文章目录8 树(上)8.1 引入8.2 树的基础知识8.3 树的存储结构8.3.1 双亲表示法8.3.2 孩子表示法8.4 二叉树8.4.1 基础知识8.4.2 高频考点8.4.3 二叉树的性质8.4.4 二叉链表8.4.5 树和二叉树的转换8.4.6 森林和二叉树的转换8.5 遍历8 树(上) 8.1 引入 我们在前面的章节中一直在…

vs entityframwork Validation failed for one or more entities

问题:添加数据库一条数据时出错 查找异常 catch (DbEntityValidationException dbEx) { foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { Trace.TraceInformation("P…

Universal-Image-Loader,android-Volley,Picasso、Fresco和Glide开源组件加载网络图片的优缺点比较...

在android中的加载网络图片是一件十分令人头疼的事情,在网上有着许多关于加载网络图片的开源库,可以让我们十分方便的加载网络图片。在这里我主要介绍一下我自己在使用Volley, Picasso, Universal-Imageloader的一些使用的感悟。以及最基本的用法介绍。1…

hdu 1754 I Hate It(分块做法)

题意:中文题,不多解释 思路:这个题原本用线段树很容易做,但分块其实也很容易,对于分块的复杂度还不是很会计算,只知道是每次分为sqrt(n)块,然后一共有sqrt(n&…

Maven(一)——快速上手Maven

文章目录Maven概述Maven简介Maven的安装Maven的基本使用IDEA配置Maven依赖管理依赖范围Maven概述 Maven是专门用于管理和构建Java项目的工具,它的主要功能有: (一)提供了一套标准化的项目结构 不同的IDE项目结构是不一样的&…

如何定制Activity的标题栏

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); setContentView(R.layout.main); //自定义标题栏 mWindow getWindow(); mWindow.setFeatureInt(Window.FEATURE_CUSTOM_TITLE,R.layout.titlebar); titlebar.xml <?xml version"1.…

牛客网 牛客小白月赛1 H.写真がとどいています

H.写真がとどいています链接&#xff1a;https://www.nowcoder.com/acm/contest/85/H来源&#xff1a;牛客网这个题数乱了&#xff0c;导致wa了好几次。特别弱智&#xff0c;从A开始往上&#xff0c;就是A,B,C,D,E,F。A的下面就是G开始倒着&#xff0c;G,F,E。我智障&#xff0…

EntityFramework_MVC4中EF5 新手入门教程之三 ---3.排序、 筛选和分页

在前面的教程你实施了一套基本的 CRUD 操作&#xff0c;为Student实体的 web 页。在本教程中&#xff0c;您将添加排序、 筛选和分页到 StudentsIndex的功能。您还将创建一个页面&#xff0c;并简单分组。 下面的插图显示页面当你完成时的样子。列标题是链接&#xff0c;用户可…

eclipes快捷键

本文原创作者&#xff1a;pipi-changing 本文原创出处&#xff1a;http://www.cnblogs.com/pipi-changing/ Ctrl1 快速修复(最经典的快捷键,就不用多说了)CtrlD: 删除当前行 CtrlAlt↓ 复制当前行到下一行(复制增加)CtrlAlt↑ 复制当前行到上一行(复制增加)Alt↓ 当前行和下面一…

fluentd主从配置

fluentd是一个免费的、完全开源的日志管理工具&#xff0c;可以对日志进行收集、处理、存储。对于一些高流量的网站或者特殊的架构&#xff0c;需要fluentd高可用配置。 以下是在测试环境搭建模拟fluentd主从配置&#xff0c;模拟主从切换。 服务器 服务 192.168.199.1 elas…

Hadoop总结

目录 大数据概述 Hadoop大数据开发平台 资源管理YARN 分布式文件系统HDFS 非关系型数据库NOSQL 分布式数据库HBASE 批处理和MapReduce 数据仓库查询分析和Hive 基于内存计算的Spark 流计算和Flink 图计算和PREGEL Hadoop常用命令总结 大数据概述 大数据的4V&#x…

poj 2449

转自http://blog.csdn.net/sdj222555/article/details/7690081 题目大意就是给出一个图&#xff0c;然后给出一个起点个一个终点&#xff0c;求这两点间的第K短路。 本题中是可以走重复的路的&#xff0c;所以如果一张图中有一个环的话&#xff0c;无论求第几短路都是存在的。 …

CTS类型

类如果被封装&#xff0c;叫做密封类&#xff0c;密封类不能作为其他类的基类接口是抽象成员的集合&#xff0c;它在对象和对象用户间提供一个契约&#xff0c;CTS允许类实现任何数目的接口抽象类不能直接被创建&#xff0c;但可以用来为派生类型定义公共的行为&#xff0c;具体…

HDFS的常用操作

1、HDFS文件的权限以及读写操作 HDFS文件的权限&#xff1a; •与Linux文件权限类似 •r: read; w:write; x:execute&#xff0c;权限x对于文件忽略&#xff0c;对于文件夹表示是否允许访问其内容 •如果Linux系统用户zhangsan使用hadoop命令创建一个文件&#xff0c;那么这个文…

并行计算总结

作者&#xff1a;ArimaMisaki 目录 1 并行计算概述. 2 1.1 基本概念. 2 1.2 存储器的层次结构. 3 1.3 并行计算. 3 1.4 动态互连网络. 4 1.5 并行计算机结构模型. 5 1.6 并行算法的基本设计策略. 6 1.7 并行编程风范. 6 1.8 单核多线程和并发执行. 7 1.9 拓展&#x…

HDMI转MIPI DSI芯片方案TC358779XBG

型号&#xff1a;TC358779XBG功能&#xff1a;HDMI1.4转MIPI DSI通信方式&#xff1a;IIC分辨率&#xff1a;1920*1080电源&#xff1a;3.3/1.8/1.2封装形式&#xff1a;BGA80深圳长期现货 &#xff0c;提供技术支持&#xff0c;样品申请及规格书请联系蔡生M18312533639 Q1520…

基础总结篇之中的一个:Activity生命周期

子曰&#xff1a;溫故而知新&#xff0c;能够為師矣。《論語》 学习技术也一样&#xff0c;对于技术文档或者经典的技术书籍来说&#xff0c;指望看一遍就全然掌握&#xff0c;那基本不大可能&#xff0c;所以我们须要常常回过头再细致研读几遍&#xff0c;以领悟到作者的思想精…

数据结构杂谈(九)——二叉树的遍历

9 二叉树的遍历 文章目录9 二叉树的遍历9.1 递归函数基础9.2 深度优先遍历的实现9.3 二叉树层次遍历9.1 递归函数基础 什么是递归&#xff1f;调用自身就是叫递归&#xff0c;如下所示&#xff1a; void r(){r(); }我们习惯借用阶梯图来帮助我们理解这些知识。如果是同一层函数…

洛谷 P3750 [六省联考2017]分手是祝愿

传送门 题解 //Achen #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<vector> #include<cstdio> #include<queue> #include<cmath> const int N100000,mod100003; #define For(i,a,b)…