找回密码
 立即注册
搜索
热搜: SDN 云计算 H3C
查看: 3032|回复: 0

k-means算法(算法思想+流程图+Python代码实现+散点图+结果输...

[复制链接]

41

主题

1

精华

0

回帖

实习版主

体力
184 卡
贡献
42 个
金币
128 枚
注册时间
2020-1-23
最后登录
2025-2-26

活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老最佳新人

发表于 2020-6-14 15:20:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 lovet 于 2020-6-14 15:36 编辑

k-means算法思想:
第一步,从文件中读取数据,点用元组表示,点集用列表表示。
第二步,初始化聚类中心。首先获取数据的长度,然后在range(0,length)这个区间上随机产生k个不同的值,以此为下标提取出数据点,将它们作为聚类初始中心,产生列表center。
第三步,分配数据点。将数据点分配到距离(欧式距离)最短的聚类中心中,产生列表assigment,并计算平均误差。
第四步,如果首次分配后有结果为空,则重新初始化聚类中心。
第五步,更新聚类中心,(计算每一簇中所有点的平均值),然后再次进行分配,并计算平均误差。第六步,比较前后两次的平均误差是否相等,若不相等则进行循环,否则终止循环,进入下一步最少进行两次聚类,对比误差,输出较小误差时的结果,避免平均误差过大。

流程图:
20190113184435713.png


结果输出:
2.png

散点图:
3.png

python代码:

11.jpg
12.jpg
13.jpg
14.jpg
15.jpg
16.jpg

data文件数据:
21.jpg
22.jpg

【end】

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表