kmeans 算法_kmeans优化算法:二分Kmeans聚类算法

7ee5a0b84840bf29a6b3aa1b2647491f.png

算法的理解

​ Bi这里是的意思就是Binary,二进制的意思,所以有时候叫这个算法为二进Kmeans算法。为什么我们需要用BiKmeans呢,就是为了解决初始化k个随机的质心点时其中一个或者多个点由于位置太极端而导致迭代的过程中消失的问题。BiKmeans只是Kmeans其中一个优化方案,其实还是有很多优化的方案,这里BiKmeans容易讲解和理解,并且容易用numpy, pandas实现。

​ 那为什么二进Kmeans算法可以有效的解决这个问题呢。我们需要从二进Kmeans的基础看是讲起。其实BiKmeans的迭代过程类似于一个决策树。首先我们看一下Kmeans算法的步骤。

​ 利用之前写好的Kmeans算法包,设置k为2。所以每次传入一个数据集的时候,都是进行2分类。

假设我们预先想分出K个簇。

  1. 使用Kmeans(k=2)将数据集分成2个簇,记录SSE
  2. 对于每一个簇来说,都有自己当前的SSE,取名为父节点SSE
    a. 对这些簇都进行Kmeans二分类,并且记录分出的2个簇的SSE只和,称之为子节点总SSE
    b. 记录这个簇被2分类之后SSE的差值,SSE差值 = 父节点SSE - 子节点SSE
  3. 选择SSE差值最大的那个簇进行划分,而其他的簇不进行划分。
  4. 重复第二的步骤,直到簇的总个数达到K

用决策树的方法理解BiKmeans

​ 那这个算法其实就是非常的类似决策树的算法。在决策树节点由父节点划分成子节点的过程中,用的是gini不纯度来判断是否需要划分,我们选择不纯度差值最大的那个特征来做划分。这里也类似,我们最后的目标是最小化SSE,所以对每一个簇来说,都可以得出该簇在划分出成2个簇之后总体上SSE降低了多少,我们需要做的就是保持其他的簇不变,选取的就是那个能够最大程度的降低SSE的那个簇进行Kmeans二分类。

​ 那个算法里面还是有个缺陷,就是在算法的过程中,会对每个簇重复计算划分后SSE的差值,所以这里我在对每个簇做划分后,记录下它的SSE差值,后期就可以直接使用SSE,不用重新再计算一遍了。

​ 我们首先用决策树的概念来看下BiKmeans,我们目标是分成4个簇,首先有我们有我们的根节点,也就是我们的整体的数据集,假设这个数据集的SSE为100.

  1. 使用Kmeans对根节点做2分类。得出2个簇,簇内SSE分别为40和30,也就是说如果我们对整体数据集做一次Kmeans二分类的话,我们的整体SSE会下降100-(30+40)=30

25a2cd06f1e1bcfbff5d6f7fbf57260b.png
  1. 在此时可以对每个叶节点的数据集进行二分类,查看这个簇做二分Kmeans后,SSE下降多少。从这里可以看出,对簇1来说,SSE的变化为40-(20+15)=5,对簇2来说,SSE的变化为30-(10+10)=10。所以说对这2个簇来说的话,应该保留簇1,对簇2进行二分Kmeans。这样的话可以最大程度的减少总体SSE,因为簇2二分Kmeans后SSE下降的最快。结果就是以下的情况,当前叶节点有3个,也就是说当前我们有3个簇,还没有达到我们的目标,4个簇,继续对每个叶节点进行划分。注,这里原来的簇2就不复存在了,变成了小一点的簇2和簇3。

