聚类算法(一):k-均值 (k-means)算法

首先确保你在动手写代码之前已经了解什么是聚类分析。

k-均值算法----一种基于形心地技术的聚类算法。k-均值算法的英文名是k-means,那么这个算法是怎么工作的呢?

k-均值算法把簇的形心定义为簇内点的均值。它的处理流程如下:1.在数据点集D中随机的选择k个对象(这个k表示你要讲数据集分成几个簇),每个对象代表一个簇的初始均值或中心。2.对剩下的每个对象,根据其与哥哥簇中心的欧氏距离,将它分配到最相似的簇。3.k-均值算法迭代的改善内变差。对于每个簇,它使用上次迭代分配到该簇的对象,计算新的均值。 4.使用更新的均值作为新的簇中心。重新分配所有对象。 5.迭代继续,直到分配稳定,本轮行程的簇的中心点坐标与前一轮行程的簇相同。


算法:k-均值

输入:k:簇的数目

   D:包含n个对象的数据集

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
k-means聚类算法是一种常用的无监督学习算法,用于将数据集划分为k个不同的簇。其参数包括k和max_iterations。 k代表聚类的数目,即要将数据集划分为多少个簇。在使用k-means算法之前,需要明确需要将数据划分为多少个簇。选择合适的簇数是一项重要任务,它直接影响到算法的性能和结果的准确性。根据实际问题的要和数据的特征,可以通过调参或者利用先验知识来确定k的值。常用的确定簇数的方法有手肘法、轮廓系数和gap statistic等。 max_iterations是算法的最大迭代次数。k-means算法通过迭代的方式不断优化簇中心的位置,以获得更好的聚类效果。每一次迭代中,算法会计算每个样本点与各个簇中心的距离,将样本点划分到距离最近的簇中心所对应的簇中,并更新簇中心的位置。迭代直到达到最大迭代次数或者满足了早停条件,即簇中心的位置不再改变。 k-means算法的过程可以简述为以下几个步骤: 1. 随机选择k个样本作为初始的簇中心。 2. 计算每个样本点与各个簇中心的距离,将样本点划分到距离最近的簇中心对应的簇中。 3. 更新簇中心的位置,取簇中所有样本点的均值作为新的簇中心。 4. 重复步骤2和3,直到达到最大迭代次数或者满足早停条件。 5. 返回最后的簇划分结果。 总之,k-means聚类算法通过定义k个簇中心并迭代优化簇中心的位置,将数据集划分为k个不同的簇。通过调整k和最大迭代次数,可以控制聚类的精细度和算法的运行时间。它是一种简单而高效的聚类算法,在各个领域都有广泛的应用。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值