一、K-Means算法概念
K-Means 算法是一种经典的聚类分析方法,属于无监督学习的一种。它的目标是将数据集中的样本划分为预定数量的簇,使得簇内的样本尽可能相似,而簇间的样本尽可能不同。K-Means在业务中也有诸多用途,比如在进行探索性数据分析的过程中,我们会使用K-Means简单看看数据分布,从而辅助后面的建模判断等等。
二、K-Means算法流程
1、选择K值
K是预先指定的簇数量,它是算法的输入参数,需要根据数据集和需求来确定,也就是说你要预先估计大概可以聚出多少个类簇,然后将K值设定成相对应的数目,训练之后再评估效果。一般我们会选择多个K值,循环训练并输出轮廓系数等指标,从而选定最佳的K值。
2、初始化簇中心
随机选择 K 个数据点作为初始簇中心(质心),可以使用更复杂的初始化方法,如 K-Means++。这个环节通常使用欧几里得距离来衡量数据点与簇中心之间的距离,对于数据点x和簇中心c:
其中,