用MATLAB實現(xiàn)數(shù)據(jù)挖掘的一種算法_第1頁
用MATLAB實現(xiàn)數(shù)據(jù)挖掘的一種算法_第2頁
用MATLAB實現(xiàn)數(shù)據(jù)挖掘的一種算法_第3頁
用MATLAB實現(xiàn)數(shù)據(jù)挖掘的一種算法_第4頁
用MATLAB實現(xiàn)數(shù)據(jù)挖掘的一種算法_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、數(shù)據(jù)挖掘的目的數(shù)據(jù)挖掘(DataMining)階段首先要確定挖掘的任務(wù)或目的。數(shù)據(jù)挖掘的目的就是得出隱藏在數(shù)據(jù)中的有價值的信息。數(shù)據(jù)挖掘是一門涉及面很廣的交叉學(xué)科,包括器學(xué)習(xí)、數(shù)理統(tǒng)計、神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)庫、模式識別、粗糙集、模糊數(shù)學(xué)等相關(guān)技術(shù)。它也常被稱為“知識發(fā)現(xiàn)”。知識發(fā)現(xiàn)(KDD)被認(rèn)為是從數(shù)據(jù)中發(fā)現(xiàn)有用知識的整個過程。數(shù)據(jù)挖掘被認(rèn)為是KDD±程中的一個特定步驟,它用專門算法從數(shù)據(jù)中抽取模式(patter,如數(shù)據(jù)分類、聚類、關(guān)聯(lián)規(guī)則發(fā)現(xiàn)或序列模式發(fā)現(xiàn)等。數(shù)據(jù)挖掘主要步驟是:數(shù)據(jù)準(zhǔn)備、數(shù)據(jù)挖掘、結(jié)果的解釋評估。二、數(shù)據(jù)挖掘算法說明確定了挖掘任務(wù)后,就要決定使用什么樣的挖掘算法。

2、由于條件屬性在各樣本的分布特性和所反映的主觀特性的不同,每一個樣本對應(yīng)于真實情況的局部映射。建立了粗糙集理論中樣本知識與信息之間的對應(yīng)表示關(guān)系,給出了由屬性約簡求約簡決策表的方法?;诤箅x散化策略處理連續(xù)屬性,實現(xiàn)離散效率和信息損失之間的動態(tài)折衷。提出相對值條件互信息的概念衡量單一樣本中各條件屬性的相關(guān)性,可以充分利用現(xiàn)有數(shù)據(jù)處理不完備信息系統(tǒng)。本次數(shù)據(jù)挖掘的方法是兩種,一是找到若干條特殊樣本,而是找出若干條特殊條件屬性。最后利用這些樣本和屬性找出關(guān)聯(lián)規(guī)則。(第四部分詳細(xì)講解樣本和屬性的選擇)三數(shù)據(jù)預(yù)處理過程數(shù)據(jù)預(yù)處理一般包括消除噪聲、推導(dǎo)計算缺值數(shù)據(jù)、消除重復(fù)記錄、完成數(shù)據(jù)類型轉(zhuǎn)換(如把連續(xù)

3、值數(shù)據(jù)轉(zhuǎn)換為離散型數(shù)據(jù),以便于符號歸納,或是把離散型數(shù)據(jù)轉(zhuǎn)換為連續(xù))。本文使用的數(shù)據(jù)來源是名為“CardiologyCategorical”的excel文件中的“源數(shù)據(jù)”。該數(shù)據(jù)表共303行,14個屬性。即共有303個樣本。將該數(shù)據(jù)表的前200行設(shè)為訓(xùn)練樣本,剩下后的103行作為測試樣本,用基于粗糙集理論的屬性約簡的方法生成相應(yīng)的規(guī)則,再利用測試樣本對這些規(guī)則進(jìn)行測試。首先對源數(shù)據(jù)進(jìn)行預(yù)處理,主要包括字符型數(shù)據(jù)的轉(zhuǎn)化和數(shù)據(jù)的歸一化。數(shù)據(jù)預(yù)處理的第一步是整理源數(shù)據(jù),為了便于matlab讀取數(shù)據(jù),把非數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換為離散型數(shù)字?jǐn)?shù)據(jù)。生成文件。這一部分直接在excel工作表中直接進(jìn)行。步驟如下:將屬性

