python实现机器学习K-means聚类算法.zip对数据进行聚类并绘图。原理
K-means算法属于八大经典的机器学习算法中的其中一种,是一种无监督的聚类算法。其中无监督是机器学习领域中一个专业名词,和有监督是相对的,两者最本质的区别就在于研究的样本是否包含标签。比如猫狗分类这个问题中,猫和狗就是标签。对于聚类,其实是和分类相对应的,其中分类就是之有标签的。而聚类则是只没有标签的,我们需要将这些无标签的数据,按照各自的属性将他们会聚成不同的类别,从而将他们区分开。
在k-means算法中,存在着质心和簇。在进行算法之前,我们需要人工的指定将数据分为K个簇,并随便选取K个质心。就拿认知实习学习中的例子举例,假如我们又8个数据,分别为a1-a8,我们需要将这八个数据分为三个簇,也就是说k=3。这是我们就需要在a1-a8中随机选取三个数据点作为质心我们将质心记为b11,b12,b13。确定了质心后,我们需要计算a1-a8和三个质心的距离,并将距离最短的归为一类。比如a5到b11距离为2,到b12距离为3,到b13距离为1,那么就将a5和质心b13归为同一个簇。如此一次计算8个数