用MATLAB實(shí)現(xiàn)大數(shù)據(jù)挖掘地一種算法_第1頁
用MATLAB實(shí)現(xiàn)大數(shù)據(jù)挖掘地一種算法_第2頁
用MATLAB實(shí)現(xiàn)大數(shù)據(jù)挖掘地一種算法_第3頁
用MATLAB實(shí)現(xiàn)大數(shù)據(jù)挖掘地一種算法_第4頁
用MATLAB實(shí)現(xiàn)大數(shù)據(jù)挖掘地一種算法_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余19頁可下載查看

下載本文檔

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

文檔簡介

1、一、數(shù)據(jù)挖掘的目的數(shù)據(jù)挖掘(Data Mining)階段首先要確定挖掘的任務(wù)或目的。數(shù)據(jù)挖掘的目 的就是得出隱藏在數(shù)據(jù)中的有價(jià)值的信息。 數(shù)據(jù)挖掘是一門涉及面很廣的交叉學(xué) 科,包括器學(xué)習(xí)、數(shù)理統(tǒng)計(jì)、神經(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)于真實(shí)情況的局部 映射。建立了粗糙集理論中樣本知識與信息之間的對應(yīng)表示關(guān)系 , 給出了由屬性 約簡求約簡決策表的方法。 基于后離散化策略處理連續(xù)屬性 , 實(shí)現(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ù)處理一般包括消除噪

3、聲、 推導(dǎo)計(jì)算缺值數(shù)據(jù)、 消除重復(fù)記錄、 完成數(shù) 據(jù)類型轉(zhuǎn)換 (如把連續(xù)值數(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ù),把非

4、數(shù)字 數(shù)據(jù)轉(zhuǎn)換為離散型數(shù)字?jǐn)?shù)據(jù)。生成 lisanhua.xsl 文件。這一部分直接在 excel 工 作表中直接進(jìn)行。步驟如下:將屬性“ sex”中的“ Male ”用“1 ”表示,“Female ”用“ 2”表示;將屬性 “ chest pain type ” 中的 “ Asymptomatic ”用 “ 1” 表示,“AbnormalAngina ”用 “2” 表示,“ Angina ”用“ 3 ” 表示,“ NoTa ng ”用“ 4 ” 表示;將屬性“ Fasting blood suga<120“ 1”表示,“ TRUE ”用“2”表示;將屬性“ resting ecg ”中的

5、“ Hyp 表示, “Abnormal ”用“ 3”表示;將屬性“ slope ”中的“ Down ”用 用“ 3 ”表示 ,;將屬性“ thal ”中的“ Rev”用 用“ 3”表示;將屬性“ class”中的“ Healthy”與屬性“ angina” 用“1” 表示,1 ”表示,“ Flat”1 ”表示,“ Normal ”中的“ FALSE”用Normal ”用用“ 2”表示,用“ 2”表示,2”a I I ”Up”“ L”Fix”用“1”表示,“Sick”用“ 2”表示;數(shù)據(jù)預(yù)處理的第二步:使用dm=xlsread('lisanhua');導(dǎo)入' lisanh

6、ua '.xls 文件,在 如下:MATLAB 中對一些連續(xù)屬性值離散化。1、4、5、8、29,48=1 , 48,62=2 , 62,77=394,110=1 , 110,143=2 , 143,200=3126,205=1 , 205,293=2 , 293 , 564=371,120=1 , 120,175=2 , 175,202=310 、 0,1.5=1 , 1.5,2.5=2 , 2.5,6.2=3 。 然后對數(shù)據(jù)進(jìn)行歸一化處理: 由于不同屬性之間的屬性值相同,所以利用下面語句對一共 13 個條件屬性中的 38 個屬性進(jìn)行如下賦值, 使每條屬性唯一確定。 從而得到 38 個

7、條件屬性, 只不 過 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;for i=1:3939dm3(i)=dm2(i)+w;if rem(i,303)=0 k=k+1;w=w+m1(k); endend 從而得到 dm(3) 矩陣。而且決策屬性分為 1:healthy ;2 :sick 。 并且在 38 個條件屬性中沒有值為 0。四、挖掘算法1、特殊樣本首先在前 200 條樣本中分別找出三條對應(yīng)兩種決策屬性的重要樣本,樣本 必須滿足在同類決策屬性下其他 199 條的 13 條決策屬性中和它的

