位置: 编程技术 - 正文

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进行图像处理)

  • 招待费增值税税率
  • 工商年报认缴时间填错了
  • 股权收购收购方支付的期间损益计入
  • 什么企业符合加计扣除的条件
  • 什么是非限制
  • 个税中房屋租赁日期写长跟写短
  • 小规模纳税人超500万后何时认定为一般纳税人
  • 应付职工薪酬月末怎么结转
  • 门票可以直接入账吗
  • 工会经费需要计税吗
  • 企业所得税表中营业成本包括费用吗
  • 利润表的利息费用怎么算出来的
  • 承租人与出租人签订了一份租赁合同,该设备
  • 内账应收应付算利润吗
  • 2020年减免水利基金会计分录
  • 境外企业提供国外服务
  • 公司买了商品做活动会计分录
  • 固定资产盘盈可计入
  • 供电局预收电费
  • 投资收益涉及税种
  • 待处理财产损益科目
  • 房产税计税依据房产原值怎么算
  • 案例分析关于团员青年的思想困惑疏导和成长问题释疑
  • 所得税费用可以抵减利润吗
  • 来料加工企业如何计算产值
  • 发票的校验码被公章覆盖了怎么办
  • 电子发票上传平台失败是什么意思
  • 付佣金代扣个人所得税税前列支
  • 以前年度费用如何列支
  • 玩穿越火线总是提示机器遇到
  • linux help
  • 收到投资款怎么做记账凭证
  • linux怎么查找
  • 默认网关不可用频繁掉线
  • laravel跨库查询
  • 直接人工的核算包括
  • 分公司吸收新股怎么办
  • 对公账户转私人账户手续费多少
  • 其它业务收入是什么科目
  • 圣克鲁斯河特点
  • 提高stable diffusion速度
  • 罚款支出计入什么
  • nvme安装win10教程
  • 猪肉税票怎么开
  • 遮天传游戏视频
  • java 桥接模式
  • 劳务分包的形式有哪些
  • 企业收到银行未收到怎么做账
  • 销售价格确定的方法有
  • 厂区道路折旧年限最新规定
  • 没有发票可以先入费用科目吗
  • 本月损益类未结转为零的一级科目怎么操作
  • 土地拍卖相关法律法规
  • 核定征收也需要报税务报表吗?
  • 残保金管理使用办法
  • 小微企业要交残疾证吗
  • MySQL 5.6 中 TIMESTAMP有那些变化
  • apple mac book
  • ubuntu如何读
  • linux不能识别u盘
  • linuxvi编辑器三种模式
  • JavaScript程序设计形考答案
  • javascript 高级
  • css用什么写
  • perl-v
  • android的
  • 精仿和媲美专柜有什么区别
  • 请问在javascript程序中
  • node. js教程
  • 如何用python创建数据集
  • android四大组件五大布局
  • Python性能优化指南
  • javascript面向对象 第三方类库
  • android下载图片并保存到本地
  • android的动画有哪些?
  • 江西低保查询系统
  • 税务催告期限多久
  • 周报要素
  • 主管税务机关指的是
  • 村副主任有什么要求
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设