python应用kmeans算法,K-Means算法的Python实现

算法简介

K-Means是一种常用的聚类算法。聚类在机器学习分类中属于无监督学习,在数据集没有标注的情况下,便于对数据进行分群。而K-Means中的K即指将数据集分成K个子集合。

K-Means演示

从以下的动画、视频和计算过程可以较为直观了解算法的计算过程。

动画展示

Kmeans_animation.gif

视频展示

在线展示

使用场景

由于简单和低维度下高效的特性,K-Means算法被应用在人群分类,图像分段,文本分类以及数据挖掘前数据预处理场景中。

算法理解

计算流程

一下使用$$分隔的内容为LaTeX编码的数学表达式,请自行解析。

假设有n个点$$x_{1}$$, $$x_{2}$$, $$x_{3}$$, ..., $$x_{n}$$ 以及子集数量K。

步骤1 取出K个随机向量作为中心点用于初始化

$$C = c_{1},c_{2},...,c_{k}$$

步骤2 计算每个点$$x_{n}$$与K个中心点的距离,然后将每个点聚集到与之最近的中心点

$$\min_{c_{i} \in C} dist(c_{i},x)$$

dist函数用于实现欧式距离计算。

步骤3 新的聚集出来之后,计算每个聚集的新中心点

$$c_{i} = avg(\sum_{x_{i} \in S_{i}} x_{i})?$$

Si表示归属于第i个中心点的数据。

步骤4 迭代步骤2和步骤3&

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值