cpp1.cpp

来自「kmeans算法--很简便的一种。只不过有几个错误需要大家自己调试」· C++ 代码 · 共 23 行

CPP
23
字号
/*k-means 算法的工作过程说明如下:首先从n个数据对象任意选择 k 个对象作为初始聚类中心;而对于所剩下其它对象,则根据它们与这些聚类中心的相似度(距离),分别将它们分配给与其最相似的(聚类中心所代表的)聚类;然后再计算每个所获新聚类的聚类中心(该聚类中所有对象的均值);不断重复这一过程直到标准测度函数开始收敛为止。一般都采用均方差作为标准测度函数. k个聚类具有以下特点:各聚类本身尽可能的紧凑,而各聚类之间尽可能的分开。 
*/
#include<stdio.h>
void main() 
System::FindClosestCluster(int pat){ 
int i, ClustID; 
double MinDist, d; 
MinDist =9.9e+99; 
ClustID=-1; 
for (i=0; i<NumClusters; i++) { 
d=EucNorm(pat,i); 
printf("Distance from pattern %d to cluster %d is %f\n\n",pat,i,sqrt(d)); 
if (d<MinDist) { 
MinDist=d; 
ClustID=i; 
} /* endif */ 
} /* endfor */ 
if (ClustID<0) { 
printf("Aaargh"); 
exit(0); 
} /* endif */ 
return ClustID; 
} 

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?