k-means:
只能用于连续型数据,而且需要先定义k(超参数)个类别。
流程:
(1) 随机选择k个样本作为初始点(中心点);
(2) 计算所有样本到这K个初始点的欧式距离,将距离K中某个初始点距离最近的样本则归为该类;
(3) 对已归类的K个簇,利用均值计算出新的中心点,并再次计算样本到新中心点的距离;
(4) 重复(2)(3),知道簇中的样本没有变化,或者距离变化很小(小于某个阈值),则结束。
优点:
(1) 原理简单,实现容易,收敛速度块;
(3) 只有一个超参数K;
(2) 只有一个超参数K;
缺点 :
(1) K值的选取不好把握;
(2) 数据类别不平衡或特征自身方差较大,会影响最终聚类效果;
(3) 数据类别不平衡或特征自身方差较大,会影响最终聚类效果;
k-means++算法:
k-means++改进了k个初始点的选择,将随机选择变成:
(1) 随机选择一个样本