Python实现K-means聚类

原创 2015年11月21日 17:19:31

kmeans是最简单的聚类算法之一,但是运用十分广泛。最近在工作中也经常遇到这个算法。kmeans一般在数据分析前期使用,选取适当的k,将数据分类后,然后分类研究不同聚类下数据的特点。

kmeans算法步骤:

1 随机选取k个中心点

2 遍历所有数据,将每个数据划分到最近的中心点中

3 计算每个聚类的平均值,并作为新的中心点

4 重复2-3,直到这k个聚类中心点不再变化(收敛了),或执行了足够多的迭代


下面是一个对二维数据用K-means进行聚类的示例,类中心标记为绿色大圆环,聚类出的两类分别标记为蓝色星号和红色点。

实现代码:

from scipy.cluster.vq import *
from numpy.random import randn
from numpy import vstack
from numpy import array
from numpy import where
from matplotlib.pyplot import figure
from matplotlib.pyplot import plot
from matplotlib.pyplot import axis
from matplotlib.pyplot import show

class1=1.5*randn(100,2)
class2=randn(100,2)+array([5,5])

features=vstack((class1,class2))

centriods,variance=kmeans(features,2)

code,distance=vq(features,centriods)

figure()
ndx=where(code==0)[0]
plot(features[ndx,0],features[ndx,1],'*')

ndx=where(code==1)[0]
plot(features[ndx,0],features[ndx,1],'r.')

plot(centriods[:,0],centriods[:,1],'go')
axis('off')
show()



版权声明:本文为博主原创文章,未经博主允许不得转载。

图像超分辨技术(Image Super Resolution)

OpenCV自学笔记11. 切割图片

把一张图片切割成多个小图片本小节的测试图片如下:import cv2""" 把一个480 * 640的图片,按照32 * 32的大小,均分成300张小图片 """ def make_neg(path)...

机器学习(六):K-Means聚类_Python

五、K-Means聚类算法 github地址:https://github.com/lawlite19/MachineLearning_Python 由于公式使用的是LaTex,解析使用的google...

K-Means聚类的Python实践

K-Means应该是最简单的聚类算法之一了吧,理论上很简单,就是随即初始化几个中心点,不断的把他们周围的对象聚集起来,然后根据这群对象的重置中心点,不断的迭代,最终找到最合适的几个中心点,就算完成了。...

mahout下的K-Means聚类实现与源码分析

一、概念介绍       K-means算法是硬聚类算法,是典型的局域原型的目标函数聚类方法的代表,它是数据点到原型的某种距离作为优化的目标函数,利用函数求极值的方法得到迭代运算的调整规则。K-...
  • BBSETS
  • BBSETS
  • 2014年06月17日 16:39
  • 913

用VLFeat库进行k-means聚类(C++ 实现)

摘要 本文习转载:原博文链接:http://www.cnblogs.com/smyb000/archive/2012/08/28/k-means_cluster_via_vlfeat.html 本...

K-means聚类分析与python实现

  • 2017年12月12日 17:15
  • 556KB
  • 下载

k-means聚类(使用数据集:iris)

  • 2013年12月29日 10:09
  • 22KB
  • 下载

k-means聚类原理 代码分析

K-means聚类算法 聚类算法,不是分类算法。 分类算法是给一个数据,然后判断这个数据属于已分好的类中的具体哪一类。 聚类算法是给一大堆原始数据,然后通过算法将其中具有相似特征的数据聚为一类。...

K-means聚类数据.rar

  • 2015年11月16日 16:23
  • 5KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Python实现K-means聚类
举报原因:
原因补充:

(最多只允许输入30个字)