位置: 编程技术 - 正文

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

  • 企业增值税税负率怎么计算
  • 企业持股分红
  • 预缴增值税附加税费申报明细表
  • 贴现收到的钱计入什么会计科目
  • 制造费用多结转了下月如何调整
  • 出租场地属于什么营业范畴
  • 企业残疾金的基数是多少
  • 正常经营损失
  • 销售货物没有开票如何处理
  • 不动产经营租赁属于现代服务吗
  • 购买车间用的材料怎么做分录
  • 中央空调可一次开多少度
  • 企业所得税预缴可以不交吗
  • 园林绿化工程税点
  • 工业企业小规模纳税人的认定标准
  • 新申请的增值税怎么申报
  • 增值税专用发票和普通发票的区别
  • 加盟费返款怎么入账
  • 电子商务出纳的岗位职责
  • 预付款税率是多少
  • 小额零星业务上限是多少
  • 小规模纳税人缴纳增值税的会计科目
  • 1697510649
  • 固定资产少计提了怎么办
  • 持有至到期投资减值准备
  • 土地使用税从什么时候开始算
  • bios设置的完整说法
  • 华为手机麦克风在哪里
  • 外观专利的价值
  • 公司专柜样品如何做
  • linux硬件设备分为
  • 应收罚款收入
  • 原材料的帐务处理
  • 企业发给员工的食堂补贴需要交个税吗
  • php编程技术
  • 对方不开票
  • nyud数据集
  • php jquery
  • php安装openssl扩展
  • 固定资产发票税率多少
  • 小规模纳税人定义
  • 科目汇总表一张不够怎么写下一页
  • vue打包找不到文件
  • 织梦常用调用标签
  • 资产捐赠账务处理
  • 如何利用sql进行数据传输
  • 公司帐户转到法人私卡备用金行吗
  • 长期待摊费用好处
  • 最新减免税申报表填写举例
  • 私车公用产生的费用如何入账
  • 公司冲账发票做账流程
  • 如果企业长期股票怎么办
  • 适用于一般纳税人的税率有
  • 公司买灭草剂怎么入账
  • 个税多缴了纳税人怎么办
  • 进项税和销项税怎么理解
  • 计提了减值准备怎么算折旧额
  • 公司现金支票取现要缴税吗
  • 企业所得税季报营业成本包括哪些
  • sql语句排除重复数据
  • sql外连接
  • mysql column is ambiguous
  • bios怎么恢复出厂设置教程
  • win8驱动在哪个文件夹
  • WeatherEye.exe - WeatherEye 是什么进程
  • centos安装yun
  • linux查看文件夹大小
  • win 8怎么样
  • linux 请求
  • 安装win8.1一直卡着不动
  • win7无网激活
  • win7怎么禁止程序自启动
  • linux 多块硬盘虚拟成一块
  • jquery操作表格
  • android launchers
  • css中标签
  • bootstrap需要学多久
  • 快速掌握英语的方法
  • 8倍社会平均工资 北京
  • 个人所得税年申报流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设