4、“sex”中的“Male”用“1”表示,“Female”用“2”表示;將屬性"chestpaintype”中的“Asymptomatic”用“1”表示,“AbnormalAngina”用“2”表示,“Angina”用“3”表示,“NoTan用“4”表示;將屬性"Fastingbloodsuga<120”與屬性"angina”中的“FALSE用“1”表示,“TRUE用“2”表示;將屬性"restingecg”中的“HyP'用“1”表示,“Normal”用“2”表示,“Abnormal”用“3”表示;將屬性"slope”中的“Down

5、用“1”表示,“Flat”用“2”表示,“UP'用“3”表示,;將屬性“thal”中的“ReV用“1”表示,“Normal”用“2”表示,“Fix”用“3”表示;將屬性"class”中的“Healthy”用“1”表示,“Sick”用“2”表示;數(shù)據(jù)預(yù)處理的第二步:使用dm=xlsread('lisanhua');導(dǎo)入lisanhua'.xls文件,在MATLA中對一些連續(xù)屬性值離散化。如下:1、29,48=1,48,62=2,62,77=34、94,110=1,110,143=2,143,200=35、126,205=1,205,293=2,293,5

6、64=38、71,120=1,120,175=2,175,202=310、0,=1,口=2,口=3。然后對數(shù)據(jù)進(jìn)行歸一化處理:由于不同屬性之間的屬性值相同,所以利用下面語句對一共13個條件屬性中的38個屬性進(jìn)行如下賦值,使每條屬性唯一確定。從而得到38個條件屬性,只不過38個里面有且只能出現(xiàn)13個。程序如下:m1=0,3,2,4,3,3,2,3,3,2,3,3,4,3;k=1;w=m1(k);dm3=dm2;fori=1:3939dm3(i)=dm2(i)+w;ifrem(i,303)=0k=k+1;w=w+m1(k);endend從而得到dm(3)矩陣。而且決策屬性分為1:healthy;2

7、:sick。并且在38個條件屬性中沒有值為0o四、挖掘算法1、特殊樣本首先在前200條樣本中分別找出三條對應(yīng)兩種決策屬性的重要樣本,樣本必須滿足在同類決策屬性下其他199條的13條決策屬性中和它的13條條件屬性數(shù)目大于等于10的前3條樣本。2、特殊條件屬性值其次分別對應(yīng)兩條決策屬性值的5條重要條件屬性值(在38個條件屬性里找),特殊屬性值必須滿足:(1)在對應(yīng)相同決策屬性下,此決策屬性支持率必須在前五,(2)而且如果不同決策屬性出現(xiàn)相同條件屬性。如果相同決策屬性同時出現(xiàn)在不同決策屬性中,刪除這條后找支持率第六的條件屬性,以此類推。挖掘算法在MATLAB!列出并做了標(biāo)注。五、驗證程序1、預(yù)處理在

