位置: 编程技术 - 正文

python中实现k-means聚类算法详解(k mean python)

编辑:rootadmin

推荐整理分享python中实现k-means聚类算法详解(k mean python),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python的kmeans,k means python,k mean python,k mean python,python k means,k-means python,python kmean,python语言写一个kmeans算法,内容如对您有帮助,希望把文章链接给更多的朋友!

算法优缺点:

优点:容易实现缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢使用数据类型:数值型数据

算法思想

k-means算法实际上就是通过计算不同样本间的距离来判断他们的相近关系的,相近的就会放到同一个类别中去。

1.首先我们需要选择一个k值,也就是我们希望把数据分成多少类,这里k值的选择对结果的影响很大,Ng的课说的选择方法有两种一种是elbow method,简单的说就是根据聚类的结果和k的函数关系判断k为多少的时候效果最好。另一种则是根据具体的需求确定,比如说进行衬衫尺寸的聚类你可能就会考虑分成三类(L,M,S)等

2.然后我们需要选择最初的聚类点(或者叫质心),这里的选择一般是随机选择的,代码中的是在数据范围内随机选择,另一种是随机选择数据中的点。这些点的选择会很大程度上影响到最终的结果,也就是说运气不好的话就到局部最小值去了。这里有两种处理方法,一种是多次取均值,另一种则是后面的改进算法(bisecting K-means)

3.终于我们开始进入正题了,接下来我们会把数据集中所有的点都计算下与这些质心的距离,把它们分到离它们质心最近的那一类中去。完成后我们则需要将每个簇算出平均值,用这个点作为新的质心。反复重复这两步,直到收敛我们就得到了最终的结果。

函数

loadDataSet(fileName)

从文件中读取数据集

python中实现k-means聚类算法详解(k mean python)

distEclud(vecA, vecB)

计算距离,这里用的是欧氏距离,当然其他合理的距离都是可以的

randCent(dataSet, k)

随机生成初始的质心,这里是虽具选取数据范围内的点

kMeans(dataSet, k, distMeas=distEclud, createCent=randCent)

kmeans算法,输入数据和k值。后面两个事可选的距离计算方式和初始质心的选择方式

show(dataSet, k, centroids, clusterAssment)

可视化结果

这里是聚类结果,还是很不错的啦

但是有时候也会收敛到局部最小值,就像下面这样,就是不幸收敛到局部最优了

总结

标签: k mean python

本文链接地址:https://www.jiuchutong.com/biancheng/372220.html 转载请保留说明!

上一篇:Python编程之基于概率论的分类方法:朴素贝叶斯(基于python的设计)

下一篇:python图像常规操作(用python进行图像处理)

  • 一般纳税人的做账流程
  • 个体工商户税务申报
  • 小规模差额征税全额开票和差额开票
  • 远期交易怎么结算
  • 贷款利息是否能降低
  • 发票打印格式错误
  • 向保险公司缴纳的保险费可以税前扣除吗
  • 个人所得税申报是什么意思?
  • 公司分红股需要交税吗
  • 房地产会计预收账款明细科目
  • 营改增增值税优惠政策
  • 混凝土委托加工税率
  • 无形资产研究阶段的支出全部费用化
  • 工程成本哪些可以抵扣
  • 私车公用税务政策性文件
  • 发票虚开税务局要求补税怎么办?
  • 电梯安装简易征收的优点
  • 最新房产税消息2020
  • ca浏览器组件如何下载?
  • 发了工资了
  • 生产经营活动包括建设项目吗
  • 防伪税控服务费减免文件
  • 小规模计提税金及附加怎么算
  • 存货跌价准备转销账务处理
  • 小规模纳税人需要做账吗
  • 建筑公司材料费属于什么科目
  • 合并报表的少数股东权益分录
  • 公允价值上升是收益还是损失
  • 其他应付款转营业外收入合法吗
  • 深度学习中模型计算量(FLOPs)和参数量(Params)的理解以及四种计算方法总结
  • 购买商品或服务赠品法律地位
  • php远程下载图片
  • 一般纳税人与小规模纳税人在报税方面的区别
  • 利息资本化怎么计算
  • 3d点云处理算法
  • 编译原理第三版
  • php jsonp
  • 车船使用税代征手续费
  • 农产品核定进项
  • 织梦cms可以商用吗
  • c语言常用函数用法
  • 跨月红字发票开错了可以撤销吗
  • 小型商贸企业
  • mysql 大量数据
  • 软件退税款会计如何处理
  • 其他综合收益的来源
  • 基建账是否为可不并入大账
  • 工业企业外购存货成本有
  • 进项税额转出为什么加到销项税额里
  • 航天金穗服务费可以抵扣吗
  • 卖二手车买卖
  • 应交税费附加税明细科目
  • 外经证预缴税款必须去外地交税吗
  • 社会团体收到财政拨款
  • 运输业户
  • 已认证专票发现地址为错误
  • 应交税费应交印花税贷方余额
  • 审核通过的红字信息表可以删除吗
  • centos7.6怎么安装
  • mysql很卡
  • java调用jni
  • windows 开始
  • ubuntu左侧菜单不见了
  • win8系统简介
  • 在Linux操作系统中哪些命令可以正确关闭系统防火墙
  • qdcsfs.exe - qdcsfs是什么进程 有何作用
  • linux ftp用户存在哪个文件中
  • linux测试端口连接
  • Linux下将Mysql和Apache加入到系统服务里的方法
  • win7总是显示正在连接虚拟磁盘服务怎么办
  • shell while
  • css制作排行榜
  • retrofit提交表单
  • shell脚本实现批量移动文件
  • 详细解读退役军人优待政策
  • nodejs 静态页面
  • Javascript Global对象
  • javascript word
  • 北京市生育津贴发放标准
  • 地税应急管理办法最新
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设