位置: 编程技术 - 正文

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

  • 折旧年限与税法有关吗
  • 固定资产一次性扣除申报表怎么填
  • 土地增值所得需交什么税
  • 公司租用个人房屋如何记账
  • 企业支付投资者股利属于什么引起的财务活动
  • 补贴给客户的支出怎样做会计分录?
  • 两个其他应收款的区别
  • 委托加工分装农药的委托人应当取得相应的
  • 非正常原因导致的存货盘亏或毁损非正常原因是哪些
  • 持有至到期投资属于什么科目
  • 公司代缴员工个税
  • 什么是遗产税什么是税
  • 无形资产属于什么行业
  • 附加税交税依据
  • 加计抵减10%会计分录用营业外收入还是其他业务收入
  • 国有资产无偿划转实施方案
  • 企业收到退款应该如何做会计处理?
  • 企业所得税分期收款确认收入的时间政策
  • 出租房电费怎么结算
  • 发票先入账,但发票不对
  • 王者荣耀通用铭文狩猎和隐匿
  • 如何解决win10系统复制文件速度
  • 应届生能参考注册公司吗
  • 已认证未付款可以退款吗
  • 不动产税费
  • php怎么转换
  • 转让应收账款会计分录
  • PHP:getimagesize()的用法_GD库图像处理函数
  • 增值税发票开错了可以退吗
  • springboot用法
  • php的输出语句主要有哪些
  • 收付实现制与权责发生制的例题
  • 安装织梦数据库连接不上
  • 企业被吊销后能当被告嘛
  • 税控服务费减免会计分录
  • 固定资产清理的借贷方向
  • 差旅费不抵扣
  • 暂时性差异的产生
  • 长期待摊费用的最新账务处理
  • 教育费附加计费单位
  • 核定征收的企业需要汇算清缴吗
  • 公司车过户给个人多久不用补税
  • 预付账款如何调平
  • 收据可以纳税吗
  • 公司要注销账面怎么处理
  • 投标保证金分为几种
  • 固定资产融资租出对应入账科目
  • 贷款公司收取服务费跑路
  • 快递费属于办公费吗
  • 融资租出的设备是不是资产
  • 可以先注销银行信用卡吗
  • 应收账款是净额列示吗
  • 跨年取得的发票
  • 网上充值平台不能提现怎么办
  • 安全升级
  • mysql批量添加字段
  • virtualboxubuntu安装教程
  • ccsve是啥
  • hl.exe是什么
  • xp操作系统还能用吗
  • linux系统磁盘管理的主要内容
  • winton
  • imecmnt.exe
  • winxp0000007b修复
  • javascript的常用数据类型
  • 修改安卓app权限教程
  • linux程序打包和安装
  • javascript html5移动端轻松实现文件上传
  • javascript html5 canvas实现可拖动省份的中国地图
  • js怎么写java代码
  • jquery的each循环
  • python asyncio await
  • 境外付汇税务备案要多久
  • 新办企业税务局注册流程
  • 没有代理记账资质做代理记账业务
  • 2020年砂石
  • 杭州残保金2021年新政策申报时间
  • 安徽省电子税务局app
  • 广州哪里有餐饮费发票
  • 柴油增值税发票
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设