python层次聚类法画图_Python实现简单层次聚类算法以及可视化
本文实例为大家分享了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实现简单层次聚类算法以及可视化相关推荐
- python编程超市购物系统_python实现简单购物车系统(练习)
#!Anaconda/anaconda/python#coding: utf-8 #列表练习,实现简单购物车系统 product_lists= [('iphone',5000), ('computer ...
- c语言写层次分析法,基于C语言的层次分析法在医院工作质量评价中的设计与实现...
高宇翔 王磊 买力曼·巴哈尼 朱诗威 艾孜买提·艾则孜 吴淼 摘要:目的:对新疆医院工作质量进行综合评价和分析,并提出合理的改进建议,结合新疆医院的工作质量,采用层次分析法提出医院工作质量评价模型,并 ...
- 蚁群算法画图java_[转载]简单蚁群算法 + JAVA实现蚁群算法
一 引言 蚁群算法(ant colony optimization,ACO),又称蚂蚁算法,是一种用来在图中寻找优化路径的机率型技术.它由Marco Dorigo于1992年在他的博士论文中引入,其灵 ...
- python科学计数法输出_python不以科学计数法输出的实例方法总结
python 不以科学计数法输出的方法 其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇p ...
- python画折线图虚线_python绘制简单折线图代码示例
1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt ...
- 用python画气球循环画图_Python 利用循环画散点图
原博文 2018-12-10 11:53 − 1 import pandas as pd 2 data = pd.read_csv('D:/suning/iris.csv') 3 data = dat ...
- python科学计数法输出_python 不以科学计数法输出的方法
python 不以科学计数法输出的方法 其实很简单只需两个语句: import numpy as np np.set_printoptions(suppress=True) 这样就可以搞定 以上这篇p ...
- python中for循环缩进_Python减少循环层次和缩进的技巧分析
本文实例分析了Python减少循环层次和缩进的技巧.分享给大家供大家参考,具体如下: 我们知道Python中冒号和缩进代表大括号,这样写已经可以节省很多代码行数,但是可以更优化,尽可能减少循环的层次和 ...
- python简易爬虫课程设计_python实现简单爬虫功能的示例
在我们日常上网浏览网页的时候,经常会看到一些好看的图片,我们就希望把这些图片保存下载,或者用户用来做桌面壁纸,或者用来做设计的素材. 我们最常规的做法就是通过鼠标右键,选择另存为.但有些图片鼠标右键的 ...
最新文章
- QN8027输出调频分裂的频谱
- python语法学习
- mysql避免回环复制_【20181204】 MySQL 双主复制是如何避免回环复制的
- 前端websocket获取数据后需要存本地吗_是什么让我放弃了Restful API?了解清楚后我全面拥抱GraphQL!...
- 尴尬!OpenAI惊现大漏洞,一张手写纸条竟瞒过计算机视觉系统
- dell 服务器r410装系统,dell r410安装windows2003系统
- Hive 求top N
- zabbix监控之zabbix源码部署 (安装篇)
- VS2010中配置OpenGL的一些问题小结
- Smart3D中空三的设置
- mysql实现oracle的同义词_ORACLE同义词总结(上)
- 【原生】JS 获取今天日期
- 《关键对话》教你如何摆脱沟通困境
- 同时连接多个以及如何配置?
- 学习 HTTP Referer
- html ios 视频播放不了,html中的video标签在ios微信中无法播放的解决方法之一
- POV-RAY基础教程 - POV-Ray坐标系(7)
- “学院派”商汤科技:原创技术价值迸发
- 从购置阿里云学生机到开发部署一个SpringBoot+Vue项目全过程
- 法规标准-UN R152标准解读
热门文章
- axios代理跨域 cli4_跨域本质及解决办法
- 服务中心Eureka
- transformer机制讲解_【核心代码解读】Transformer-XL
- 怎么知道跟交换机互联的交换机_怎么选择POE交换机
- java int integer内存_java中一个integer对象的内存占用是多少?可以通过java方法输出吗?...
- 接口隔离原则_设计模式的三大分类及六大原则
- C语言应用笔记:C语言typedef关键字及其使用
- python2048游戏代码_【Python】用Python实现2048小游戏(源代码,1.0版本)
- 手机usb共享计算机网络连接,如何将手机wifi网络通过USB共享给电脑?小编教你共享方法...
- mysql数据库连接关闭_解决mysql数据库连接自动关闭问题