C均值聚類實(shí)驗(yàn)報(bào)告_第1頁(yè)
C均值聚類實(shí)驗(yàn)報(bào)告_第2頁(yè)
C均值聚類實(shí)驗(yàn)報(bào)告_第3頁(yè)
C均值聚類實(shí)驗(yàn)報(bào)告_第4頁(yè)
C均值聚類實(shí)驗(yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上C均值聚類實(shí)驗(yàn)報(bào)告一、C均值聚類的算法原理聚類分析是指事先不知樣本的類別,而利用樣本的先驗(yàn)知識(shí)來(lái)構(gòu)造分類器(無(wú)監(jiān)督學(xué)習(xí))聚類準(zhǔn)則函數(shù)在樣本相似性度量的基礎(chǔ)上,聚類分析還需要一定的準(zhǔn)則函數(shù),才能把真正屬于同一類的樣本聚合成一個(gè)類的子集,而把不同類的樣本分離開(kāi)來(lái)。如果聚類準(zhǔn)則函數(shù)選得好,聚類質(zhì)量就會(huì)高。同時(shí),聚類準(zhǔn)則函數(shù)還可以用來(lái)評(píng)價(jià)一種聚類結(jié)果的質(zhì)量,如果聚類質(zhì)量不滿足要求,就要重復(fù)執(zhí)行聚類過(guò)程,以優(yōu)化結(jié)果。在重復(fù)優(yōu)化中,可以改變相似性度量,也可以選用新的聚類準(zhǔn)則。誤差平方和準(zhǔn)則(最常用的) 假定有混合樣本集 ,采用某種相似性度量 被聚合成c個(gè)分離開(kāi)的子集 ,每個(gè)子集是

2、一個(gè)類, 它們分別包含 個(gè) 樣本 。 為了衡量聚類的質(zhì)量,采用誤差平方和聚類準(zhǔn)則函數(shù) 式中 為類中樣本的均值: 是c個(gè)子集合的中心,可以用來(lái)代表c個(gè)類。誤差平方和 聚類準(zhǔn)則函數(shù)是樣本與集合中心的函數(shù)。在樣本集X給定的情況下, 其取值取決于c個(gè)集合“中心”。 它描述n個(gè)試驗(yàn)樣本聚合成c個(gè)類時(shí),所產(chǎn)生的總誤差平方和 越小越好。誤差平方和準(zhǔn)則適用于各類樣本比較密集且樣本數(shù)目懸殊不大的樣本分布。C-均值聚類算法的核心思想是通過(guò)迭代把數(shù)據(jù)對(duì)象劃分到不同的簇中,以求目標(biāo)數(shù)最小化,從而使生成的簇盡可能地緊湊和獨(dú)立。首先,隨機(jī)選取k個(gè)對(duì)象作為初始的k個(gè)簇的質(zhì)心;然后,將其余對(duì)象根據(jù)其與各個(gè)簇質(zhì)心的距離分配到最

3、近的簇;再求新形成的簇的質(zhì)心。這個(gè)迭代重定位過(guò)程不斷重復(fù),直到目標(biāo)函數(shù)最小化為止。 C均值聚類算法使用的聚類準(zhǔn)則函數(shù)是誤差平方和準(zhǔn)則 :為了使聚類結(jié)果優(yōu)化,應(yīng)該使準(zhǔn)則 最小化。二、C均值聚類的實(shí)現(xiàn)步驟C均值算法步驟: 給出n個(gè)混合樣本,令 ,表示迭代運(yùn)算次數(shù),選取c個(gè)初始聚合中心 計(jì)算每個(gè)樣本與聚合中心的距離:若則令 計(jì)算新的集合中心:計(jì)算誤差平方和 值: 對(duì)每個(gè)聚合中的每個(gè)樣本,計(jì)算:表示 減少的部分 。表示 增加的部分:若 ,則把樣本 移到聚合中心 中,并修改聚合中心和 值。 判斷:若 則 ,返回。否則,算法結(jié)束。 三. 編寫的程序:#include <cfloat>#incl

4、ude <iostream>#include <iomanip>#include <fstream>#include <ctime>#include <cmath>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(

5、)/ 讀取數(shù)據(jù)double data1504;ifstream f("data.txt");for(int i=0; i<150; i+)f>>datai0>>datai1>>datai2>>datai3;f.close();/ 歸一化double m4 = DBL_MAX, DBL_MAX, DBL_MAX, DBL_MAX;double M4 = -DBL_MAX, -DBL_MAX, -DBL_MAX, -DBL_MAX;for(i=0; i<150; i+)for(int j=0; j<4; j+)i

