数据挖掘中的Kmeans算法

KMeans算法是一种基于样本相似性的聚类方法,通过迭代分配点和更新类簇中心来划分数据。文章讨论了K值选择困难和初始点敏感两大问题,并介绍了ISODATA算法自动确定类别数量以及K-Means++算法改善初始点选择的方法。
摘要由CSDN通过智能技术生成

KMeans算法是一种基于样本间相似度量的间接聚类方法。

主要思想是:在给定K值和K个初始类簇中心点的情况下,把每个点(亦即数据记录)分到离其最近的类簇中心点所代表的类簇中,所有点分配完毕之后,根据一个类簇内的所有点重新计算该类簇的中心点(取平均值),然后再迭代的进行分配点和更新类簇中心点的步骤,直至类簇中心点的变化很小,或者达到指定的迭代次数。


KMeans的两个缺陷:

1,这两个缺陷都跟初始值相关。K 是事先给定的,这个 K 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适。

2,K-Means算法需要用初始随机种子点来搞,这个随机种子点太重要,不同的随机种子点会有得到完全不同的结果。


对于缺陷1:

 ISODATA算法通过类的自动合并和分裂,得到较为合理的类型数目 K


对与缺陷2:可以采用K-Means++算法进行解决:

具体内容参:http://rosettacode.org/wiki/K-means%2B%2B_clustering#Python

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值