python实现k均值算法示例(k均值聚类算法)
简单实现平面的点K均值分析,使用欧几里得距离,并用pylab展示。
importpylabaspl
#calcEuclidsquire
defcalc_e_squire(a,b):
return(a[0]-b[0])**2+(a[1]-b[1])**2
#initthe20point
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]
#definetwok_value
k1=[6,3]
k2=[6,1]
#definttowcluster
sse_k1=[]
sse_k2=[]
whileTrue:
sse_k1=[]
sse_k2=[]
foriinrange(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)
#changek_value
k1_x=sum([a[i]foriinsse_k1])/len(sse_k1)
k1_y=sum([b[i]foriinsse_k1])/len(sse_k1)
k2_x=sum([a[i]foriinsse_k2])/len(sse_k2)
k2_y=sum([b[i]foriinsse_k2])/len(sse_k2)
ifk1!=[k1_x,k1_y]ork2!=[k2_x,k2_y]:
k1=[k1_x,k1_y]
k2=[k2_x,k2_y]
else:
break
kv1_x=[a[i]foriinsse_k1]
kv1_y=[b[i]foriinsse_k1]
kv2_x=[a[i]foriinsse_k2]
kv2_y=[b[i]foriinsse_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()
相关文章
- python re.compile() 详解——Python正则表达式「建议收藏」
- python skitlearn_Python sklearn
- Python实现k-近邻算法案例学习
- Python udp编程_python socket udp
- Python:利用python代码编程实现将视频的avi格式转换为MP4格式
- python上的表白代码_用Python实现表白代码
- python制作自动交易程序_Python如何实现自动化交易
- python分段线性插值_Python实现分段线性插值
- 使用python的随机森林算法处理遥感数据
- java python双语言实现5种最短路径算法
- java和python实现最短路径算法
- 【干货书】时间序列算法导论:使用Python实现机器学习和深度学习技术
- 【使用Python实现算法】01 语言特性
- 【使用Python实现算法】05 标准库(函数式编程模块)
- Python实现 深度优先算法生成迷宫详解编程语言
- Linux下如何快速卸载Python环境(linux如何卸载python)
- 学习Python精通SQL Server操作技巧(python操作sqlserver)
- 下的应用玩转Python:Linux下的Python应用之旅(python在linux)
- Python连接MySQL数据库:初学者指南(python入mysql)
- Python如何连接MySQL数据库(python怎么连接mysql数据库)
- python用Redis与Python实现大数据收集与分析(redis 联合)
- python实现归并排序算法
- Python内置函数bin()oct()等实现进制转换
- python计数排序和基数排序算法实例
- python实现的二叉树算法和kmp算法实例
- 数据挖掘之Apriori算法详解和Python实现代码分享
- Python实现二分法算法实例