K-means 算法

K-means算法 

  聚类算法是一种无监督学习算法。k均值算法是其中应用最为广泛的一种,算法接受一个未标记的数据集,然后将数据聚类成不同的组。K均值是一个迭代算法,假设我们想要将数据聚类成K个组,其方法为:

  1. 随机选择K个随机的点(称为聚类中心);
  2. 对与数据集中的每个数据点,按照距离K个中心点的距离,将其与距离最近的中心点关联起来,与同一中心点关联的所有点聚成一类;
  3. 计算每一组的均值,将该组所关联的中心点移动到平均值的位置;
  4. 重复执行2-3步,直至中心点不再变化

K-means算法优点:

(1)、是解决聚类问题的一种经典算法,简单、快速

(2)、对处理大数据集,该算法保持可伸缩性和高效性

(3)、当簇接近高斯分布时,它的效果较好。

K-means算法缺点:

(1)、在簇的平均值可被定义的情况下才能使用,可能不适用于某些应用;
(2)、在 K-means 算法中 K 是事先给定的,这个 K 值的选定是非常难以估计的。很多时候,事先并不知道给定的数据集应该分成多少个类别才最合适;
(3)、在 K-means 算法中,首先需要根据初始聚类中心来确定一个初始划分,然后对初始划分进行优化。这个初始聚类中心的选择对聚类结果有较大的影响,一旦初始值选择的不好,可能无法得到有效的聚类结果;
(4)、该算法需要不断地进行样本分类调整,不断地计算调整后的新的聚类中心,因此当数据量非常大时,算法的时间开销是非常大的;
(5)、若簇中含有异常点,将导致均值偏离严重(即:对噪声和孤立点数据敏感);

猜你喜欢

转载自blog.csdn.net/jiangjunlanzhoulan/article/details/81324098