8、驗證程序里面分別對測試數(shù)據(jù)和六條樣本做了對比,又對其屬性值和特殊屬性值做了對比,最后利用加權(quán)求和算法判斷測試樣本的決策屬性正確率。其中:nc,mc代表測試數(shù)據(jù)分別和兩類樣本屬性中相同數(shù)是否大于等于9時的加權(quán)值。ncc,mcc代表測試數(shù)據(jù)分別和兩類特殊屬性滿足幾條數(shù)目的加權(quán)值。2、關(guān)聯(lián)規(guī)則、如果(nc>=&ncc>=8)|(ncc>=10&nc>=得到?jīng)Q策屬性healthy(2)、不滿足以上條件的話如果(mc>=|mcc>=8)|(mcc>=9&mc>*1!到?jīng)Q策屬性sicko、不滿足以上條件的話如果nc>=(mc+|

9、ncc>=(mcc+2)得到?jīng)Q策屬性healthy。(4)、不滿足以上條件的話(5)、不滿足以上條件的話(6)、不滿足以上條件的話(7)、不滿足以上條件的話如果mc>nc得到?jīng)Q策屬性為sick。如果ncc>mcc得到?jīng)Q策屬性為healthy如果mcc>ncc得到?jīng)Q策屬性為sick。得到?jīng)Q策屬性為sick。六、正確率及結(jié)果分析正確率為結(jié)果分析:由于采用了兩類約束方法,所以效果還可以七、程序如下頁所示clear;%§預(yù)處理程序%dm=xlsread('lisanhua');%載入數(shù)據(jù)%z1=dm(:,1);%離散化第一列數(shù)據(jù)fori=1:303if

10、z1(i)>=29&z1(i)<48z1(i)=1;elseifz1(i)>=48&z1(i)<62z1(i)=2;elsez1(i)=3;endendz2=dm(:,2);fori=1:303ifz2(i)=0z2(i)=1;elsez2(i)=2;endendz3=dm(:,3);fori=1:303z3(i)=z3(i)+1;endz4=dm(:,4);fori=1:303ifz4(i)>=94&z4(i)<110z4(i)=1;elseifz4(i)>=110&z4(i)<143z4(i)=2;elsez4

11、(i)=3;endendz5=dm(:,5);fori=1:303ifz5(i)>=126&z5(i)<205z5(i)=1;elseifz5(i)>=205&z5(i)<293z5(i)=2;elsez5(i)=3;endendz6=dm(:,6);fori=1:303z6(i)=z6(i)+1;endz7=dm(:,7);fori=1:303z7(i)=z7(i)+1;endz8=dm(:,8);fori=1:303ifz8(i)>=71&z8(i)<120z8(i)=1;elseifz8(i)>=120&z8(i)

12、<175z8(i)=2;elsez8(i)=3;endendz9=dm(:,9);fori=1:303z9(i)=z9(i)+1;endz10=dm(:,10);fori=1:303ifz10(i)>=0&z10(i)<z10(i)=1;elseifz10(i)>=&z10(i)<z10(i)=2;elsez10(i)=3;endendz11=dm(:,11);fori=1:303z11(i)=z11(i)+1;endz12=dm(:,12);fori=1:303z12(i)=z12(i)+1;endz13=dm(:,13);fori=1:303z

13、13(i)=z13(i)+1;endz14=dm(:,14);fori=1:303z14(i)=z14(i)+1;enddm2=z1,z2,z3,z4,z5,z6,z7,z8,z9,z10,z11,z12,z13,z14;%m1=0,3,2,4,3,3,2,3,3,2,3,3,4,3;k=1;w=m1(k);dm3=dm2;fori=1:3939dm3(i)=dm2(i)+w;ifrem(i,303)=0k=k+1;w=w+m1(k);endend%t理結(jié)束%掘算法%)%)%處理dm4=zeros(200,14);dm5=zeros(200,14);fori=1:200ifdm3(i,14)=

14、1dm4(i,1:13)=dm3(i,1:13);elsedm5(i,1:13)=dm3(i,1:13);endenda1=zeros(38,1);a2=zeros(38,1);fork=1:38fori=1:13forj=1:200ifdm4(j,i)=k&dm4(j,i)=0a1(k)=a1(k)+1;endifdm5(j,i)=k&dm5(j,i)=0a2(k)=a2(k)+1;endendendenda5=a1;a6=a2;a3=zeros(5,1);a4=zeros(5,1);j=1;whilej<6a11=0;a11=max(a1);fori=1:38ifa1