8、13 條條件屬 性數(shù)目大于等于 10 的前 3 條樣本。2、特殊條件屬性值其次分別對應(yīng)兩條決策屬性值的 5 條重要條件屬性值 (在 38 個條件屬性里 找),特殊屬性值必須滿足: (1)在對應(yīng)相同決策屬性下,此決策屬性支持率必須 在前五, (2) 而且如果不同決策屬性出現(xiàn)相同條件屬性。如果相同決策屬性同時 出現(xiàn)在不同決策屬性中,刪除這條后找支持率第六的條件屬性,以此類推。挖掘算法在 MATLAB 里列出并做了標(biāo)注。五、驗(yàn)證程序1、預(yù)處理在驗(yàn)證程序里面分別對測試數(shù)據(jù)和六條樣本做了對比, 又對其屬性值和特殊 屬性值做了對比,最后利用加權(quán)求和算法判斷測試樣本的決策屬性正確率。其中: nc,mc 代表

9、測試數(shù)據(jù)分別和兩類樣本屬性中相同數(shù)是否大于等于 9 時的加權(quán)值。 ncc,mcc 代表測試數(shù)據(jù)分別和兩類特殊屬性滿足幾條數(shù)目的加權(quán) 值。2、關(guān)聯(lián)規(guī)則(1)、如果 (nc>=0.9&ncc>=8)|(ncc>=10&nc>=0.6)得到?jīng)Q策屬性 healthy如果 (mc>=0.9|mcc>=8)|(mcc>=9&mc>=0.6)得(2)、不滿足以上條件的話 到?jīng)Q策屬性 sick 。(3)、不滿足以上條件的話 healthy 。(4)、(5)、(6)、(7)、不滿足以上條件的話 不滿足以上條件的話 不滿足以上條件的話 不滿足

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

11、29&z1(i)<48 z1(i)=1;elseif z1(i)>=48&z1(i)<62 z1(i)=2;else z1(i)=3;end end z2=dm(:,2); for i=1:303if z2(i)=0z2(i)=1; else z2(i)=2; endend z3=dm(:,3); for i=1:303z3(i)=z3(i)+1;end z4=dm(:,4); for i=1:303if z4(i)>=94&z4(i)<110z4(i)=1;elseif z4(i)>=110&z4(i)<143 z4(

12、i)=2;else z4(i)=3;end end z5=dm(:,5); for i=1:303if z5(i)>=126&z5(i)<205 z5(i)=1;elseif z5(i)>=205&z5(i)<293 z5(i)=2;else z5(i)=3;end end z6=dm(:,6); for i=1:303z6(i)=z6(i)+1;end z7=dm(:,7); for i=1:303 end z8=dm(:,8); for i=1:303z7(i)=z7(i)+1;if z8(i)>=71&z8(i)<120 z8(

13、i)=1;elseif z8(i)>=120&z8(i)<175 z8(i)=2;else z8(i)=3;end end z9=dm(:,9); for i=1:303z9(i)=z9(i)+1;end z10=dm(:,10);for i=1:303if z10(i)>=0&z10(i)<1.5 z10(i)=1;elseif z10(i)>=1.5&z10(i)<2.5 z10(i)=2;else z10(i)=3;end end z11=dm(:,11);for i=1:303z11(i)=z11(i)+1;end z12=d

14、m(:,12);for i=1:303 end z13=dm(:,13);z12(i)=z12(i)+1;for i=1:303z13(i)=z13(i)+1;end z14=dm(:,14);for i=1:303z14(i)=z14(i)+1;end dm2=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; for i=1:3939dm3(i)=dm2(i)+w;if rem(i,303)=0 k=k+1; w=w+m1(k);end

15、end % 預(yù)處理結(jié)束 % % 挖掘算法 % % 找 6 條樣本前的預(yù)處理 dm4=zeros(200,14);dm5=zeros(200,14);for i=1:200if dm3(i,14)=1dm4(i,1:13)=dm3(i,1:13); else dm5(i,1:13)=dm3(i,1:13); endend a1=zeros(38,1);a2=zeros(38,1);for k=1:38 for i=1:13for j=1:200if dm4(j,i)=k&dm4(j,i)=0 a1(k)=a1(k)+1;endif dm5(j,i)=k&dm5(j,i)=0 a2

16、(k)=a2(k)+1;endend end end a5=a1;a6=a2; a3=zeros(5,1);a4=zeros(5,1); j=1;while j<6a11=0;a11=max(a1);for i=1:38if a1(i)=a11 a3(j)=a11; j=j+1;if j>5break;end a1(i)=0;endend end j=1;while j<6a22=0;a22=max(a2);for i=1:38if a2(i)=a22 a4(j)=a22; j=j+1;if j>5 break;end a2(i)=0;endend end% 構(gòu)造 h1

