计本基于k-means算法的城市划分问题_第1页
计本基于k-means算法的城市划分问题_第2页
计本基于k-means算法的城市划分问题_第3页
计本基于k-means算法的城市划分问题_第4页
计本基于k-means算法的城市划分问题_第5页
已阅读5页,还剩2页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Ition(2Ition32yy1

1.kk-meanskk是用户指定的参数,即所期望我们并不知道数据的分布情况实际上聚类就是我们发现数据分布的一种这就陷入了。如何有效的确定k值,这里我们大致分为如下几种方法:0

- - - - x

2次重采样产生两个数据子集,再用k个聚类反应了稳定的聚类结构,其相似度可以用来估计聚类个数。采用次方法试探多个k,找到合适的k值。个聚类时称系统处于状态k。系统由初始状态k=1出发,经过过程和合并过程余弦相似度计算

结构和轻微的聚类结构使用canopy算法进行初始划分基于CanopyMethod的聚类算法将聚类过程分为两Stage1、聚类最耗费计算的地方是计算对象相似性的时候,CanopyMethod在第中,这个子集被叫做Canopy,通过一系列计算得到若干Canopy,Canopy之间可以是的,但不会存在某个对象不属于任何Canopy的情况,可以把这一阶段看做数means)要太大且Canopy之间的不要太多的话会大大减少后续需要计算相似性的对象CanopyKK的盲目性.其他方法如信息准则方法(BIC)等。2kmeans算法的关键步骤。常见的方法是随机的中提取K个簇,并用这些簇的质心作为初始质心。该方法通常很有效,但仅对下(1)(2)K第四种方法就是上面提到的canopy3

常用的距离度量方法包括:得距离和余弦相似度。两者都是评定间差异的大小的。得距离度量会受指标不同单位刻度的影响,所以一般需要先进行标准化,同时距离越大,间差异越大;空间向量余弦夹角的相似度度量从几何意义上来说,n维向量空间的一条线段作为底边和原点组成的三角形,其值差距很大,余弦相似度倾向给出更优解。举个的例子,两用户只对两件商456则需要某种策略来选择一个替补质心,否则的话,平方误差将会偏大。法点。另法是从具有最大SSE的簇中选择一个替补的质心。这将簇并降注意空簇可能导致的程序bug。7、kmeanskkn次,取得到最小开销函数值的k作为最终聚类结果,避免随机引起的局部最优解手肘法选取k值:绘制出k--开销函数闪点图,看到有明显拐点(如下)的地方,设为k值,可以结合轮廓系数。kKmeansKmenas算法试图找到使平凡误差准则函数最小的簇。当潜在的簇形状是凸面的,法时间复杂度为O(tKmn),与样本数量线性相关,所以,对于处理大数据集合,该算法非常高效,且伸缩性较好。但该算法除了要事先确定簇数K和对初始聚类KmeansKK值的选定Kmeans2Kmeans++算法来解决。Cluster(data,size,labels1:从数据样本中随机选择kFor(j1,23,4计算样本与各“簇中心”向量确定簇标记label,EndFori=1,2,3k,∞EndEndvoidKMeans::Cluster(constchar*sampleFileName,constchar*{//

ifstreamsampleFile(sampleFileName,ios_base::binary);intsize=0;intdim=sampleFile.read((char*)&size,sizeof(int));sampleFile.read((char*)&dim,sizeof(int));assert(size>=m_clusterNum);assert(dim==////double*x=newdouble[m_dimNum];//intlabel //doubleiterNum=0;doublelastCost=0;doublecurrCost=0;intunchanged=0;boolloop=true;int*counts=newdouble**next_meansnew //for(inti=0;i<m_clusterNum;{next_means[i]=new}while{//memset(counts,0,sizeof(int)*m_clusterNum);for(inti=0;i<m_clusterNum;i++){memset(next_means[i],0,sizeof(double)*}

memcpy(m_means[i],next_means[i],sizeof(double)*}}lastCost=currCost;currCost=0;sampleFile.seekg(sizeof(int)*2,//for(inti=0;i<size;{sampleFile.read((char*)x,sizeof(double)*m_dimNum);currCost+=GetLabel(x,&label);for(intd=0;d<m_dimNum;{next_means[label][d]+=}}currCost/=//for(inti=0;i<m_clusterNum;{if(counts[i]>{for(intd=0;d<m_dimNum;{next_means[i][d]/=

//if(fabs(lastCost-currCost)<m_endError*{}if(iterNum>=m_maxIterNum||unchanged>={loop=}}//输出文ofstreamlabelFile(labelFileName,ios_base::binary);labelFile.write((char*)&size,sizeof(int));sampleFile.seekg(sizeof(int)*2,for(inti=0;i<size;{sampleFile.read((char*)x,sizeof(double)*m_dimNum);GetLabel(x,&label);labelFile.write((char*)&label,}delete[]counts;delete[]x;for(inti=0;i<m_clusterNum;{delete[]}delete[]}//NvoidKMeans::Cluster(double*data,intN,int{intsize=0;size=N;assert(size>=//Init(data,//double*x=newdouble[m_dimNum];//intlabel //doubleiterNum=0;doublelastCost=0;doublecurrCost=0;intunchanged=0;boolloop=true;

int*counts=newdouble**next_means=newdouble*[m_clusterNum]; for(inti=0;i<m_clusterNum;i++){next_means[i]=new}while{memset(counts,0,sizeof(int)*m_clusterNum);for(inti=0;i<m_clusterNum;i++){memset(next_means[i],0,sizeof(double)*}lastCost=currCost;currCost=0;for(inti=0;i<size;{for(intj=0;j<m_dimNum;j++)x[j]=data[i*m_dimNum+currCost+=GetLabel(x,for(intd=0;d<m_dimNum;{next_means[label][d]+=}}currCost/=121.24121.48121.7121.76121.46102.73102.48102.58102.79102.44103.7110110.52

【市城市:经度:121.48纬度城市:嘉定经度:121.24纬度:31.4;城市:宝山经度:121.48纬度:31.41;城市:川沙经度:121.7纬度:31.19;城市:南汇经度:121.76纬度:31.05;城市:云南经度:102.73纬度:25.04;城市::102.48纬度:25.21;城市::102.58纬度:24.68;城市:云南呈贡经度:102.79纬度:24.9;城市::102.44纬度:24.95;城市:云南昭通经度:103.7纬度:29.32;【内城市:内呼和浩特经度:111.65纬度:40.82;城市:内上左旗经度:111.13纬度:40.72;城市:内经度:111.15纬度:40.28;城市:内包头经度:110纬度城市:内上右旗经度:110.52纬度:40.55;城市:内固阳经度:110.03纬度:41.03;城市:内乌海经度:106.82纬度:39.67;城市:内集宁经度:113.08纬度:41.03;城市:内兴和经度:113.97纬度:40.88;城市:内清水河经度:111.65纬度:39.92;城市:内武川经度:111.42纬度:41.12;城市:内卓资经度:112.52纬度:40.93;城市:内商都经度:113.53纬度:41.58;城市:内丰镇经度:113.15纬度:40.45;城市:内凉城经度:112.48纬度:40.52;城市:内和林格尔经度:111.8纬度:40.4;城市:内化德经度:114纬度:41.9;城市:内四子王旗经度:111.68纬度:41.37;城市:内二连浩特经度:111.96纬度城市:内阿尔旗经度:116.08纬度:43.95;城市:内多伦经度:116.48纬度:42.18;城市:内阿

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论