15、(i)=a11a3(j)=a11;j=j+1;ifj>5break;enda1(i)=0;endendendj=1;whilej<6a22=0;a22=max(a2);fori=1:38ifa2(i)=a22a4(j)=a22;j=j+1;ifj>5break;enda2(i)=0;endendend%!%矩陣h1=zeros(200,14);h2=zeros(1,200);y1=0;y2=0;y3=0;y4=0;forj=1:200x=0;fori=1:200h1(i,1:13)=dm3(j,1:13)=dm3(i,1:13);h1(i,14)=dm3(j,14)=dm3(

16、i,14);ifsum(h1(i,1:13)>=10&h1(i,14)=1x=x+1;endendh2(j)=x;end%h%巨陣得到h3h4矩陣h3=zeros(1,200);h4=zeros(1,200);fori=1:200ifz14(i)=1h3(i)=h2(i);elseh4(i)=h2(i);endend%h5=h3;h6=h4;%樣本%y1=max(h5);fori=1:200ifh5(i)=y1h5(i)=0;t1=i;endendy2=max(h5);fori=1:200ifh5(i)=y2h5(i)=0;t2=i;endendy3=max(h5);fori=1

17、:200ifh5(i)=y3h5(i)=0;t3=i;endendy4=max(h6);fori=1:200ifh6(i)=y4h6(i)=0;t4=i;endendy5=max(h6);fori=1:200ifh6(i)=y5h6(i)=0;t5=i;endendy6=max(h6);fori=1:200ifh6(i)=y6h6(i)=0;t6=i;endend%w%dm4=zeros(200,14);dm5=zeros(200,14);fori=1:200ifdm3(i,14)=1dm4(i,1:13)=dm3(i,1:13);elsedm5(i,1:13)=dm3(i,1:13);end

18、enda1=zeros(38,1);a2=zeros(38,1);fork=1:38fori=1:13forj=1:200ifdm4(j,i)=k&dm4(j,i)=0a1(k)=a1(k)+1;endifdm5(j,i)=k&dm5(j,i)=0a2(k)=a2(k)+1;endendendenda5=a1;a6=a2;a3=zeros(6,1);a4=zeros(6,1);j=1;whilej<7a11=0;a11=max(a1);fori=1:38ifa1(i)=a11a3(j)=a11;j=j+1;ifj>6break;enda1(i)=0;endenden

19、dj=1;whilej<7a22=0;a22=max(a2);fori=1:38ifa2(i)=a22a4(j)=a22;月+1;ifj>6break;enda2(i)=0;endendendb1=zeros(6,1);b2=zeros(6,1);forj=1:6fori=1:38ifa5(i)=a3(j)b1(j)=i;endendendforj=1:6fori=1:38ifa6(i)=a4(j)b2(j)=i;endendendb3(1:5,1)=b1(2:6,1);b4(1:5,1)=b2(1:5,1);%3W%fc%蝌%h7=zeros(103,14);h8=zeros(1

20、03,14);tc=0;fori=1:103h7(i,1:13)=dm3(200+i,1:13);end%fori=1:103nc=0;mc=0;ncc=0;mcc=0;h8(i,1:13)=h7(i,1:13)=dm3(t1,1:13);ifsum(h8(i,1:13)>=9nc=nc+;endh8(i,1:13)=h7(i,1:13)=dm3(t2,1:13);ifsum(h8(i,1:13)>=9nc=nc+;endh8(i,1:13)=h7(i,1:13)=dm3(t3,1:13);ifsum(h8(i,1:13)>=9nc=nc+;endh8(i,1:13)=h7(i,1:13)=dm3(t4,1:13);ifsum(h8(i,1:13)>=9mc=mc+;endh8(i,1:13)=h7(i,1:13)=dm3(t5,1:13);ifsum(h8(i,1:13)>=9mc=mc+;endh8(i,1:13)=h7(i,1:13)=dm3(t6,1:13);ifsum(h8(i,1:13)>=9mc=mc+;end

溫馨提示

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

評論

0/150

提交評論