python实现kmeans聚类不用numpy包_Python实现 K_Means聚类算法

importnumpy as npimportmatplotlib.pyplot as plt#子函数:Initialize center函数通过使用numpy库的zeros函数和random.uniform函数,#随机选取了k个数据做聚类中心, 并将结果存放在Numpy的Array对象centers中

definitCenters(dataSet,k):

numSamples,dim=dataSet.shape

centers=np.zeros((k,dim))for i inrange(k):

index=int(np.random.uniform(0,numSamples)) #random get k centers

centers[i,:]=dataSet[index,:]print(centers)returncenters#子函数:Dist2Centers这个函数用来计算一个数据点到所有聚类中心的距离,将其存放在dis2cents中返回

defDist2Centers(sample,centers):

k=centers.shape[0]

dis2cents=np.zeros(k)for i inrange(k):

dis2cents[i]=np.sqrt(np.sum(np.power(sample-centers[i,:],2)))returndis2cents#子函数:kmeans函数.# 这部分代码完成了kmeans算法中为数据点决定所属类别以及迭代更新类中心点的主要功能。# 注意numpy库的返回最小值索引的argmin函数以及计算平均值的mean函数的使用方法

defkmeans(dataSet,k,iterNum):

numSamples=dataSet.shape[0]

iterCount=0#cl

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值