位置: 编程技术 - 正文

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

  • 税盘服务费抵扣增值税
  • 增值税专用发票几个点
  • 如何理解递延所得税资产和递延所得税负债
  • 社保稳岗返还计算公式
  • 异地缴纳税款
  • 个税专项扣除如何申报
  • 退回的税款如何做账
  • 车船税应该计入什么费用
  • 房地产企业土地使用税
  • 原材料被盗计入什么科目
  • 固定资产明细表范本
  • 办公楼贷款比例
  • 建筑业预缴税款都要填哪些表
  • 给员工缴纳保险
  • 旅行社开哪里比较好
  • 印花税购销合同和买卖合同有什么区别
  • 企业所得税季度申报填写示例
  • 增值税专普票清卡失败的原因是什么?
  • 银行存款日记账和现金日记账的区别
  • 固定资产减值准备可以税前扣除吗
  • 仓库的账怎么做
  • 在windows7提供了一种什么技术
  • 根据新企业会计准则,职工薪酬包括
  • wlms.exe是什么
  • 公司账户上的钱怎么转到老板账户上
  • 提取的坏账准备怎么算
  • 笔记本显示器分辨率无法调整怎么办
  • 留存收益是否计入成本
  • 本年利润和未分配利润怎么结转
  • 跨年度坏账准备转回账务处理
  • vue解决异步取值问题
  • 差旅费住宿专票可以抵扣吗
  • 往账来账是什么意思
  • 外币报表折算差额会计分录
  • 事业单位员工工资
  • 结转财务费用时怎么做账
  • 印花税计算公式
  • 公司出售固定资产的账务处理
  • phpcms多站点
  • 成本法合并抵消分红
  • mongodb配置远程访问
  • python 熵值法
  • 帝度官网 说明书
  • 印花税已缴税额
  • sql server基本知识
  • 小规模纳税人免增值税的政策
  • 用人单位性质怎么填
  • 公司支付员工工资方式有几种
  • 预缴的增值税及附加税怎么做账
  • 行政单位年终奖的相关发放规定
  • 员工提前预支工资合法吗
  • 原股东决定
  • 私人企业会计工作内容
  • 工业企业产成品库存同比
  • 一次性压缩洗脸巾
  • centos7.9
  • linux系统的主要功能
  • VMware虚拟机中安装MATE桌面环境
  • 如何禁止mac adobe acrobat联网
  • 光盘pe系统
  • win7旗舰版怎么改成专业版
  • win7 word
  • linux判断程序是否运行
  • win7系统禁止更新
  • win8开始界面如何设置成win7
  • linux如何安装wget命令
  • 怎么放大linux字体
  • 压缩的linux命令
  • 超级硬盘数据恢复软件v2.7
  • linux shell 中 2>&1的含义
  • android view动画
  • unity-chan
  • ie8不支持
  • js判断密码是否符合标准
  • 如何将位置信息生成二维码
  • js延时加载的方法
  • 个体工商户税务申报怎么操作流程
  • 重庆市怎么在网上打印章程
  • 工会和税务局
  • 一般纳税人开增值税专票几个点
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设