最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

python实现k均值算法示例(k均值聚类算法)

来源:懂视网 责编:小采 时间:2020-11-27 14:30:11
文档

python实现k均值算法示例(k均值聚类算法)

python实现k均值算法示例(k均值聚类算法):简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。 代码如下:import pylab as pl #calc Euclid squiredef calc_e_squire(a, b): return (a[0]- b[0]) ** 2 + (a[1] - b[1]) **2 #init the 20 poi
推荐度:
导读python实现k均值算法示例(k均值聚类算法):简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。 代码如下:import pylab as pl #calc Euclid squiredef calc_e_squire(a, b): return (a[0]- b[0]) ** 2 + (a[1] - b[1]) **2 #init the 20 poi

简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。

代码如下:


import pylab as pl

#calc Euclid squire
def calc_e_squire(a, b):
return (a[0]- b[0]) ** 2 + (a[1] - b[1]) **2

#init the 20 point
a = [2,4,3,6,7,8,2,3,5,6,12,10,15,16,11,10,19,17,16,13]
b = [5,6,1,4,2,4,3,1,7,9,16,11,19,12,15,14,11,14,11,19]

#define two k_value
k1 = [6,3]
k2 = [6,1]

#defint tow cluster
sse_k1 = []
sse_k2 = []
while True:
sse_k1 = []
sse_k2 = []
for i in range(20):
e_squire1 = calc_e_squire(k1, [a[i], b[i]])
e_squire2 = calc_e_squire(k2, [a[i], b[i]])
if (e_squire1 <= e_squire2):
sse_k1.append(i)
else:
sse_k2.append(i)

#change k_value
k1_x = sum([a[i] for i in sse_k1]) / len(sse_k1)
k1_y = sum([b[i] for i in sse_k1]) / len(sse_k1)

k2_x = sum([a[i] for i in sse_k2]) / len(sse_k2)
k2_y = sum([b[i] for i in sse_k2]) / len(sse_k2)

if k1 != [k1_x, k1_y] or k2 != [k2_x, k2_y]:
k1 = [k1_x, k1_y]
k2 = [k2_x, k2_y]
else:
break

kv1_x = [a[i] for i in sse_k1]
kv1_y = [b[i] for i in sse_k1]

kv2_x = [a[i] for i in sse_k2]
kv2_y = [b[i] for i in sse_k2]

pl.plot(kv1_x, kv1_y, 'o')
pl.plot(kv2_x, kv2_y, 'or')

pl.xlim(1, 20)
pl.ylim(1, 20)
pl.show()

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

python实现k均值算法示例(k均值聚类算法)

python实现k均值算法示例(k均值聚类算法):简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。 代码如下:import pylab as pl #calc Euclid squiredef calc_e_squire(a, b): return (a[0]- b[0]) ** 2 + (a[1] - b[1]) **2 #init the 20 poi
推荐度:
标签: 实现 实例 python
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top