17、 h2 矩陣 h1=zeros(200,14);h2=zeros(1,200); y1=0;y2=0;y3=0;y4=0;for j=1:200x=0;for i=1:200h1(i,1:13)=dm3(j,1:13)=dm3(i,1:13);h1(i,14)=dm3(j,14)=dm3(i,14);if sum(h1(i,1:13)>=10&h1(i,14)=1x=x+1;end end h2(j)=x;end % % 篩選 h2 矩陣 得到 h3 h4 矩陣 h3=zeros(1,200);h4=zeros(1,200);for i=1:200if z14(i)=1h3(i)

18、=h2(i); else h4(i)=h2(i); endend%h5=h3;h6=h4;% 找六條重要樣本 %y1=max(h5); for i=1:200if h5(i)=y1 h5(i)=0;t1=i;endendy2=max(h5); for i=1:200if h5(i)=y2 h5(i)=0;t2=i;endendy3=max(h5); for i=1:200if h5(i)=y3 h5(i)=0;t3=i;endendy4=max(h6); for i=1:200if h6(i)=y4 h6(i)=0;t4=i;y5=max(h6); for i=1:200if h6(i)=y5

19、 h6(i)=0;t5=i;endendy6=max(h6); for i=1:200if h6(i)=y6 h6(i)=0;t6=i;endend% 找特殊樣本結(jié)束找特% 殊屬性值dm4=zeros(200,14);dm5=zeros(200,14);for i=1:200if dm3(i,14)=1dm4(i,1:13)=dm3(i,1:13); else dm5(i,1:13)=dm3(i,1:13); endenda1=zeros(38,1);a2=zeros(38,1);for k=1:38for i=1:13for j=1:200if dm4(j,i)=k&dm4(j,i)

20、=0 a1(k)=a1(k)+1;endif dm5(j,i)=k&dm5(j,i)=0 a2(k)=a2(k)+1;endendendenda5=a1;a6=a2; a3=zeros(6,1);a4=zeros(6,1); j=1;while j<7a11=0;a11=max(a1);for i=1:38if a1(i)=a11 a3(j)=a11; j=j+1;if j>6 break;end a1(i)=0;endendendj=1;while j<7 a22=0; a22=max(a2); for i=1:38if a2(i)=a22 a4(j)=a22; j

21、=j+1;if j>6break;end a2(i)=0;endendendb1=zeros(6,1);b2=zeros(6,1);for j=1:6for i=1:38if a5(i)=a3(j) b1(j)=i;endendendfor j=1:6for i=1:38if a6(i)=a4(j) b2(j)=i;endendendb3(1:5,1)=b1(2:6,1);b4(1:5,1)=b2(1:5,1);% 尋找結(jié)束% 驗(yàn)證程序開始h7=zeros(103,14);h8=zeros(103,14);tc=0;for i=1:103h7(i,1:13)=dm3(200+i,1:13

22、);end% 特殊樣本for i=1:103nc=0;mc=0;ncc=0;mcc=0;h8(i,1:13)=h7(i,1:13)=dm3(t1,1:13);if sum(h8(i,1:13)>=9nc=nc+0.3;end h8(i,1:13)=h7(i,1:13)=dm3(t2,1:13);if sum(h8(i,1:13)>=9nc=nc+0.3;00+oehoe6h 八(eu 二)8u)£ns 七 0 三 ©)c£PHH(e U 二)ehk二)s00+oehoe6夬(e二)8匸)Ens七-(eL-ecephhk二)卜(e二)200+oehoe6

23、夬(Ku 二)s)Ens 七 yeL-寸二cephhk二)卜(e二)2pu mo+ouhou 6h 八(eu 二)8u)£ns 七 yeL-scephhk二)卜(e二)2Z+OOUHOOU(g)eqHH(rD2 七 s_eZ+OOUHOOU(寸)2HH(rD2± s_eZ+OOUHOOU seqHHnu 七 s_em+oouhoous2HH(rD2 七s_e&+OOUHOOU(L)cqHH(s2±"L匸04-OHOOUOHOOU&&&&&&&&&&&&

24、&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&-+ooehooe(g)寸qHH(rILU一 s_ez+ooluhoolu(寸)寸qHH(rD2七s_ez+ooluhoolus寸qHH(rD2 七s_ek+ooluhoolu(0)寸qHH(rD2 七s_em+ooluhoolu(L)寸qHH(rILU一 s_eouaolu七s-匚(寸二)2(0+OOLU)HAOOU-(e o+OE)HAOU 七S-ZH (寸二)2O OHAOEOHAOOE-raHAOOE-O OHAOE 七 s_ 匚(寸二)2O OHAOCS VAOOS-raHAOOCO OHAOS&am

溫馨提示

  • 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

提交評論