预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共29页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

-.-.可修编.大学算法研究实验报告数据挖掘题目:K-means目录一、实验容………………………………………………………5二、实验目的………………………………………………………7三、实验方法………………………………………………………73.1软、硬件环境说明……………………………………………73.2实验数据说明…………………………………………………7图3-1……………………………………………………………73.3实验参数说明/软件正确性测试……………………………7四、算法描述………………………………………………………9图4-1……………………………………………………………10五、算法实现………………………………………………………115.1主要数据构造描述……………………………………………11图5-1……………………………………………………………115.2核心代码与关键技术说明……………………………………115.3算法流程图……………………………………………………14六、实验结果………………………………………………………156.1实验结果说明…………………………………………………156.2实验结果比拟…………………………………………………21七、总结……………………………………………………………23实验容实现K-means算法,其中该算法介绍如下:k-means算法是根据聚类中的均值进展聚类划分的聚类算法。输入:聚类个数k,以及包含n个数据对象的数据。输出:满足方差最小标准的k个聚类。处理流程:Step1.从n个数据对象任意选择k个对象作为初始聚类中心;Step2.根据每个聚类对象的均值〔中心对象〕,计算每个对象与这些中心对象的距离,并根据最小距离重新对相应对象进展划分;Step3.重新计算每个〔有变化〕聚类的均值〔中心对象〕Step4.循环Step2到Step3直到每个聚类不再发生变化为止;k-means算法的工作过程说明如下:首先从n个数据对象任意选择k个对象作为初始聚类中心,而对于所剩下的其它对象,那么根据它们与这些聚类中心的相似度〔距离〕,分别将它们分配给与其最相似的〔聚类中心所代表的〕聚类。然后,再计算每个所获新聚类的聚类中心〔该聚类中所有对象的均值〕,不断重复这一过程直到标准测度函数开场收敛为止。一般都采用均方差作为标准测度函数,具体定义如下:(1)其中E为数据库中所有对象的均方差之和,p为代表对象的空间中的一个点,mi为聚类Ci的均值(p和mi均是多维的)。公式(1)所示的聚类标准,旨在使所获得的k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。重点要求:用于聚类的测试级不能仅为单独的一类属性,至少有两种属性值参与聚类。实验目的通过实现K-means算法,加深对课本上聚类算法的理解,并对数据集做出较高的要求,以期锻炼我们的搜索查找能力。最后自己实现K-means算法,可以加强我们的编程能力。实验方法3.1软、硬件环境说明采用win7旗舰版〔盗版〕系统,用vs2010实现3.2实验数据说明实验数据,源于google的广告关键词推荐页面,在该页面输入关键词,会出现与该关键词相关的一些信息,包括月均搜索量,关键词价值等等,取出来在经过自己处理,就得到了我们需要的实验数据,包括关键词、月均搜索量、竞争力、估价以及关键词排名,包含两种属性。局部数据如下:图3-13.3实验参数说明/软件正确性测试我采用了各种数据对程序进展测试,出现一些数组越界bug,修改后再次测试,无问题,测试通过。算法描述KMeans算法的根本思想是初始随机给定K个簇中心,按照最邻近原那么把待分类样本点分到各个簇。然后按平均法重新计算各个簇的质心,从而确定新的簇心。一直迭代,直到簇心的移动距离小于某个给定的值。K-Means聚类算法主要分为三个步骤:(1)第一步是为待聚类的点寻找聚类中心(2)第二步是计算每个点到聚类中心的距离,将每个点聚类到离该点最近的聚类中去(3)第三步是计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心反复执行(2)、(3),直到聚类中心不再进展大围移动或者聚类次数到达要求为止下列图展示了对n个样本点进展K-means聚类的效果,这里k取2:(a)未聚类的初始点集(b)随机选取两个点作为聚类中心(c)计算每个点到聚类中心的距离,并聚类到离该点最近的聚类中去(d)计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心(e)重复(c),计算每个点到聚类中心的距离,并聚类到离该点最近的聚类中去(f)重复(d),计算每个聚类中所有点的坐标平均值,并将这个平均值作为新的聚类中心图4-1算法实现5.1主要数据构造描述这里我建造了一个data的构造体,如下:typedefvector<double>Tupl