k中心点聚类算法伪代码_K-means聚类算法

K-means聚类算法

1、算法思想

首先,我们可以随机选取K个对象作为初始的聚类中心,然后计算每个对象与每一个种子聚类中心的距离,然后分别把这些对象分配给距离对象最近的一个聚类中心,只要对象被分配以后,被分配的对象就和聚类中心组成一个新的聚类,分配后就不能改变了,然后在根据每个聚类的聚类中心和对象的距离进行重新计算,并且一直重复这样的计算,直到没有对象可以被重新分配给不同的聚类或聚类中心不再发生变化或误差平方和局部已经最小,这样循环计算就会停止。

2、优缺点

优点:a.算法容易实现

b.当聚类个数小于真实值时,误差平方和会下降的很快;

缺点:a.当聚类个数超过真实值时,误差平方和虽然会继续下降,但是下降的速度会缓减,而这个转折点就是最佳的聚类个数了。

b.非均质的数据、不同类别内部方差不相同

3、伪代码

输入:类簇的个数K,迭代终止值Z。

输出:聚类结果

For(t=1;t

给出数据对象Xi;

计算聚类中心和对象的距离dist(Xi,Centerk);

将Xi划到距离Xi最近的类簇中心所在的类簇中

For(直到Xi不能在分配){

将所有的类簇中心更新

}

输出聚类结果;

}

4.代码实现

import numpy as np

import pandas as pd

import random

import

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值