(数学建模-机器学习)K-means聚类算法(python实现)

本文介绍了K-means聚类算法的基本原理、流程,并通过Python代码实例展示了如何进行聚类分析。首先解释了算法以距离作为相似性的评价指标,接着详细描述了算法的步骤,包括随机选取质心、计算样本归属类别等。文章还通过简单的数据例子和可视化结果,直观地展示了算法的运行效果,讨论了质心选取的随机性和可能的不同聚类结果。最后,文中提到了K-means算法在实际应用中的局限性和进一步学习的方向。
摘要由CSDN通过智能技术生成

一、算法简介:

K-means算法是典型的基于距离的非层次聚类算法,以距离作为相似性的评价指标,认为两个对象的距离越近,其相似度就越大。

二、算法流程:

框图
1.设置一个常数K作为类数,随机选取K个初始质心(K的取值方法以后会讲)。
2.重新计算K个聚类的质心(第一次时直接随机生成不需要计算),然后计算样本值和每个质心间的相似程度(如上文讲到,相似性评价指标为距离),将各个样本归类到其最接近的质心当中,(这样我们就“聚了”K个类了)。
3.与前次相比质心不发生变化。

三、取一些数据做例子

#代码(1)
import matplotlib.pyplot as plt
 
import numpy as np
x=np.array([1,3,6,3,2,1,0,7,9,8,7,0,6,2])
y=np.array([1,4,3,2,3,4,5,4,3,2,5,7,8,9])

plt.rcParams['font.sans-serif']=['SimHei'] #正常显示中文标签
plt.rcParams['axes.unicode_minus']=False   #正常显示符号标签
#上面两行是Python绘图中非常重要的语句,比较难记。此段代码虽然没有用到中文或符号,但建议同学每次绘图时写上这些,熟练就能加深记忆
plt.figure()                               #绘图范围,此处可以直接不写参数
plt.axis([-1,10,-1,10])                    #四个参数分别为x和y的最大最小范围,这里建议从负一算起
plt.grid()                    
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值