简介:K-均值聚类算法时最基础、应用最广泛的聚类算法,也是最快速的聚类算法之一。
一.原理和过程
原理:K-均值聚类算法以最小化误差函数为目标将样本数据集分为k类。
过程:
- 设定k个类别的中心的初值;
- 计算每个样本到k个中心点的距离,按最近距离进行分类;
- 以每个类别中样本的均值,更新该类别的中心;
- 重复迭代以上步骤,直到达到终止条件(迭代次数、最小平方误差、簇中心点变化率)
优缺点:优点是原理简单、算法简单,速度快,聚类效果极好,对大数据集具有很好的伸缩性。这些优点特别有利于初学者、常见问题。其缺点是需要给定 K值,对一些特殊情况(如非凸簇、特殊值、簇的大小差别大)的性能不太好。
二.Sklearn中K-均值算法的使用
sklearn.cluster.KMeans 类是 K-均值算法的具体实现。
1.KMeans 的主要参数
-
n_clusters: int,default=8 K值,给定的分类数量,默认值 8。
-
init:{‘k-means++’, ‘random’} 初始中心的选择方式,默认'K-means++'是优化值,也