首页 > 编程语言 >0001. Kmeans聚类算法

0001. Kmeans聚类算法

时间:2023-06-11 18:34:14浏览次数:41  
标签:0001 迭代 样本 Kmeans 算法 可视化 聚类

一、Kmeans原理

Kmeans算法是一种常见的聚类算法,用于将数据集划分成k个不重叠的簇。其主要思想是通过迭代的方式将样本电话分到不同的簇中,使得同一簇内的样本点相似度较高,不同簇之间的相似度较低。

Kmeans算法的详细步骤:

  • 初始化:选择k个初始聚类中心,可以是随机选择或者根据某种启发式方法选择。聚类中心通常是从数据集中选择的k个样本点;
  • 分配样本点:对于每个样本点,计算其与各个聚类中心的距离(如欧式距离),将样本点分配给距离最近的聚类中心所在的簇;
  • 更新聚类中心:对于每个簇,计算其所有样本点的均值,将该均值作为新的聚类中心;
  • 重复步骤2和3:直到聚类中心不再发生变化或者达到预定的迭代次数;
  • 输出结果:最终得到k个聚类簇,每个簇包含一组样本点。

Kmeans算法的特点:

  • kmeans算法是一种迭代算法,通过多次迭代优化聚类结果;
  • kmeans算法基于距离度量来进行样本点的分配和聚类中心的更新;
  • kmeans算法对离群点敏感,离群点可能会影响聚类结果;
  • kmeans算法要求事先指定聚类的个数k。

Kmeans算法的优化方法:

  • 通过增加迭代次数或设置收敛条件来控制算法的迭代次数;
  • 使用更好的初始化方法,如Kmeans++算法,可以更好地选择初始聚类中心;
  • 对于离群点的处理,可以使用基于距离的异常值检测方法,或者采用基于密度的聚类算法。

二、实验环境

三、Kmeans简单代码实现

1. 构造数据

import numpy as np

data = np.array([[3, 2], [4, 1], [3, 6], [4, 7], [3, 9], [6, 8], [6, 6], [7, 7]])

 

2. 可视化展示

3. 聚类成二分类

4. 获取结果

5. 结果可视化

6. 聚类成3类

7. 结果可视化

四、Kmeans案例实战

1. 案例背景

2. 读取数据

3. 可视化展示

4. 数据建模

5. 建模效果可视化展示

标签:0001,迭代,样本,Kmeans,算法,可视化,聚类
From: https://www.cnblogs.com/lxinghua/p/17473345.html

相关文章

  • R语言上市公司经营绩效实证研究 ——因子分析、聚类分析、正态性检验、信度检验
    全文链接:http://tecdat.cn/?p=32747原文出处:拓端数据部落公众号随着我国经济的快速发展,上市公司的经营绩效成为了一个备受关注的话题。本文旨在探讨上市公司经营绩效的相关因素,并运用数据处理、图示、检验和分析等方法进行深入研究,帮助客户对我国45家上市公司的16项财务指标进行......
  • R语言确定聚类的最佳簇数:3种聚类优化方法|附代码数据
    原文链接:http://tecdat.cn/?p=7275最近我们被客户要求撰写关于聚类的研究报告,包括一些图形和统计输出。确定数据集中最佳的簇数是分区聚类(例如k均值聚类)中的一个基本问题,它要求用户指定要生成的簇数k。一个简单且流行的解决方案包括检查使用分层聚类生成的树状图,以查看其是否暗......
  • Python+sklearn使用DBSCAN聚类算法案例一则
    DBSCAN聚类算法概述:DBSCAN属于密度聚类算法,把类定义为密度相连对象的最大集合,通过在样本空间中不断搜索最大集合完成聚类。DBSCAN能够在带有噪点的样本空间中发现任意形状的聚类并排除噪点。DBSCAN算法不需要预先指定聚类数量,但对用户设定的参数非常敏感。当空间聚类的密度不均匀、......
  • Python使用系统聚类方法进行数据分类案例一则
    首先解释一下为啥最近发的文章中代码都是截图而不是文本,这样做主要是希望大家能对着代码敲一遍而不是直接复制运行得到结果就算了,这样可以加深印象,学到更多东西。当然,这样直接截图也节省了很多排版需要的时间,可以有时间写出更多的案例。在前几天发的文章Python使用系统聚类算法对随......
  • K-means(K均值聚类算法)算法笔记
    K-means(K均值聚类算法)算法笔记K-means算法,是比较简单的无监督的算法,通过设定好初始的类别k,然后不断循环迭代,将给定的数据自动分为K个类别。事实上,大家都知道K-means是怎么算的,但实际上,它是GMM(高斯混合模型)的一个特例,其而GMM是基于EM算法得来的,所以本文,将对K-means算法的算法思想......
  • 使用Kmeans对Word2vec的输出做聚类
    Word2vec会产出每个词语的权重向量使用这个向量,可以直接对所有的词语聚类以下代码,以word2vec的model作为输入,进行kmeans训练,同时进行K的迭代计算,选出WSSSE最小的K值Scala *将word2vec的结果,作为kmeans的输入进行聚类;进行K的多次迭代,选出WSSSE最小的K*@paramspark......
  • 0010.有监督学习之K-均值聚类
    一、聚类分析概述1.簇的定义2.常用的聚类算法二、K-均值聚类算法1.K-均值算法的python实现1.1导入数据集1.2构建距离计算函数1.3编写自动生成随机质心的函数1.4编写K-Means聚类函数2.算法验证3.误差平方和SSE计算三、模型收敛稳定性探讨四、二分K-均值算法1......
  • QQ登录报错:redirect uri is illegal(100010)解决方案
    查看真实回调地址:通过腾讯开放平台:腾讯开放平台官网进入后,点击RUL编解码工具:在输入源串的表格里填入你登录QQ报错的网址(网址全部复制进去),点击URL解码:解码后,能查看到实际回调地址:实际回调地址就是redirect_uri=之后到第一个&符号或者问号截止的部分(也就是用矩形圈起来的地方),把这......
  • 基于聚类和神经网络的图像颜色提取和评分方案
    概述图像颜色提取的前端React方案,基于canvas,使用K均值聚类算法提取主要颜色(颜色量子化),用离线训练的神经网络进行评分,附带可视化方案和相关动画。详细本文github地址:colorful-color。体验 demo。一、目录结构本项目是基于React编写的,build目录下有编译好的版本,编译源......
  • win11邮件客户端添加账户时提示「0x80190001」的替代解决方案
    在「添加账户」时选择「高级设置」:高级设置→Internet电子邮件填写信息账户名和用户名可填写邮箱名。如果是微软的邮箱,可参考:传入邮件服务器:POP3.live.com传出邮件服务器:smtp.live.com账户类型可尝试选:POP3......