本文实例为大家分享了Python实现简单层次聚类算法,以及可视化,供大家参考,具体内容如下

基本的算法思路就是:把当前组间距离最小的两组合并成一组。

算法的差异在算法如何确定组件的距离,一般有最大距离,最小距离,平均距离,马氏距离等等。

代码如下: import numpy as np

import data_helper

np.random.seed(1)

def get_raw_data(n):

_data=np.random.rand(n,2)

#生成数据的格式是n个(x,y)

_groups={idx:[[x,y]] for idx,(x,y) in enumerate(_data)}

return _groups

def cal_distance(cluster1,cluster2):

#采用最小距离作为聚类标准

_min_distance=10000

for x1,y1 in cluster1:

for x2,y2 in cluster2:

_distance=(x1-x2)**2+(y1-y2)**2

if _distance<_min_distance:>

_min_distance=_distance

return _distance

groups=get_raw_data(10)

count=0

while len(groups)!=1:#判断是不是所有的数据是不是归为了同一类

min_distance=10000

len_groups=len(groups)

for i in groups.keys():

for j in groups.keys():

if i>=j:

continue

distance=cal_distance(groups[i],groups[j])

if distance

min_distance=distance

min_i=i

min_j=j#这里的j>i

groups[min_i].extend(groups.pop(min_j))

data_helper.draw_data(groups)

#一共n个簇,共迭代n-1次

运行的效果就是迭代一次,组数就会少一次,调用画图方法,同一组的数据被显示为一个颜色。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

python层次聚类法画图_Python实现简单层次聚类算法以及可视化相关推荐

  1. python编程超市购物系统_python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python#coding: utf-8 #列表练习,实现简单购物车系统 product_lists= [('iphone',5000), ('computer ...

  2. c语言写层次分析法,基于C语言的层次分析法在医院工作质量评价中的设计与实现...

    高宇翔 王磊 买力曼·巴哈尼 朱诗威 艾孜买提·艾则孜 吴淼 摘要:目的:对新疆医院工作质量进行综合评价和分析,并提出合理的改进建议,结合新疆医院的工作质量,采用层次分析法提出医院工作质量评价模型,并 ...

  3. 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法

    一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...

  4. python科学计数法输出_python不以科学计数法输出的实例方法总结

    python 不以科学计数法输出的方法 其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇p ...

  5. python画折线图虚线_python绘制简单折线图代码示例

    1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...

  6. 用python画气球循环画图_Python 利用循环画散点图

    原博文 2018-12-10 11:53 − 1 import pandas as pd 2 data = pd.read_csv('D:/suning/iris.csv') 3 data = dat ...

  7. python科学计数法输出_python 不以科学计数法输出的方法

    python 不以科学计数法输出的方法 其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇p ...

  8. python中for循环缩进_Python减少循环层次和缩进的技巧分析

    本文实例分析了Python减少循环层次和缩进的技巧.分享给大家供大家参考,具体如下: 我们知道Python中冒号和缩进代表大括号,这样写已经可以节省很多代码行数,但是可以更优化,尽可能减少循环的层次和 ...

  9. python简易爬虫课程设计_python实现简单爬虫功能的示例

    在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的 ...

最新文章

  1. QN8027输出调频分裂的频谱
  2. python语法学习
  3. mysql避免回环复制_【20181204】 MySQL 双主复制是如何避免回环复制的
  4. 前端websocket获取数据后需要存本地吗_是什么让我放弃了Restful API?了解清楚后我全面拥抱GraphQL!...
  5. 尴尬!OpenAI惊现大漏洞,一张手写纸条竟瞒过计算机视觉系统
  6. dell 服务器r410装系统,dell r410安装windows2003系统
  7. Hive 求top N
  8. zabbix监控之zabbix源码部署 (安装篇)
  9. VS2010中配置OpenGL的一些问题小结
  10. Smart3D中空三的设置
  11. mysql实现oracle的同义词_ORACLE同义词总结(上)
  12. 【原生】JS 获取今天日期
  13. 《关键对话》教你如何摆脱沟通困境
  14. 同时连接多个以及如何配置?
  15. 学习 HTTP Referer
  16. html ios 视频播放不了,html中的video标签在ios微信中无法播放的解决方法之一
  17. POV-RAY基础教程 - POV-Ray坐标系(7)
  18. “学院派”商汤科技:原创技术价值迸发
  19. 从购置阿里云学生机到开发部署一个SpringBoot+Vue项目全过程
  20. 法规标准-UN R152标准解读

热门文章

  1. axios代理跨域 cli4_跨域本质及解决办法
  2. 服务中心Eureka
  3. transformer机制讲解_【核心代码解读】Transformer-XL
  4. 怎么知道跟交换机互联的交换机_怎么选择POE交换机
  5. java int integer内存_java中一个integer对象的内存占用是多少?可以通过java方法输出吗?...
  6. 接口隔离原则_设计模式的三大分类及六大原则
  7. C语言应用笔记:C语言typedef关键字及其使用
  8. python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
  9. 手机usb共享计算机网络连接,如何将手机wifi网络通过USB共享给电脑?小编教你共享方法...
  10. mysql数据库连接关闭_解决mysql数据库连接自动关闭问题