【机器学习】K-Means算法的原理流程、代码实现及优缺点

分类是根据样本某些属性或某类特征(可以融合多类特征),把样本类型归为已确定的某一类别中。机器学习中常见的分类算法有:SVM(支持向量机)、KNN(最邻近法)、Decision Tree(决策树分类法)、Naive Bayes(朴素贝叶斯分类)、Neural Networks(神经网络法)等。

而分类作为一种监督学习方法,需要事先知道样本的各种类别信息。因此当对海量数据进行分类时,为了降低数据满足分类算法要求所需要的预处理代价,往往需要选择非监督学习的聚类算法。

K-Means Clustering(K均值聚类),就是最典型的聚类算法之一,接下来一起进行该算法的学习。

1、K-Means算法原理

K-Means算法思想:对给定的样本集,事先确定聚类簇数K,让簇内的样本尽可能紧密分布在一起,使簇间的距离尽可能大该算法试图使集群数据分为n组独立数据样本,使n组集群间的方差相等,数学描述为最小化惯性或集群内的平方和。K-Means作为无监督的聚类算法,实现较简单,聚类效果好,因此被广泛使用。



2、K-Means步骤及流程

2.1、算法步骤

输入:样本集D,簇的数目k,最大迭代次数N;

输出:簇划分(k个簇,使平方误差最小);

算法步骤:

(1)为每个聚类选择一个初始聚类中心;

(2)将样本集按照最小距离原则分配到最邻近聚类;

(3)使用每个聚类的样本均值更新聚类中心;

(4)重复步骤(2)、(3),直到聚类中心不再发生变化;

(5)输出最终的聚类中心和k个簇划分;

2.2、流程框图:


3、K-Means代码实现

Python代码实现请参考:python 实现周志华 机器学习书中 k-means 算法

Matlab代码实现请参考:https://blog.csdn.net/u010248552/article/details/78476934?locationNum=8&fps=1

C#代码实现请参考:https://www.cnblogs.com/gaochundong/p/kmeans_clustering.html


4、K-Means算法优缺点

4.1、优点

(1)原理易懂、易于实现;

(2)当簇间的区别较明显时,聚类效果较好;

4.2、缺点

(1)当样本集规模大时,收敛速度会变慢;

(2)对孤立点数据敏感,少量噪声就会对平均值造成较大影响;

(3)k的取值十分关键,对不同数据集,k选择没有参考性,需要大量实验;


5、参考资料

1、简单易学的机器学习算法——K-Means算法

2、k-means 的原理,优缺点以及改进

  • 20
    点赞
  • 133
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
回答: K-means算法的优点是简单易实现,计算效率高,适用于大规模数据集。K-means++算法在初始质心选择上进行了改进,能够选择更好的初始质心,提高算法的收敛速度,降低陷入局部最优解的风险。增量式K-means算法适用于大规模数据集,每次只处理一个数据点,不断更新质心,可以大大提高计算效率。\[1\]\[2\]然而,K-means算法也有一些缺点,例如对初始质心的选择敏感,容易陷入局部最优解,对噪声和异常值敏感,需要事先确定聚类数目。此外,K-means算法对数据的分布假设是各个簇的形状是球形的,对于非球形的簇效果可能不好。\[1\]\[3\] #### 引用[.reference_title] - *1* *2* [[机器学习]K-means算法详解:原理优缺点代码实现、变体及实际应用](https://blog.csdn.net/ShiinaMashiro0402/article/details/129980040)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [K-means算法原理优缺点](https://blog.csdn.net/Anakin6174/article/details/107723637)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值