位置: 编程技术 - 正文

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

  • 装修设计合同印花税
  • 农产品收购发票使用范围
  • 合伙企业分配利润如何纳税
  • 企业的净资产包括实收资本吗
  • 费用分割单模板
  • 微商怎么交易流程
  • 一般纳税人开红票怎么处理
  • 用于连续生产的消费税计入
  • 房地产开发企业的土地使用权计入哪里
  • 应收账款确认无法收回分录
  • 发现以前年度少计提税金
  • 个体工商户转为企业要交税吗
  • 国际贷款平台
  • 现金买东西可以退吗
  • 投资收益是否缴纳印花税
  • 印花税的计税依据怎么算含税还是不含税
  • 2017企业所得税小微企业优惠政策
  • 工程施工纳税
  • 红字发票是销货单据吗
  • 其他债权投资的交易费用计入什么科目
  • 增值税明细账怎么登记
  • 系统浏览器
  • Win10待机唤醒后白屏怎么办
  • 无形资产摊销时点
  • 承包安装工程怎么报价
  • “网络爬虫”
  • 厄勒布鲁赛程500
  • 拥有自我意识的动物有哪些
  • etc发票计算抵扣
  • js怎样遍历对象中的每个元素
  • laravel中间件是什么意思
  • 认缴制情况下 公司一定要出资到位再注销吗
  • python处理mysql如何拿到表头
  • 成本核算的会计处理
  • 公司租用员工的车辆交什么税
  • 工程服务预付款最新规定
  • php框架 hyperf
  • 周转材料二级科目有哪些
  • 差旅费算直接人工吗
  • 设备购入后又退出怎么办
  • 积分兑换业务有风险吗
  • 怎样进行制造费用的归集
  • 土地使用权转为在建工程
  • 核定征收企业可以享受研发费用加计扣除
  • 收到失业保险稳岗补贴怎么做会计分录
  • 不符合资本化的长期借款利息计入什么科目
  • 小规模防伪税控服务费多少钱
  • 无形资产入账
  • 支出费用的区别
  • 存货出售,资产减值损失如何处理
  • 分配现金股利的顺序
  • 生产能量等于什么
  • 购销合同印花税2023年新规定
  • 陈列费收取标准
  • 《新会计准则》
  • 实收资本未到账减资要交税吗
  • 开设明细账
  • Windows 2008 R2 AD组策略-统一域用户桌面背景详细图文教程
  • linux服务端
  • freebsd使用手册
  • ubuntu 编译安装
  • ubuntu18.04安装eclipse
  • 内核版本能升级吗
  • win8怎么调出任务栏
  • win7虚拟内存最大设置多少
  • win10自带绘画
  • linux cut-c
  • win8.1无法更新
  • linux里chmod用法
  • jquery图片轮播无缝连接
  • easyui combobox onchange
  • 3dsMax插件开发环境配置
  • 自定义右键属性是什么
  • js使用正则表达式对json对象的校验
  • js math.js
  • 为什么买的酒精有香味
  • 增值税征税范围口诀
  • 国税局和税务局合并
  • 医院等级怎么查询系统
  • 车船使用税是什么样的单子
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设