[算法]k平均算法

方法:

  • 0.聚类和分类区别:分类就是已知所有类别,只是区分一下。(即做一个判断即可),而聚类,则是不知道任何类别的情况下,将一堆数据进行划分到k个区域,即只是寻找数据的相似性,还是由人来看最终到底有什么区别。

  • 1.又称为聚类算法(或者沃罗努瓦分割),顾名思义,就是将n个点进行归类,归到k个类中(当然,K<=n),使得 每个点都处于----类的均值最近的那个类中。比较拗口,举个例子,3个人,身高分别为1,2,3,现在需 要划分为2个类,因为数据比较少,不妨先随意划分一下,(1,2) 3,这样划分,第一个类均值1.5 第二个类3,总距离是0.5+0.5+0=1,1 (2,3),也是同理,总距离也是0+0.5+0. 5=1,(1,3) 2,这个总距离就是1+1+0=2了,所以可以得处前两种划分方式符合K平均算法的计算结果(当然,由于数据少,我们用的是枚举法得出,由这个例子可以看出,算法结果不一定是唯一的)

  • 2.注意K平均算法与K近邻无关,用科学表示,就是解决这么一个问题:已知观测集 ( x 1 , x 2 , . . . , x n ) {\displaystyle (x_{1},x_{2},…,x_{n})} (x_{1},x_{2},…,x_{n}),其中每个观测都是一个 d {\displaystyle d} d-维实向量,k-平均聚类要把这 n {\displaystyle n} n个观测划分到k个集合中(k≤n),使得组内平方和(WCSS within-cluster sum of squares)最小。

  • 3.如何计算?上面阐述了问题,那么如何运算?:采用迭代算法,步骤如下①设置一个k值(一般这个是已知条件),②随机选择k个数据,作为类的质心,③分别计算剩下的(n-k)个数据到每个质心距离,每个点划分到离开他最近的那个质心(这里需要用到求距离公式),这步完成后会形成第一次划分。④在每个质心内部,重新计算最新的质心(如果是二维点,分别取所有点的x值的平均值和y的值的平均值即获得新的质心,⑤重复②-③步骤,进行重新划分,直到分布不再变化,即收敛。即算法计算完成。

  • 4.应用举例:任何数值型,连续数据都可以进行聚类,比如聚类各个城市居民在衣食住行消费支出的数据,就可以看出各个省份的消费水平:当然,和k值的选择也有很大关系。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值