位置: 编程技术 - 正文

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

  • 公司购买二手房可以开增值税专用发票吗
  • 企业所得税的账户设置
  • 车船税保险公司会不会多收
  • 办公室电话费计入什么科目
  • 销项减进项余额在哪方
  • 房地产简易征收可以开专用发票吗
  • 承兑汇票给别人时对方需要出具什么
  • 销售支付产品是什么意思
  • 合同解除收取对方的违约金交什么税
  • 由收款人签发,经付款人承兑
  • 大额承兑换小额承兑会计分录
  • 土地使用税为什么不计入存货成本
  • 注销企业时所有权怎么办
  • 土地增值税清算利息扣除规定
  • 公司租赁厂房开几个点发票
  • 软件企业怎么享受三免两减半
  • 冲红发票金额大怎么办
  • 一年内到期的应收质保金
  • 付款方付款的发票税金能入账吗?
  • 旧税号的发票专用章还能使用吗
  • 汇总表格怎么设置
  • 小规模补缴增值税怎么算
  • 房地产预缴税金附加可以计提吗
  • safari下载的文件怎么删除
  • 鸿蒙os程序
  • 天猫积分类服务费账务处理
  • 税务申报逾期罚款不交
  • 退货可以吗
  • yolov3训练自己的数据超详细
  • 一般纳税人开出13%的普通发票怎么扣税
  • 工资零申报3个月后不能申报了吗
  • 语音语言
  • 厂房和设备折旧年限
  • 每个月计提折旧的分录
  • 以摊余成本计量的金融资产会计处理
  • 补偿金是否应该上税
  • phpcms v9用户手册
  • 循环语句例题及解析
  • 餐饮发票数量单价都填0可以用吗
  • 公司自用咖啡机怎么处理
  • 微信收款和支付宝收款有啥区别
  • 小规模结转成本怎么计算
  • 固定资产计提折旧的原则
  • 服务业暂估成本怎样做账?
  • 专项资金的账务处理 借:银行存款 贷:其他应付款
  • 劳务公司成本核算方法一般选择哪个
  • 投资性房地产出租的会计处理
  • 应付职工薪酬工作流程
  • 房地产开发打桩
  • 待摊费用年底能够有余额么
  • 工资计提和发放账务处理
  • 在sp_executesql中使用like字句的方法
  • adsl用户之间共享电话线路
  • 在Windows Server 2008中配置FTP服务
  • 怎么快速判断哪些角是第几象限
  • 电脑删除ie后怎么恢复
  • ubuntu无法解压tar.gz
  • linux设置用户的密码
  • Win10 Mobile首个RS2预览版14905快速版今日开始推送
  • Windows RT 8.1 Update 3九月发布 届时将加入改进版锁屏
  • win10缺少文件怎么办
  • linux解压操作
  • win10的三个安全问题
  • win7系统点击图标没反应
  • win7系统进不了桌面
  • win7硬盘访问权限怎么解除
  • 宽带连接错误628win10
  • JS实现的ajax和同源策略(实例讲解)
  • centos 设置定时任务执行指定脚本的方法
  • 批处理注册reg文件
  • bootstrap按钮图标
  • unity中物体移动代码
  • unity networking
  • unity的spine动画切换
  • 个体工商户年报补报流程
  • 山西国家税务总局
  • 电子税务局如何查询财务报表
  • 一般纳税人做账收费标准
  • 办理养殖照税务登记证
  • 新版零申报印花税怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设