风扇爱好者
关注 关注
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
k均值聚类算法优缺点_聚类算法之——二分K-Means算法
weixin_39638708的博客
11-28 574
为克服K-Means算法收敛于局部最小值问题,提出了二分K-Means算法二分K-Means算法首先将所有点作为一个簇,然后将该簇一分为二。之后选择其中一个簇继续进行划分,选择哪一个簇进行划分取决于对其划分是否可以最大程度降低SSE的值。上述基于SSE的划分过程不断重复,直到得到用户指定的簇数目为止。步骤1. 将所有点看成一个簇;2. 对每个簇,进行如下操作计算总误差 在给定的簇上进行K-M...
kmeans算法中的sse_第十一章 K-Means(K均值)算法模型实现(中)
weixin_32576389的博客
12-23 194
#!/usr/bin/pythondef biKmeans(dataSet, k, distMeas=distEclud):m = shape(dataSet)[0]clusterAssment = mat(zeros((m,2)))#创建一个矩阵存储每个点的簇分配结果及平方误差centroid0 = mean(dataSet, axis=0).tolist()[0]#计算整个数据集的质心cent...
kmeans聚类算法_聚类算法入门:k-means
weixin_39932692的博客
11-18 609
一、聚类定义聚类分析(cluster analysis)就是给你一堆杂七杂八的样本数据把它们分成几个组,组内成员有一定的相似,不同组之间成员有一定的差别。区别与分类分析(classification analysis) 你事先并不知道有哪几类、划分每个类别的标准。比如垃圾分类就是分类算法,你知道猪能吃的是湿垃圾,不能吃的是干垃圾……;打扫房间时你把杂物都分分类,这是聚类,你事先不知道每个类别的标准...
kmeans聚类算法_kmeans聚类理论篇
weixin_39627455的博客
11-18 502
前言kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。本文记录学习kmeans算法相关的内容,包括算法原理,收敛性,效果评估聚,最后带上R语言的例子,作为备忘。算法原理kmeans的计算方法如下:1 随机选取k个中心点2 遍历所有数据,将每个数据划分到最近的中心点中...
机器学习(二)——K-均值聚类(K-means)算法
weixin_30340775的博客
08-09 138
最近在看《机器学习实战》这本书,因为自己本身很想深入的了解机器学习算法,加之想学python,就在朋友的推荐之下选择了这本书进行学习,在写这篇文章之前对FCM有过一定的了解,所以对K均值算法有一种莫名的亲切感,言归正传,今天我和大家一起来学习K-均值聚类算法。 一 K-均值聚类(K-means)概述 1. 聚类 “类”指的是具有相似性的集合。聚类是指将数据集划分为若干类...
kmeans算法中的sse_K-Means聚类算法(理论篇)
weixin_32098487的博客
12-23 2316
K-means算法是机器学习/数据挖掘领域广泛使用的聚类算法,它是一个无监督学习算法,即无需对样本进行事先标记。K-means算法通俗来说主要完成一件事:给定一个包含n个点的数据集,把该数据集划分到k个聚类中,使得各个聚类所包含的每个点到各自聚类中心的距离均小于与其他聚类中心的距离。K-Means算法(一)算法过程1)确定要划分的聚类个数(K),从数据集D中任意选出K个点作为聚类中心2)计算所有点...
python中kmeans怎么导入数据集_【机器学习】:Kmeans均值聚类算法原理(附带Python代码实现) - Geeksongs - 博客园...
weixin_39766258的博客
11-23 1339
这个算法中文名为k均值聚类算法,首先我们在二维的特殊条件下讨论其实现的过程,方便大家理解。第一步.随机生成质心由于这是一个无监督学习的算法,因此我们首先在一个二维的坐标轴下随机给定一堆点,并随即给定两个质心,我们这个算法的目的就是将这一堆点根据它们自身的坐标特征分为两类,因此选取了两个质心,什么时候这一堆点能够根据这两个质心分为两堆就对了。如下图所示:第二步.根据距离进行分类红色和蓝色的点代表了我...
Kmeans.rar_Kmeans_Kmeans++_kmeans聚类_聚类_聚类算法
07-15
均值聚类是聚类算法中最简单易懂的算法,实现的聚类效果也比价不错
Kmeans_test.rar_k-means算法_kmeans 聚类_kmeans数据分类_kmeans聚类_数据k-mean
07-14
K-Means聚类算法,内附参考文献,亲测可用,性能良好,效果极为明显,完全适用于各种数据维度的数据集分类,欢迎下载使用。
kmeans_for_anchors_Kmeans聚类算法_YOLO坐标_
09-29
在记性深度学习目标检测时,运用YOLO算法训练模型时,能求出训练数据集里图片的锚框坐标。
matlab实现Kmeans聚类算法.zip_Kmeans_Kmeans聚类算法_audiencem77_kmeans聚类mat
07-15
matlab实现Kmeans聚类算法,非常详细。
K-Means算法详细介绍(SSE、轮廓分析)
热门推荐
修炼之路
04-29 4万+
在前面我们介绍过了很多的监督学习算法,分类和回归。这篇文章主要介绍无监督算法,通过聚类分析来处理无类标数据。我们事先并不知道数据的正确结果(类标),通过聚类算法来发现和挖掘数据本身的结构信息,对数据进行分簇(分类)。聚类算法的目标是,簇内相似度高,簇间相似度低。有点像LDA降维算法,类内方差最小,类间方差最大。这篇文章主要包括:1、K-Means算法2、K-Means++3、硬聚类和软聚类4、聚类...
kmeans算法中的sse_吴恩达机器学习笔记(七) —— K-means算法
weixin_30715739的博客
02-26 806
主要内容:一.K-means算法简介二.算法过程三.随机初始化四.二分K-means四.K的选择一.K-means算法简介1.K-means算法是一种无监督学习算法。所谓无监督式学习,就是输入样本中只有x,没有y,即只有特征,而没有标签,通过这些特征对数据进行整合等操作。而更细化一点地说,K-means算法属于聚类算法。所谓聚类算法,就是根据特征上的相似性,把数据聚集在一起,或者说分成几类。2.K...
kmeans算法_kmeans优化算法二分Kmeans聚类算法
weixin_39846364的博客
11-18 512
算法的理解​ Bi这里是的意思就是Binary,二进制的意思,所以有时候叫这个算法为二进Kmeans算法。为什么我们需要用BiKmeans呢,就是为了解决初始化k个随机的质心点时其中一个或者多个点由于位置太极端而导致迭代的过程中消失的问题。BiKmeans只是Kmeans其中一个优化方案,其实还是有很多优化的方案,这里BiKmeans容易讲解和理解,并且容易用numpy, pandas实现。​ 那...
kmeans聚类算法_k-means聚类算法原理与参数调优详解
weixin_39914732的博客
10-22 2802
k-means算法原理K-means中心思想:事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新计算每个类的质心(即为类中心),重复这样的过程,直到质心不再改变,最终就确定了每个样本所属的类别以及每个类的质心。由于每次都要计算所有的样本与每一个质心之间的相似度,故在大规模的数据集上,...
kmeans python_在PostgreSQL里进行机器学习:KMEANS 聚类尝试
weixin_39601641的博客
11-21 328
10行解释机器学习每个阅读报纸,杂志或任何其他普遍感兴趣的媒体的人至少都对机器学习的基本概念有所了解。机器学习不仅仅是一种时尚,它更成为我们日常生活的一部分,并且将来会更多:从互联网上的个性化广告到机器人牙医或自动驾驶汽车,机器学习似乎成为一切事物的某种超能力。 但是,什么是机器学习呢?它主要是一组统计算法,基于现有数据,能够从中获得洞察力。这些算法基本上分为两个系列,监督学习和非监督学...
数据分析之二分K均值聚类算法
mobiusvision的博客
11-13 1643
一、介绍 在聚类问题中,我们会给定一组未加标签的数据集,同时希望有一个算法能够自动将这些数据分成有紧密关系的子集或者是簇。K均值算法现在是最火热也是最为广泛应用的聚类算法。 二、K均值聚类算法原理 假设有一个无标签数据集图(a),现在想将其分为两个簇,使用K均值算法来进行操作,操作步骤: 1.首先随机生成两个点,这两点叫做聚类中心(图b)。K均值算法是一个迭代算法,它会做两件事,第一个是簇分配,第二个是移动聚类中心。 2.簇分配:K均值算法中每次内循环的第一步要进行簇分配,也就是说,遍历每个样本点,根据每个
8_Android app作业-源码.zip
最新发布
06-01
提供的源码资源涵盖了安卓应用、小程序、Python应用和Java应用等多个领域,每个领域都包含了丰富的实例和项目。这些源码都是基于各自平台的最新技术和标准编写,确保了在对应环境下能够无缝运行。同时,源码中配备了详细的注释和文档,帮助用户快速理解代码结构和实现逻辑。 适用人群: 这些源码资源特别适合大学生群体。无论你是计算机相关专业的学生,还是对其他领域编程感兴趣的学生,这些资源都能为你提供宝贵的学习和实践机会。通过学习和运行这些源码,你可以掌握各平台开发的基础知识,提升编程能力和项目实战经验。 使用场景及目标: 在学习阶段,你可以利用这些源码资源进行课程实践、课外项目或毕业设计。通过分析和运行源码,你将深入了解各平台开发的技术细节和最佳实践,逐步培养起自己的项目开发和问题解决能力。此外,在求职或创业过程中,具备跨平台开发能力的大学生将更具竞争力。 其他说明: 为了确保源码资源的可运行性和易用性,特别注意了以下几点:首先,每份源码都提供了详细的运行环境和依赖说明,确保用户能够轻松搭建起开发环境;其次,源码中的注释和文档都非常完善,方便用户快速上手和理解代码;最后,我会定期更新这些源码资源,以适应各平台技术的最新发展和市场需求。
二分kmeans聚类算法matlab
08-27
因为您提供的引用内容并没有提到二分kmeans聚类算法matlab。如果您有其他关于二分kmeans聚类算法matlab的问题,我将很愿意为您提供帮助。<span class="em">1</span><span class="em">2</span><span class="em">3 ###...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
写文章

