資源簡介
CURE算法 Clustering Using REpresentatives。 聚類經典算法之一,matlab實現。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
int?xyzminrowmincol;
int?kijclassno[150];
double?s[150][4];
double?minresult;
double?d[150][150];
int?cla[150][150]={0};
int?circle=0;
int?Num[150];
void?minarr()????????/*??輸出數組中最小值的下標*/
{
?//?int?min=?a[0][0];???
?//?minrow=mincol=0;?
min=100;
??for(i=0;i<149;i++)
??{
??if(Num[i]!=0)
??{
for(j=i+1;j<150;j++)??
{???
if(Num[j]!=0)
{
??if(d[i][j] ??{???
??min=d[i][j];???
??x=i;???
??y=j;???
??//x=minrow;
?//?y=mincol;
??}??
}
}
??}
??}
}
double?ddist(int?aint?b)???/*求兩個數組的距離*/
{
result=0;
for(int?aa=0;aa<3;aa++)
result+=(s[a][aa]-s[b][aa])*(s[a][aa]-s[b][aa]);
return?sqrt(result);
}
void?classn()????/*分類??合并*/
{
for(i=0;i<149;i++)
{
if(Num[i]!=0)
{
for(j=i+1;j<150;j++)
{
if(Num[j]!=0)
d[i][j]=ddist(ij);
}
}
}
minarr();
i=x;?????????????????/*?minarr(d[i][j]);*/
j=y;?????????????????/*?minarr(d[i][j]);*/
classno[j]=i;
Num[j]=0;
int?e=0;
int n=0;
while(cla[i][n])
{
n++;//cla[i]同類的數據有n組
}
cla[i][n++]=j;??/*?每個類中的樣本標號(不包括第一個)*/
int?f=0;
while(cla[j][f])
{
classno[cla[j][f]]=i;
cla[i][n++]=cla[j][f];
f++;
}
int?h;
/*for(h=j;h<150-circle;h++)
{
for(int?hh=0;hh<4;hh++)
{
s[h][hh]=s[h+1][hh];
}
}*/
for(h=0;h<4;h++)
s[i][h]=(s[i][h]*(n+1)+s[j][h]*(f+1))/(n+f+2);
//s[j]=s[150-k-1];???/*把合并的后一個數用盡量的最后一個數代替*/
// circle++;
}
void?main()
{
for(i=0;i<150;i++)
for(j=0;j<150;j++)
{
d[i][j]=10000;
}
for(i=0;i<150;i++)
classno[i]=i;
for(i=0;i<150;i++)
{
Num[i]=1;
}
ifstream?dataread;??//讀文件
dataread.open(“iris.txt“);
for(i=0;i<150;i++)
{
for(j=0;j<4;j++)
{
dataread>>s[i][j];
cout< }
cout< }
for(k=0;k<147;k++)
{
classn();
}
for(i=0;i<150;i++)
{
cout< }
//定義輸出流,將分類信息輸出到文本文檔中
ofstream?outFile;
outFile.open(“result2.txt“);
for(i=0;i<150;i++)
{
for(j=0;j<4;j++)
{
outFile< }
outFile<<“???所屬分類:?“;
outFile< // outFile<<“???“< }
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????2412??2009-12-29?13:03??cure\cure.cpp
?????文件???????2548??2010-01-10?15:41??cure\iris.txt
?????目錄??????????0??2010-01-12?11:17??cure
-----------?---------??----------?-----??----
?????????????????4960????????????????????3
評論
共有 條評論