C均值聚类实验报告

上传人:桔**** 文档编号:498080916 上传时间:2023-04-28 格式:DOCX 页数:9 大小:33.15KB
返回 下载 相关 举报
C均值聚类实验报告_第1页
第1页 / 共9页
C均值聚类实验报告_第2页
第2页 / 共9页
C均值聚类实验报告_第3页
第3页 / 共9页
C均值聚类实验报告_第4页
第4页 / 共9页
C均值聚类实验报告_第5页
第5页 / 共9页
点击查看更多>>
资源描述

《C均值聚类实验报告》由会员分享,可在线阅读,更多相关《C均值聚类实验报告(9页珍藏版)》请在金锄头文库上搜索。

1、C 均值聚类实验报告一、C均值聚类的算法原理聚类分析是指事先不知样本的类别,而利用样本的先验知识来构造分类器 (无监督学习)聚类准则函数在样本相似性度量的基础上,聚类分析还需要一定的准则函数,才能把真正 属于同一类的样本聚合成一个类的子集,而把不同类的样本分离开来。如果聚类 准则函数选得好,聚类质量就会高。同时,聚类准则函数还可以用来评价一种聚 类结果的质量,如果聚类质量不满足要求,就要重复执行聚类过程,以优化结果。 在重复优化中,可以改变相似性度量,也可以选用新的聚类准则。误差平方和准则(最常用的)假定有混合样本集X = X1,X2,.,采用某种相似性度量X 被聚合成它们分别包C个分离开的子

2、集X 1,X 2,,Xc,每个子集是一个类,含n1,n2,,nc个 样本。为了衡量聚类的质量,采用误差平方和聚类准则函数 cnJ =莎 j II式中j 为类中样本的均值x - mkj1n1jm = _yj nj j 二1|2j 1,2,c可以用来代表 c 个类。是C个子集合的中心,误差平方和 J聚类准则函数是样本与集合中心的函数。在样本集X给定的c情况下,其取值取决于C个集合“中心”。它描述n个试验样本聚合成c个类时,所产生的总误差平方和 J越小越好。 c误差平方和准则适用于各类样本比较密集且样本数目悬殊不大的样本分布。c-均值聚类算法的核心思想是通过迭代把数据对象划分到不同的簇中,以求 目标

