预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10
亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~
如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
机器学习算法day02_Kmeans聚类算法及应用课程大纲Kmeans聚类算法原理Kmeans聚类算法概述Kmeans聚类算法图示Kmeans聚类算法要点Kmeans聚类算法案例需求用Numpy手动实现用Scikili机器学习算法库实现Kmeans聚类算法补充算法缺点改良思路课程目标:理解Kmeans聚类算法的核心思想理解Kmeans聚类算法的代码实现掌握Kmeans聚类算法的应用步骤:数据处理、建模、运算和结果判定1.Kmeans聚类算法原理1.1概述K-means算法是集简单和经典于一身的基于距离的聚类算法采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。该算法认为类簇是由距离靠近的对象组成的,因此把得到紧凑且独立的簇作为最终目标。1.2算法图示假设我们的n个样本点分布在图中所示的二维空间。从数据点的大致形状可以看出它们大致聚为三个cluster,其中两个紧凑一些,剩下那个松散一些,如图所示:我们的目的是为这些数据分组,以便能区分出属于不同的簇的数据,给它们标上不同的颜色,如图:1.3算法要点1.3.1核心思想通过迭代寻找k个类簇的一种划分方案,使得用这k个类簇的均值来代表相应各类样本时所得的总体误差最小。k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。k-means算法的基础是最小误差平方和准则,其代价函数是:式中,μc(i)表示第i个聚类的均值。各类簇内的样本越相似,其与该类均值间的误差平方越小,对所有类所得到的误差平方求和,即可验证分为k类时,各聚类是否是最优的。上式的代价函数无法用解析的方法最小化,只能有迭代的方法。1.3.2算法步骤图解下图展示了对n个样本点进行K-means聚类的效果,这里k取2。HYPERLINK"http://images.cnblogs.com/cnblogs_com/jerrylead/201104/201104061601529807.png"\t"http://blog.csdn.net/zouxy09/article/details/_blank"1.3.3算法实现步骤k-means算法是将样本聚类成k个簇(cluster),其中k是用户给定的,其求解过程非常直观简单,具体算法描述如下:随机选取k个聚类质心点重复下面过程直到收敛{对于每一个样例i,计算其应该属于的类:HYPERLINK"http://images.cnblogs.com/cnblogs_com/jerrylead/201104/201104061601464654.png"\t"http://blog.csdn.net/zouxy09/article/details/_blank"对于每一个类j,重新计算该类的质心:HYPERLINK"http://images.cnblogs.com/cnblogs_com/jerrylead/201104/201104061601468308.png"\t"http://blog.csdn.net/zouxy09/article/details/_blank"}其伪代码如下:********************************************************************创建k个点作为初始的质心点(随机选择)当任意一个点的簇分配结果发生改变时对数据集中的每一个数据点对每一个质心计算质心与数据点的距离将数据点分配到距离最近的簇对每一个簇,计算簇中所有点的均值,并将均值作为质心2.Kmeans分类算法Python实战2.1需求对给定的数据集进行聚类本案例采用二维数据集,共80个样本,有4个类。样例如下:testSet.txt1.6589854.285136-3.4536873.4243214.838138-1.151539-5.379713-3.3621040.9725642.924086-3.5679191.5316110.450614-3.302219-3.487105-1.7244322.6687591.594842-3.1564853.1911373.165506-3.999838-2.786837-3.0993544.2081872.984927-2.1233372.9433660.704199-0.479481-0.392370-3.9637042.8316671.574018-0.7901533.3431442.943496-3.3570752.2