数据挖掘关于Kmeans算法的研究报告含数据集.docx
- 文档编号:15306611
- 上传时间:2023-07-03
- 格式:DOCX
- 页数:24
- 大小:199.68KB
数据挖掘关于Kmeans算法的研究报告含数据集.docx
《数据挖掘关于Kmeans算法的研究报告含数据集.docx》由会员分享,可在线阅读,更多相关《数据挖掘关于Kmeans算法的研究报告含数据集.docx(24页珍藏版)》请在冰点文库上搜索。
数据挖掘关于Kmeans算法的研究报告含数据集
浙江大学算法研究实验报告
数据挖掘
题目:
K-means
一、实验内容………………………………………………………5
二、实验目的………………………………………………………7
三、实验方法………………………………………………………7
3.1软、硬件环境说明……………………………………………7
3.2实验数据说明…………………………………………………7
图3-1……………………………………………………………7
3.3实验参数说明/软件正确性测试……………………………7
四、算法描述………………………………………………………9
图4-1……………………………………………………………10
五、算法实现………………………………………………………11
5.1主要数据结构描述……………………………………………11
图5-1……………………………………………………………11
5.2核心代码与关键技术说明……………………………………11
5.3算法流程图……………………………………………………14
六、实验结果………………………………………………………15
6.1实验结果说明…………………………………………………15
6.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-1
3.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
structdata
{
strings;//存储关键词
Tupletup;//存储属性信息
};
图5-1
5.2核心代码与关键技术说明
5.2.1计算距离函数
此函数用于计算两个元祖之间的距离,对于每个元祖的属性值,对于数值型的属性值(X1,X2,X3,Xi,Xn),我们用Yi代替Xi来进行归一化处理,其中Yi计算公式如下:
Yi=(Xi-Xmin)/(Xmax-Xmin)
对于序数型属性值(M1,M2,M3,Mi,Mn),我们用Qi代替Mi进行归一化处理,其中Qi计算公式如下:
Qi=(Z(Qi)-1)/(Z(Total)-1)
其中Z(Qi)表示Qi属于的组数,Z(Total)表示总共的组数,他们的计算规则如下:
Z(Total)=k
Z(Qi)=Qi/(dataNum/k)+1
(其中dataNum为总数据量,K为总分组数。
)
归一化处理之后,在计算两个元祖之间的欧式几何距离,具体实现代码如下:
doublegetDistXY(constdata&t1,constdata&t2)
{
doublesum=0,temp1=0,temp2=0,temp3=0,temp4=0;
intzuBase,zu1,zu2;//确定分组依据
zuBase=dataNum/k;
zu1=t1.tup[4]/zuBase+1;//确定分组
zu2=t2.tup[4]/zuBase+1;
temp3=(zu1-1)/6;
if(temp3>1)
temp3=1;
temp4=(zu2-1)/6;
if(temp4>1)
temp4=1;//修正序数度量
temp1=(t1.tup[1]-10)/367990;
temp2=(t2.tup[1]-10)/367990;
sum+=(temp1-temp2)*(temp1-temp2)+(temp3-temp4)*(temp3-temp4);
for(inti=2;i { sum+=(t1.tup[i]-t2.tup[i])*(t1.tup[i]-t2.tup[i]); } returnsqrt(sum); } 5.2.2重新分簇 对于每个簇,算出当前每个元祖与各个质心间的距离,重新判定该元组属于哪一个簇,代码如下: intclusterOfTuple(datameans[],constdata&tuple){ doubledist=getDistXY(means[0],tuple); doubletmp; intlabel=0;//标示属于哪一个簇 for(inti=1;i tmp=getDistXY(means[i],tuple); if(tmp } returnlabel; } 5.3算法流程图 六、实验结果 6.1实验结果说明 进过归一化操作聚类效果比较明显,可以看到大家对股票的哪一方面比较关心,并且给广告投资商一些参考,帮助其决定把广告投到哪一个关键词上,进而得到的关注量最大同时花费最少。 同时,考虑到结果的聚类性,用户搜索某个关键词时,可以推荐给他同一个簇内其他的关键词。 具体实验结果如下: 第1个簇: 关键词编号搜索量竞争价值估价排名 股票学习网8200.1127.19193 股票初学15200.1622.41171 指数股票16200.0726.66191 怎样看股票18200.1418.93155 股票入门教程30200.1117.5149 购买股票31200.223.75180 股票交流35300.1119.17160 中国股市论坛44300.1623.98182 上海股票指数50300.0429.41196 股票开户流程54300.125.71187 股票怎么看56300.119.84164 股票投资入门62400.2321.38170 美国股票软件67400.2820.74168 虚拟股票72400.1330.66199 股票市盈率81500.0724.42184 股市走势86500.117.05145 查股票90500.2117.02143 股票公式102700.0720.73167 如何购买股票104700.1719.73163 航空股票105700.1219157 股票买卖109700.2422.86173 中国远洋股票111700.0530.55198 模拟股票114700.1427.89194 股票走势117700.1121.33169 股票基础知识119700.1124.16183 股票公司125900.3617.04144 股票交易费用129900.1324.47185 中国铁建股票131900.0919.05158 股票分析软件132900.2422.7172 新手股票1411100.1823.92181 谷歌股票1421100.0420.07165 股票网1611400.217.47148 中国中铁股票1641400.0627.17192 怎么买股票1651400.1917.86152 股票技术分析1681400.0719.37162 中国联通股票1721700.0525.72188 搜狐股票1731700.0619.08159 新浪财经股票首页1741700.0323.3176 香港股票查询1832100.4823.4177 股票交易时间1892100.0630.44197 股票交易所1902100.1730.78201 股票行1942100.4917.17146 如何看股票1962100.1118.66154 基金股票1972100.2118.98156 股指1982100.0430.73200 XX股票2022600.0532.88204 股票行情查询2052600.0422.86174 股票投资2123200.3225.64186 股票網2143200.3820.35166 股票知识2153200.1217.18147 股票新手2283900.2323.69179 股票交易2335900.3131.86203 股票软件2345900.229.04195 新加坡股票2355900.3518.01153 股票入门2428800.1526.05189 中国股票24813000.1130.84202 炒股25019000.1526.28190 gushi25224000.0119.18161 香港股票25424000.4623.26175 新浪股票25629000.0517.71151 港股26066000.2123.52178 股市2663680000.0117.51150 第2个簇: 关键词编号搜索量竞争价值估价排名 股票模拟软件24200.1375.05237 股票自动交易软件26200.1377.44239 新浪股票博客36300.0680.16240 股票怎么买73400.2192.89248 股票技巧80500.2385.53244 新股票89500.1168.96235 股票书92500.0689.06246 联通股票93500.03104.99252 股票基本知识107700.0968.56234 股票大盘127900.1103.13251 股票研究133900.1180.77241 中国重工股票138900.190.51247 中国股票行情1481100.0776.05238 股票网上开户1591400.1103.04250 股票交易手续费1661400.1285.11243 石油股票1912100.1893.22249 台湾股票2002100.2371.25236 澳洲股票2183900.2185.95245 新浪股市2233900.0484.8242 第3个簇: 关键词编号搜索量竞争价值估价排名 江苏阳光股票29200.1154.15262 今日股市行情大盘49300.12117.53253 怎么玩股票52300.1133.11257 银行股票68400.11123.23254 股票计算器74400.1144.89259 股票频道101700.04130.46255 a股大盘126900.06174.74264 证券股137900.03150.32260 中国石化股票1581400.01142.11258 st股票1691400.05168.23263 民生银行股票1932100.06130.61256 招商银行股票2103200.03152.85261 第4个簇: 关键词编号搜索量竞争价值估价排名 美国股票交易软件2100.324.6534 股票价格查询4100.091.8311 投资美国股票5100.380.11 股票书籍下载6100.125.844 股票趋势11200.116.9555 股市投资12200.292.8216 股票怎么开户13200.160.684 股票下载17200.23.420 世界股市行情19200.130.183 加拿大股票交易21200.174.2932 怎么买美国股票22200.282.6315 购买美国股票23200.183.4221 股票购买27200.142.4213 股票入门知识38300.124.3533 股市资讯网53300.081.058 中国股指期货58400.055.3742 如何买美国股票61400.263.5123 怎样玩股票64400.155.9847 深圳股票交易所65400.137.2756 股市场69400.211.3910 股票操盘手76400.050.856 北美股票78500.224.7536 股市财经85500.10.12 今日股市行情大盘走势91500.130.977 股票信息98500.233.2119 美国股票市场100700.295.3641 怎样买股票108700.246.1148 今天股票行情110700.226.4451 股票基础122700.073.9625 a股新股124900.054.0728 股票怎么玩130900.162.5614 股市指数136900.095.6843 美国股票开户1441100.236.6653 香港股票行情1471100.56.6252 投资股票1491100.294.9837 新加坡股票交易所1501100.141.229 全球股票1511100.132.9718 巴菲特股票1571100.073.4822 a股行情1701400.096.2150 人民网新闻1711700.23.9726 股票价格1761700.137.3257 股票资讯1862100.164.0929 如何玩股票2032600.144.735 股票查询2042600.156.9554 qq股票2062600.085.8645 什么是股票2072600.13.6824 加拿大股票2173900.084.0427 股票市场2203900.224.2331 股票型基金2263900.244.1830 a股基金2273900.395.340 马来西亚股票2325900.152.917 雅虎股票2377200.155.8846 股票消息2387200.212.1112 今日股票行情2438800.26.1949 美国股票2448800.315.339 新浪网新闻25324000.060.725 財經網26181000.215.1938 第5个簇: 关键词编号搜索量竞争价值估价排名 中国股市大盘33300.0450.39227 香港股票软件39300.5440.68219 房地产股票40300.134.05208 财经资讯41300.0745.02223 怎么炒股票42300.1149.45225 股票短线43300.0533.05205 新浪股市行情51300.0433.96206 股市中国57300.0653.1228 股票图79500.139.41216 股票预测84500.0439.11214 同花顺股票88500.0639.06213 股市新闻116700.1553.13229 股票交易软件128900.2138.16211 股票学习1451100.0861.42233 股票入门基础知识1531100.1439.81218 中国股票市场1621400.1449.94226 和讯股票1791700.0558.63231 股票指数1812100.0634.19209 tcl股票1842100.0459.64232 股票吧1852100.0436.77210 股价1922100.0546.88224 网易股票2113200.142.09221 炒股票2163900.2541.99220 新浪财经股票2213900.1233.99207 中国股市行情2294800.1339.39215 中石化股票2315900.0943.83222 股票开户2365900.1755.28230 苹果股票2407200.0639.59217 证券24713000.0438.53212 第6个簇: 关键词编号搜索量竞争价值估价排名 模拟股票游戏1100.0711.78105 同花顺股票软件3100.116.73140 买什么股票好7100.1314.45127 股票证券9200.1312.9118 新浪网股票10200.099.4584 新浪财经新闻14200.0512.35110 上证股票20200.0911.52102 学股票25200.1412.85116 怎样炒股票28200.237.7258 中国股票网32200.1512.59112 股票交易系统34300.1711.46101 今日股票行情查询37300.169.8789 股票自动交易45300.0814.92131 买美国股票46300.59.2680 如何买卖股票47300.228.4869 美国股票交易48300.338.9978 如何购买美国股票55300.38.6272 格力股票59400.089.8288 股票教程60400.0912.03107 指数期货63400.0812.11108 股票代码查询66400.110.4592 如何选股票70400.077.9662 股票走势图71400.119.4885 股票新浪75400.068.5571 腾讯财经股票77400.1214.85129 稀土股票82500.1413.05119 股票行情软件83500.1212.77114 股票模拟94500.139.7886 股票新闻95500.168.975 股票入门书籍96500.0413.81124 财经股票97500.661
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据 挖掘 关于 Kmeans 算法 研究 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)