热门文章

  • 51单片机auxr寄存器_一位15年经验的老司机教你学习单片机 5714
  • 计算机犯罪率增长,我国的计算机年犯罪率的增长是() 5528
  • 计算机高级性能还原,【如何提高电脑性能】 怎么把cpu性能调到最佳 5417
  • simulink中mpc模块怎么使用_simulink中mpc工具箱 4907
  • 虚拟机安装python3_虚拟机如何安装python 4564

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 电视显示无法解析服务器地址,无法解析服务器名称或地址是怎么回事???
  • 我的世界修改服务器,【教程】minecraft服务器优化教程 让你用低配置带更多人!...
  • 求生之路 自定义服务器,求生之路2·教你如何自定义绑定快捷键
2021年144篇
2020年18篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

深圳SEO优化公司大理百度爱采购价格清徐企业网站设计推荐自贡英文网站建设多少钱定西企业网站建设公司昭通网站关键词优化报价临沂网站设计报价忻州网络广告推广公司昌都优秀网站设计报价黔东南优秀网站设计多少钱临汾seo报价林芝营销网站推荐松原英文网站建设沙井网站搭建公司临猗关键词按天收费哪家好广元seo网站优化报价达州网站优化软件推荐迁安品牌网站设计公司莆田网站优化推广哪家好铜川企业网站设计多少钱那曲阿里店铺托管河池外贸网站建设多少钱无锡网页设计哪家好南山网站制作设计文山网站优化排名多少钱南昌企业网站建设价格朝阳SEO按天计费辽阳如何制作网站多少钱抚顺百度爱采购松岗设计网站公司襄樊网络推广哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化