r语言kmodes_聚类分析——k-means算法及R语言实现

我们知道『物以类聚,人以群分』,这里并不是分类问题,而是聚类问题。

两者主要区别在于,分类是将一组数据根据不同的类区分,已经知道有哪些类,也就是数据已经有了类的标签。而聚类是一种事先不知道有多少类,通过算法学习,分出来了一些类别。

分类跟聚类也分别是有监督学习和无监督学习的范畴。

k-means算法

k-means是聚类算法中最简单的,也是最常用的一种方法。

这里的

equation?tex=k 指的是初始规定要将数据集分成的类别,means是各类别数据的均值作为中心点。

算法步骤:

1.初始设置要分成的类别

equation?tex=k ,及随机选取数据集中

equation?tex=k 个点作为初始点

2.根据相似性度量函数将其他点与初始点做比较,离哪个值近就分到哪一个类

3.将分出来的

equation?tex=k 类求取平均值,作为新的中心点

4.重复步骤,直到中心点不变或者变化不大(即收敛)或者达到规定的迭代次数则停止

相似性度量有多种函数,一般使用欧式距离。相似性度量函数

补充:为什么会使用均值作为中心点的选择呢?

这主要是因为目标函数的设置决定的。我们使用误差平方和作为聚类的目标函数,即

equation?tex=SSE

equation?tex=SSE+%3D+%5Csum_%7Bi+%3D+1%7D%5E%7BK%7D%7B%5Csum_%7Bx%5Cin+C_i%7D%7Bdist%28c_i%2C+x%29%7D%7D

这里的

equation?tex=K 表示 <

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值