位置: 编程技术 - 正文

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

  • 退的个税手续费怎么做会计分录
  • 中国进口货物完税价格表
  • 预缴增值税后隔多久缴纳
  • 服务不动产扣除项目怎么填
  • 财务费用利息收入在贷方表示什么
  • 集装箱维护是做什么的
  • 领用低值易耗品的记账凭证
  • 已入账未抵扣退回发票
  • 公司车子的保养费怎么算
  • 物流公司 报关
  • 阿里巴巴新任董事长简历
  • 购入债券计入什么科目
  • 事业单位收到增值税专用发票抵扣联怎么办
  • 个税手续费返还会计分录
  • 同一套房
  • 进项票异常如何自查
  • 个税手续费返还计入哪个科目
  • 应交税费明细科目有简易计税吗
  • 文化事业建设费征收对象
  • 进项税额不得抵扣在哪个科目
  • 已付款未收到发票
  • 应付账款无法支付所得税处理
  • 发票少开退回多付的货款怎么入账?
  • 会计准则规定的关联方
  • 纳税人申领发票流程
  • 高新加计扣除怎么做账
  • 未确认融资费用属于企业资产类科目对不对
  • 固定资产残值清零怎么处理
  • 广告公司广告费收入交增值税吗
  • 残保金按计提数还是按发放数申报
  • 销项税多了冲销部分的怎么做账
  • 福利费不需要发票
  • 注册表编辑器误删怎么办
  • 外币账户收到应收账款
  • 目前光学变焦最大支持多少倍
  • php字符串定义
  • 工程事故赔偿协议书怎么写
  • 公司处于亏损状态,股东要退股怎么办
  • 耕地佔用税的缴纳期限
  • 发票开出未认证丢失怎么处理
  • 财政补贴的内容分类
  • echarts饼图颜色设置
  • web前端基础教程
  • ubuntu20.04安装opencv3.4
  • javafiles
  • progress的用法及短语
  • 固定资产被替换的账面价值怎么算
  • dedecms使用教程
  • 银行利息的收入计入什么科目
  • 外购货物用于在建工程分录
  • vue打包找不到文件
  • 应收账款余额贷方
  • 企业计提固定资产折旧以什么假设为前提
  • 一般纳税人企业要交哪些税
  • 契税通过应交税费科目核算吗
  • 异地预缴增值税后本地怎么申报
  • 企业变更地址需要几天
  • 库存商品对外销售会计分录
  • 实物投资需要缴纳增值税吗
  • 企业计提什么意思
  • 生育津贴案件
  • 存储过程mysql
  • sql简单教程
  • solaris修改ip地址
  • WIN7系统如何设置表格默认保存位置
  • skydrive官网登录
  • Ubuntu 14.10 “Utopic Unicorn”正式发布(附下载)
  • mac无法开机怎么办
  • randomdigits.exe - randomdigits是什么进程 有什么用
  • 更改mac地址值
  • win8系统搜索不到wifi
  • win 10电脑怎么调虚拟内存
  • js 仿真
  • 菜鸟教程安卓开发
  • 猫的游戏视频
  • 医疗费发票查询
  • 个人所得税代扣代缴手续费退库申请
  • 天津本田天虹90摩托车库存
  • 北京社保三方协议
  • 税务注销证明样本
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设