kmeans聚类算法python实现、显示折线图_聚类算法kmeans,kmeans++及python实现

1、kmeans

kmeans, k-均值聚类算法,能够实现发现数据集的 k 个簇的算法,每个簇通过其质心来描述。

kmeans步骤:

(1)随机找 k 个点作为质心(种子);

(2)计算其他点到这 k 个种子的距离,选择最近的那个作为该点的类别;

(3)更新各类的质心,迭代到质心的不变为止。

Q:如何选择 k 值?

A: 根据 k 取不同的值时,模型性能曲线图。

横坐标是聚类数目k,纵坐标是各点到距离中心的距离和。在拐点处的K(距离和下降速率变慢)作为选择的值。

d1d57967-0a13-4618-8c2b-c7fbb6eda3b8.png?UCloudPublicKey=TOKEN_8d8b72be-579a-4e83-bfd0-5f6ce1546f13&Signature=y2mX9XUmIwMeGy1lS%252B00wOhfNS8%253D&Expires=1602251436

2、kmeans++

因为,kmeans的初始种子的随机找的,这样,算法的收敛快慢与初始值关系非常大,于是,kmeans++ 主要针对初始值的选取进行改进。

初始值选取,如下:

1、也是随机选取一个种子;

2、计算其他点到这个种子的距离;

3、选择这些较大的距离的那个点,替代随机选取的那个种子,作为新的种子点(这里的较大的距离,可以理解为maxDistance*随机数,随机数可以选取0.5-1;);

4、迭代1-3步,直到选取k个种子为止。

3. 评估聚类效果

轮廓系数法SC

轮廓系数(Silhouette Coefficient))结合了聚类的凝聚度(Cohesion)和分离度(Separation),用于评估聚类的效果。该值处于-1~1之间,值越大,表示聚类效果越好。

计算步骤:

(1)选择一个点

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值