3、数最小化,从而使生成的簇尽可能地紧凑和独立。首先,随机选取 k 个对象作为初始的 k 个簇的质心;然后,将其余对象根据其与各个簇质心的距离分配到最近的簇;再求新形成的簇 的质心。 这个迭代重定位过程不断重复,直到目标函数最小化为止。c均值聚类算法使用的聚类准则函数是误差平方和准则J :C 为了使聚类结果优化,应该使准则 Jc 最小化。C二、C均值聚类的实现步骤C均值算法步骤: 给出n个混合样本,令1 = 1,表示迭代运算次数,选取c个初始聚合中Z (1), j 二 1,2,., c;j 计算每个样本与聚合中心的距离:D(x , Z (I), k = 1,2,., n; j = 1,2,., c

4、. kj若 D(x ,Z (I)二 min D(x ,Z (I),k 二 1,2,.,n, k ij _!2 c k jJ _丄,2 ,.,c则 x Go ;ki 令I _ I +1 _ 2 计算新的集合中心:Z_文x(j), j _ h2,c; 11 十12,jnk计算误差平方和丿值:j k_1cc n jJ (2) _盍 j II x(i) - Z (2) I|2ck ij _1 k _1 对每个聚合中的每个样本,计算:np _ i II x (i) 一 Z (I ) I|2 , i _ 1,2,. cii n - 1 k iip 表示 J 减少的部分 。iicnp _J II x(i)

5、一 Z (I) I|2, j _ 1,2,.c,j 丰 iJ n +1 k jp .表示J增加的部分:p.l _miP.ijc”j 扫iJ若P P.,则把样本x (i)移到聚合中心中,并修改聚合中心和J值。il iiklc1Z (I +1) _ Z (I) +Z (I) - x(i)ii n 1 i kZ (I + 1) _ Z (I) +Z (I) x(i)J (I+1) _ J (I)? p) kcc ii il判断:若Jc(/+1) Jc(I),则I _ I + 1,返回。否则,算法结束。三. 编写的程序#include #include #include #include #inclu

6、de #include using namespace std;double distance(double a4, double b4)/ TODO: 改马氏距离 double d0 = a0-b0; double d1 = a1-b1; double d2 = a2-b2; double d3 = a3-b3;return sqrt(d0*d0+d1*d1+d2*d2+d3*d3);int main()/ 读取数据 double data1504;ifstream f(data.txt);for(int i=0; idatai0datai1datai2datai3;f.close();/

7、归一化double m4 = DBL_MAX, DBL_MAX, DBL_MAX, DBL_MAX; double M4 = -DBL_MAX, -DBL_MAX, -DBL_MAX, -DBL_MAX; for(i=0; i150; i+)for(int j=0; j4; j+) if(dataijMj) Mj=dataij;for(i=0; i150; i+) for(int j=0; j4; j+) dataij = (dataij-mj) / (Mj-mj);/ 打乱/ TODO: 使用随机排序int rightLabels150;for(i=0; i50; i+) rightLabe

8、lsi = 0;for(i=50; i100; i+) rightLabelsi = 1;for(i=100; i150; i+) rightLabelsi = 2;srand(time(NULL);for(i=0; i150; i+)int j = rand()%150;double tmp;tmp = datai0; datai0 = dataj0; dataj0 = tmp;tmp = datai1; datai1 = dataj1; dataj1 = tmp;tmp = datai2; datai2 = dataj2; dataj2 = tmp;tmp = datai3; datai3

9、 = dataj3; dataj3 = tmp;int tmp2;tmp2 = rightLabelsi;rightLabelsi = rightLabelsj;rightLabelsj = tmp2;/ 分类int labels150;double Z34 = data00, data01, data02, data03, data10, data11, data12, data13,data20, data21, data22, data23;int iterations = 0;while(true)/ coutsetw(10)Z00setw(10)Z01setw(10)Z02setw(

10、10)Z03endl/ setw(10)Z10setw(10)Z11setw(10)Z12setw(10)Z13endl/ setw(10)Z20setw(10)Z21setw(10)Z22setw(10)Z23endl/ endl;/ cin.get();iterations+;/ 最小距离分类 到 labelfor(int i=0; i150; i+)double d0 = distance(Z0, datai);double d1 = distance(Z1, datai);double d2 = distance(Z2, datai); if(d0d1)&(d0d2) labelsi

11、= 0;else if(d1d2)labelsi = 1;else labelsi = 2;/ 计算均值为新聚类中心 到 Zdouble sum34 = 0.0;int count3 = 0;for(i=0; i150; i+)int label = labelsi;sumlabel0+=datai0;sumlabel1+=datai1;sumlabel2+=datai2;sumlabel3+=datai3;countlabel+;bool changed = false;for(i=0; i3; i+)for(int j=0; j4; j+)if(Zij != sumij / counti)

12、/ 可以加入 e 比较 Zij = sumij / counti;changed = true;/ 聚类中心没改变则退出if(!changed)break;/ 输出int count3 = 0;for(i=0; i150; i+)coutdatai0tdatai1tdatai2tdatai3tlabelsi t(char)(rightLabelsi+A)endl;countlabelsi+;coutendliterations: iterationsendllabel0 count: count0endllabel1 count: count1endllabel2 count: count2endl;cin.get();return 0;四.运行结果:0.1666670.1666670.3898310.3750B0.1388890.4166670.06779701A0.4722220.0833330.6779660.5833330C0.5833330.3333330.7796610.8752C0.250.8750.08474601A0.1944440

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号