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聚类算法相关推荐

  1. k means聚类算法_一文读懂K-means聚类算法

    1.引言 什么是聚类?我们通常说,机器学习任务可以分为两类,一类是监督学习,一类是无监督学习.监督学习:训练集有明确标签,监督学习就是寻找问题(又称输入.特征.自变量)与标签(又称输出.目标.因变量) ...

  2. k means聚类算法_K-Means 聚类算法 20210108

    说到聚类,应先理解聚类和分类的区别 聚类和分类最大的不同在于:分类的目标是事先已知的,而聚类则不一样,聚类事先不知道目标变量是什么,类别没有像分类那样被预先定义出来. K-Means 聚类算法有很多种 ...

  3. OpenCV官方文档 理解k - means聚类

    理解k - means聚类 目标 在这一章中,我们将了解k - means聚类的概念,它是如何工作等. 理论 我们将这个处理是常用的一个例子. t恤尺寸问题 考虑一个公司要发布一个新模型的t恤. 显然 ...

  4. k均值聚类算法(K Means)及其实战案例

    算法说明 K均值聚类算法其实就是根据距离来看属性,近朱者赤近墨者黑.其中K表示要聚类的数量,就是说样本要被划分成几个类别.而均值则是因为需要求得每个类别的中心点,比如一维样本的中心点一般就是求这些样本 ...

  5. OpenCV的k - means聚类 -对图片进行颜色量化

    OpenCV的k - means聚类 目标 学习使用cv2.kmeans()数据聚类函数OpenCV 理解参数 输入参数 样品:它应该的np.float32数据类型,每个特性应该被放在一个单独的列. ...

  6. K-Means(K均值聚类算法)

    K-Means(K均值聚类算法) 1.前言 要学习聚类算法就要知道聚类学习算法是什么,为什么要学习聚类学习聚类学习算法,有什么用途,下面就简单的做一下介绍,并且详细的说明k-means均值聚类学习算法 ...

  7. k均值聚类算法python_K均值和其他聚类算法:Python快速入门

    k均值聚类算法python This post was originally published here 这篇文章最初发表在这里 Clustering is the grouping of obje ...

  8. 【模式识别】K均值聚类算法应用实验报告及MATLAB仿真

    一. 实验目的 1.掌握K均值聚类算法的原理和实现过程: 2.掌握K均值聚类算法的应用方法. 二. 实验内容 1.彩色图像分割 选择一幅图像,分别按三种颜色数进行彩色图像分割的结果(原图和分割图).步 ...

  9. k均值聚类算法优缺点_Grasshopper实现K均值聚类算法

    本文很长很长,有很多很多图,包含以下部分: 1.算法简介 2.如何分类平面点 3.如何分类空间点 4.如何分类多维数据 5.后记 提醒:以下内容包括:智障操作,无中生友,重复造轮子 等 1.算法简介 ...

  10. K均值聚类算法(HCM,K-Means)

    K均值聚类核心思想如下: 算法把n个向量分为个组,并求每组的聚类中心,使得非相似性(或距离)指标的价值函数(或目标函数)达到最小.当选择欧几里德距离为组j中向量与相应聚类中心间的非相似性指标时,价值函 ...

最新文章

  1. WeMos下实现小车避障与手机控制
  2. 浅析Serverless
  3. C#复数类Complex的封装
  4. iis 装完framework4 7 无法切换_扫盲贴之电压并列与电压切换
  5. [开源][J2ME]J2ME手机应用程序UI开发框架
  6. cp无法创建普通文件权限不够_MAC从管理员变成了普通用户怎么办?
  7. linux mysql 查看字符集_Linux中查看和设置MySQL数据库字符集 一
  8. 十大硬盘数据恢复软件简评
  9. Hi3516开发笔记(四):Hi3516虚拟机编译uboot、kernel、roofts和userdata以及分区表
  10. 数据治理-数据质量管理
  11. 苹果开发者账号申请流程
  12. iOS 15 TableView刷新组头适配问题
  13. win10无法安装提示磁盘布局不受UEFI固件支持的解决方法
  14. 头歌JAVA数据结构答案
  15. 深度学习中的优化问题
  16. 图像局部特征(七)--SURF原理总结
  17. Spring项目整合WebService服务遇到问题记录
  18. ios客户端学习笔记(六):iOS客户端的工作流程
  19. CDR X6打了3折,再送魔镜插件,是真的么?
  20. Scanf函数的介绍与使用及特殊形式(C语言)

热门文章

  1. 一文尽览全球主要国家AI战略(附链接)
  2. android 运行javascript,Android 端运行 JavaScript 代码 (1)
  3. Microsoft Graph Toolkit 代理 Provider
  4. 计算机毕业设计PHP勤工俭学管理小程序(源码+程序+VUE+lw+部署)
  5. 腾讯文学动作密集 疑为手Q发力移动阅读铺路
  6. 第2次作业:支付宝案例分析
  7. 用友U9甩开国内对手 破解中国ERP格局
  8. 齐博软件(地方门户系统) 文件加密破解工具
  9. 牛肉的做法——让牛肉的每一根纤维鞭挞你的牙齿
  10. Python中的pynput中组合键的键值