位置: 编程技术 - 正文

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

  • 一次性医用外科口罩哪个牌子好
  • 增值税抵扣怎么取消
  • 小规模纳税人做账要做增值税吗
  • 公司付给中间人居间费用如何纳税
  • 合同金额含税不含税
  • 交通费怎么抵扣进项税
  • 当年实现的利润属于资产吗
  • 有外经证的计税收入怎么算?
  • 有限责任公司(自然人投资或控股)
  • 库存商品公司自己用怎么下账
  • 税收优惠包括哪三个方面的内容
  • 增值税进项税额转出是什么意思
  • 广告传媒公司的名字
  • 财务保证金怎么做分录
  • 新办的营业执照多久可以注销
  • 公司用窗帘用什么颜色
  • 赔偿给客户的钱抵扣货款的会计分录
  • 企业间利息增值税率
  • 如何测试网络延迟
  • 公益慈善事业捐赠个人所得税
  • 浏览器下载量排名第一的是
  • 什么是融资租赁型校园贷
  • 购货款先到支付后付款
  • 长期挂账的其他应付款转营业外收入情况说明
  • vue3的理解
  • eclipse php wamp配置教程
  • 命令行mkdir创建文件夹
  • 股东投资款怎么存入公司
  • 业务招待费调增额怎么算
  • 社保基数填错了 多扣多钱可以退款吗
  • 什么是应收账款信用管理制度
  • 前端面试题目100及最佳答案
  • pythonif嵌套语句
  • 企业所得税包含营业外收入吗
  • 企业所得税的内容比土地增值税的多了
  • sql server如何查看本地的登录名和密码
  • sqlserver无法打开备份设备
  • mysql_real_query
  • sql的where条件怎么写
  • 矿产资源补偿费计入管理费用吗
  • 结转增值税的账务处理
  • 绿植租赁怎么开票
  • 商业会计主要做什么
  • 提取的安全生产费
  • 税后扣款怎么做账
  • 怎样单方面注销手机卡
  • 商业承兑汇票提示付款流程
  • 货款还没收到有违法所得吗
  • 水表怎么借水
  • 客户到我公司签字怎么说
  • win8系统怎么安装微信
  • win10系统可以自己安装驱动吗
  • windowsxp显卡驱动在哪个位置
  • 配置结果
  • instmsiw.exe进程简介
  • 硬盘安装ubuntu18
  • 解决ubuntu和win10关机重启界面不动
  • CentOS yum php mcrypt 扩展安装方法
  • ias.exe是什么程序
  • mac菜单栏不见了
  • win7文件夹选项在哪里打开
  • win7系统ie浏览器在哪里
  • Linux运维工程师工作内容
  • 解决在ios8中, cocos2dx 2.x版本里CCClippingNode没有效果的问题
  • android应用程序开发的流程
  • Python中文分词的第三方库
  • node 发邮件
  • 如何使用css设置元素的层叠效果?
  • nodejs模块有哪些
  • javascript运用
  • Javascript & DHTML 实例编程(教程)(三)初级实例篇1—上传文件控件实例
  • 浅谈自己对教育的理解
  • android 数据库
  • 宁波地铁支付宝可以刷吗
  • 电子税务局做什么的
  • 成都高新区税务局办税服务厅电话
  • 补税务登记证报税要钱吗
  • 工商局税务局合并了吗
  • 成都市成华区税务局新地址
  • 员工持股平台税务稽查
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设