机器学习-K-Means聚类算法的实现(含tensorflow实现版)

一、概述

K-means算法是集简单和经典于一身的基于距离的聚类算法采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。

二、k-means算法流程

在这里插入图片描述
结合代码具体分析流程:

1. 准备数据,对数据进行可视化显示
在这里插入图片描述

2.定义距离函数,聚类中心更新函数,实现k-means

  • 计算聚类中心与样本之间的距离函数
    在这里插入图片描述
  • 根据距离记录列表record更新聚类中心
    在这里插入图片描述
  • 聚类算法指定运行n个epoch或者聚类中心不变则停止
    在这里插入图片描述
  • 得到聚类中心结果在这里插入图片描述
  • 可视化查看结果
    在这里插入图片描述
    代码传送门**(含tensorflow实现版)**

三、缺点

  1. 计算量大,样本量大时非常耗用计算资源;
  2. 不好确定K值,只能多次尝试,根据肘部法则去确定一个合适的K值;
  3. 不一定每次都能聚类好。可以记录一个距离的损失值,选择最后最小的损失值作为聚类中心;
  4. 不能聚类密度类数据,如两个环状的数据,这时候使用K-means将会失效。可以选择使用DBSCAN算法聚类。
  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值