pytorch 实现k-means聚类算法
import torch
import random
import copyclass K_means():def __init__(self, data, k):self.data = dataself.k = kdef distance(self, p1, p2):return torch.sum((p1-p2)**2).sqrt()def generate_center(self):# 随机初始化聚类中心n = self.data.size(0)rand_id = random.sample(range(n), self.k)center = []for id in rand_id:center.append(self.data[id])return centerdef converge(self, old_center, new_center):# 判断是否收敛set1 = set(old_center)set2 = set(new_center)return set1 == set2def forward(self):center = self.generate_center()n = self.data.size(0)labels = torch.zeros(n).long()flag = Falsewhile not flag:old_center = copy.deepcopy(center)for i in range(n):cur = self.data[i]min_dis = 10*9for j in range(self.k):dis = self.distance(cur, center[j])if dis < min_dis:min_dis = dislabels[i] = j# 更新聚类中心for j in range(self.k):center[j] = torch.mean(self.data[labels == j], dim=0)flag = self.converge(old_center, center)return labels, center
pytorch 实现k-means聚类算法相关推荐
- k means聚类算法_一文读懂K-means聚类算法
1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...
- k means聚类算法_K-Means 聚类算法 20210108
说到聚类,应先理解聚类和分类的区别 聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则不一样,聚类事先不知道目标变量是什么,类别没有像分类那样被预先定义出来. K-Means 聚类算法有很多种 ...
- OpenCV官方文档 理解k - means聚类
理解k - means聚类 目标 在这一章中,我们将了解k - means聚类的概念,它是如何工作等. 理论 我们将这个处理是常用的一个例子. t恤尺寸问题 考虑一个公司要发布一个新模型的t恤. 显然 ...
- k均值聚类算法(K Means)及其实战案例
算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...
- OpenCV的k - means聚类 -对图片进行颜色量化
OpenCV的k - means聚类 目标 学习使用cv2.kmeans()数据聚类函数OpenCV 理解参数 输入参数 样品:它应该的np.float32数据类型,每个特性应该被放在一个单独的列. ...
- K-Means(K均值聚类算法)
K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...
- k均值聚类算法python_K均值和其他聚类算法:Python快速入门
k均值聚类算法python This post was originally published here 这篇文章最初发表在这里 Clustering is the grouping of obje ...
- 【模式识别】K均值聚类算法应用实验报告及MATLAB仿真
一. 实验目的 1.掌握K均值聚类算法的原理和实现过程: 2.掌握K均值聚类算法的应用方法. 二. 实验内容 1.彩色图像分割 选择一幅图像,分别按三种颜色数进行彩色图像分割的结果(原图和分割图).步 ...
- k均值聚类算法优缺点_Grasshopper实现K均值聚类算法
本文很长很长,有很多很多图,包含以下部分: 1.算法简介 2.如何分类平面点 3.如何分类空间点 4.如何分类多维数据 5.后记 提醒:以下内容包括:智障操作,无中生友,重复造轮子 等 1.算法简介 ...
- K均值聚类算法(HCM,K-Means)
K均值聚类核心思想如下: 算法把n个向量分为个组,并求每组的聚类中心,使得非相似性(或距离)指标的价值函数(或目标函数)达到最小.当选择欧几里德距离为组j中向量与相应聚类中心间的非相似性指标时,价值函 ...
最新文章
- WeMos下实现小车避障与手机控制
- 浅析Serverless
- C#复数类Complex的封装
- iis 装完framework4 7 无法切换_扫盲贴之电压并列与电压切换
- [开源][J2ME]J2ME手机应用程序UI开发框架
- cp无法创建普通文件权限不够_MAC从管理员变成了普通用户怎么办?
- linux mysql 查看字符集_Linux中查看和设置MySQL数据库字符集 一
- 十大硬盘数据恢复软件简评
- Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
- 数据治理-数据质量管理
- 苹果开发者账号申请流程
- iOS 15 TableView刷新组头适配问题
- win10无法安装提示磁盘布局不受UEFI固件支持的解决方法
- 头歌JAVA数据结构答案
- 深度学习中的优化问题
- 图像局部特征(七)--SURF原理总结
- Spring项目整合WebService服务遇到问题记录
- ios客户端学习笔记(六):iOS客户端的工作流程
- CDR X6打了3折,再送魔镜插件,是真的么?
- Scanf函数的介绍与使用及特殊形式(C语言)
热门文章
- 一文尽览全球主要国家AI战略(附链接)
- android 运行javascript,Android 端运行 JavaScript 代码 (1)
- Microsoft Graph Toolkit 代理 Provider
- 计算机毕业设计PHP勤工俭学管理小程序(源码+程序+VUE+lw+部署)
- 腾讯文学动作密集 疑为手Q发力移动阅读铺路
- 第2次作业:支付宝案例分析
- 用友U9甩开国内对手 破解中国ERP格局
- 齐博软件(地方门户系统) 文件加密破解工具
- 牛肉的做法——让牛肉的每一根纤维鞭挞你的牙齿
- Python中的pynput中组合键的键值