6、f(dataij<mj)mj=dataij;if(dataij>Mj)Mj=dataij;for(i=0; i<150; i+)for(int j=0; j<4; j+)dataij = (dataij-mj) / (Mj-mj);/ 打亂/ TODO: 使用隨機(jī)排序int rightLabels150;for(i=0; i<50; i+)rightLabelsi = 0;for(i=50; i<100; i+)rightLabelsi = 1;for(i=100; i<150; i+)rightLabelsi = 2;srand(time(NULL)

7、;for(i=0; i<150; 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 = dataj3; dataj3 = tmp;int tmp2;tmp2 = rightLabelsi;rightLabelsi = rightLabelsj;rightLabelsj =

8、 tmp2;/ 分類int labels150;double Z34 = data00, data01, data02, data03, data10, data11, data12, data13, data20, data21, data22, data23;int iterations = 0;while(true)/ cout<<setw(10)<<Z00<<setw(10)<<Z01<<setw(10)<<Z02<<setw(10)<<Z03<<endl/ <<se

9、tw(10)<<Z10<<setw(10)<<Z11<<setw(10)<<Z12<<setw(10)<<Z13<<endl/ <<setw(10)<<Z20<<setw(10)<<Z21<<setw(10)<<Z22<<setw(10)<<Z23<<endl/ <<endl;/ cin.get();iterations+;/ 最小距離分類 到labelfor(int i=0; i

10、<150; i+)double d0 = distance(Z0, datai);double d1 = distance(Z1, datai);double d2 = distance(Z2, datai);if(d0<d1)&&(d0<d2)labelsi = 0;else if(d1<d2)labelsi = 1;elselabelsi = 2;/ 計(jì)算均值為新聚類中心 到Zdouble sum34 = 0.0;int count3 = 0;for(i=0; i<150; i+)int label = labelsi;sumlabel0+=d

11、atai0;sumlabel1+=datai1;sumlabel2+=datai2;sumlabel3+=datai3;countlabel+;bool changed = false;for(i=0; i<3; i+)for(int j=0; j<4; j+)if(Zij != sumij / counti)/ 可以加入e比較Zij = sumij / counti;changed = true;/ 聚類中心沒(méi)改變則退出if(!changed)break;/ 輸出int count3 = 0;for(i=0; i<150; i+)cout<<datai0<

12、<"t"<<datai1<<"t"<<datai2<<"t"<<datai3<<"t"<<labelsi<<"t"<<(char)(rightLabelsi+'A')<<endl;countlabelsi+;cout<<endl<<"iterations: "<<iterations<<e

13、ndl<<"label0 count: "<<count0<<endl<<"label1 count: "<<count1<<endl<<"label2 count: "<<count2<<endl;cin.get();return 0;四.運(yùn)行結(jié)果:0.0.0.0.3750B0.0.0.01A0.0.0.0.0C0.0.0.0.8752C0.250.8750.01A0.00.0.3750B0.0.0.0.1A0.50.3750

14、.0.0B0.0.0.0.3750B0.750.50.0.2B0.0.0.0.1A0.250.0.0.0B0.0.6250.0.1A0.0.0.0.2B0.0.0.0.0B0.0.0.0.1A0.0.0.0.50B0.0.0.7966112C0.0.6250.0.1A0.250.0.0.1A0.0.0.0.0C0.0.0.0.6252C0.0.0.0.750C0.0.3750.0.50B0.0.0.0.50B0.0.0.0.0B0.0.0.0.0B0.0.50.0.2C0.0.50.593220.2B0.0.0.593220.50B0.0.0.0.2C0.0.0.593220.0B0.0.0.

15、0.6252B0.50.0.0.0B0.0.0.01A0.0.0.0.0B0.0.0.0.2C0.0.0.0.1251A0.0.3750.0.50B0.0.50.0.1A0.0.0.0.1A0.0.50.0.1A0.0.0.0.0B0.0.6250.0.1A0.0.50.0.1A0.0.750.0.1251A0.0.0.593220.0B0.0.3750.0.50B0.0.0.0.2C0.0.0.0.2B0.0.0.593220.0C0.0.3750.0.2C0.0.250.0.0B0.0.0.0.2C0.0.0.0.3750B0.0.0.0.2C0.0.0.0.750C0.0.3750.0.

16、2C0.0.0.0.2C0.0.0.0.1A0.0.0.0.0C0.0.2510.2C0.0.0.0.2C0.0.0.0.1A0.0.0.12C0.0.0.0.2C0.0.50.0.2C0.0.0.0.50B0.0.0.0.1A0.0.0.0.2B0.0.6250.0.1A0.0.0.0.2C0.0.50.0.1A0.0.0.0.2C0.0.0.0.50B0.0.250.0.0B0.0.0.01A0.0.0.0.1A0.0.0.0.2C0.0.0.0.1A0.0.0.0.1A0.0.0.0.2C0.0.0.0.752C0.0.50.0.2C0.0.0.0.0B0.0.0.12C0.0.50.7

17、96610.2C0.0.0.0.2C0.0.6250.0.1A0.0.0.0.2B0.0.0.0.1A0.0.0.0.1251A0.0.1250.0.50B0.50.0.0.2C0.0.0.593220.0B0.0.0.0.2C0.0.0.0.8752C0.0.0.0.2C0.0.750.0.1A0.0.50.0.2B0.0.1250.0.1A0.0.0.0.1251A0.0.0.0.1A0.0.0.0.752C0.0.0.0.1A00.0.01A0.0.0.593220.6252B0.0.0.0.1A0.0.0.0.1A0.0.750.0.1A0.0.1250.0.50B0.50.0.0.50B0.0.0.0.0B0.0.0.0.2B0.0.750.0.1A10.750.0.2C0.0.750.0.8752C0.0.00.1A0.50.250.0.0C0.0.0.0.1A0.0.3750.0.50B0.0.0.0.2C0.250.6250.0.1A0.0.3750.0.1A0.0.0.0.1A0.0.0.0.0B0.0.0.0.0B0.50.0.0.0B0.0.250.0.3750B0.0.0.0.1A0.0.0.0.2C0.0.0.0.2C0.0.0.0.752C0.0.0.0.2C0.0.0.0.1A0.0.0.0.375

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論