• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >python > python实现k均值算法示例(k均值聚类算法)

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

作者: 字体:[增加 减小] 来源:互联网

通过本文主要向大家介绍了k均值聚类算法python,python 聚类算法,python实现聚类算法,kmeans聚类算法python,python 文本聚类算法等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

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

#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()
</div>

</div>

您可能想查找下面的文章:

  • Python聚类算法之DBSACN实例分析
  • Python聚类算法之凝聚层次聚类实例分析
  • Python聚类算法之基本K均值实例详解
  • python实现k均值算法示例(k均值聚类算法)

相关文章

  • 用Python将动态GIF图片倒放播放的方法
  • 简单实现python爬虫功能
  • Django Admin实现上传图片校验功能
  • Python yield使用方法示例
  • Django发送html邮件的方法
  • Python使用Scrapy爬取妹子图
  • 使用Python脚本将绝对url替换为相对url的教程
  • Python 列表(List) 的三种遍历方法实例 详解
  • Python检测生僻字的实现方法
  • 详解python调度框架APScheduler使用

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • Python网页解析利器BeautifulSoup安装使用介绍
    • python 多进程通信模块的简单实现
    • Python的Django框架中的数据库配置指南
    • Python中函数的参数传递与可变长参数介绍
    • wxpython学习笔记(推荐查看)
    • 用Python进行基础的函数式编程的教程
    • 简介二分查找算法与相关的Python实现示例
    • python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
    • Python异常处理总结
    • Python代码解决RenderView窗口not found问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有