關(guān)聯(lián)規(guī)則和序列模式實(shí)驗(yàn)(共12頁)_第1頁
關(guān)聯(lián)規(guī)則和序列模式實(shí)驗(yàn)(共12頁)_第2頁
關(guān)聯(lián)規(guī)則和序列模式實(shí)驗(yàn)(共12頁)_第3頁
關(guān)聯(lián)規(guī)則和序列模式實(shí)驗(yàn)(共12頁)_第4頁
關(guān)聯(lián)規(guī)則和序列模式實(shí)驗(yàn)(共12頁)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上一、實(shí)驗(yàn)?zāi)康呐c要求掌握關(guān)聯(lián)規(guī)則和序列模式的基本原理,在此基礎(chǔ)上針對(duì)給定的數(shù)據(jù)集,基于C語言編程實(shí)現(xiàn)關(guān)聯(lián)規(guī)則挖掘算法和序列模式挖掘算法。二、實(shí)驗(yàn)內(nèi)容1令supmin = 30%, 如頻繁1項(xiàng)集L1= I1:4, I2:5,I3:4, I4:4, I6:3,請(qǐng)寫出其他所有頻繁項(xiàng)集。Transaction-idItems boughtt1I1、I2、I3t2I1、I4t3I4、I5t4I1、I2、I4t5I1、I2、I6、I4、I3t6I2、I6、I3t7I2、I3、I62基于C語言編程實(shí)現(xiàn)Apriori算法;3. 基于Weka進(jìn)行數(shù)據(jù)的準(zhǔn)備、預(yù)處理及關(guān)聯(lián)規(guī)則與序列模式的挖

2、掘三、實(shí)驗(yàn)步驟(操作界面截圖或程序清單)1. 令supmin = 30%, 如頻繁1項(xiàng)集L1= I1:4, I2:5,I3:4, I4:4, I6:3,請(qǐng)寫出其他所有頻繁項(xiàng)集。Transaction-idItems boughtt1I1、I2、I3t2I1、I4t3I4、I5t4I1、I2、I4t5I1、I2、I6、I4、I3t6I2、I6、I3t7I2、I3、I6解:7*30%=2.1,則最小支持度等于3.頻繁2項(xiàng)集:(1)連接得:C2=I1,I2,I1,I3,I1,I4,I1,I6,I2,I3,I2,I4,I2,I6,I3,I4,I3,I6,I4,I6(2)刪除得:L2=I1,I2,I1,

3、I4,I2,I3 ,I2,I6,I3,I6頻繁3項(xiàng)集:(1)連接得:C3=I1,I2,I4,I2,I3,I6(2)刪除得:L3=I2,I3,I62. 基于C語言編程實(shí)現(xiàn)Apriori算法代碼如下:#include<stdio.h>typedef struct int item100; /數(shù)據(jù)項(xiàng) D_Node; /數(shù)據(jù)庫Dtypedef struct int item100; /數(shù)據(jù)項(xiàng),用item0保存支持度 C_Node; /候選集typedef struct int item100; /數(shù)據(jù)項(xiàng),用item0保存支持度 L_Node;/頻繁集C_Node C100100;L_Nod

4、e L100100;D_Node D100;int min_supp; /最小支持度void InPut() int i,j,n,n1; printf("請(qǐng)輸入最小支持度:"); scanf("%d",&min_supp); printf("請(qǐng)輸入交易集的大小:"); scanf("%d",&D0.item0); n=D0.item0; for(i=1;i<=n;i+) /for1 printf("請(qǐng)輸入交易%d中記錄的個(gè)數(shù)(n):",i); scanf("%d&

5、quot;,&n1); Di.item0=n1; for(j=1;j<=n1;j+) /for2 printf("請(qǐng)輸入交易%d中記錄項(xiàng),直接輸入數(shù)字:",i); scanf("%d",&Di.itemj); /for2 /for1 /end of InPutvoid C1() /功能:掃描數(shù)據(jù)集D生成1項(xiàng)候選集C1 /輸入:數(shù)據(jù)集D /輸出1項(xiàng)候選集C1 /初始條件 數(shù)據(jù)集D 非空 int i,j,k; int no=1,temp=0; C10.item0=0; /1 項(xiàng)集的個(gè)數(shù),在本算法中,用Cnk.item0來保存候選集Cn的

6、第k項(xiàng)的支持度 if(D0.item0!=0) C11.item1=D1.item1; for(i=1;i<=D0.item0;i+) /for1 for(j=1;j<=Di.item0;j+) /for2 temp=1; for(k=1;k<=no;k+) /for3 if(C1k.item1=Di.itemj) C1k.item0+; /支持度加1 temp=0; / /if /end for3 if(temp)/生成新的項(xiàng)集 C1+no.item1=Di.itemj; C1no.item0=1; /end for2 / end for1 C10.item0=no;/數(shù)據(jù)

7、項(xiàng)的個(gè)數(shù) /end of C1()void Cn( int n) /用頻繁集Ln-1為基礎(chǔ),通過連接得到n項(xiàng)候選集Cn int i,j,k,p,q,s,t,num; int no=0,temp=0,count; Cn0.item0=0; /初始化/printf("in Cn(%d) n=%d/n",n,n);/printf("in Cn(%d) C%d0.item0=%d/n",n,n,Cn0.item0);num=Ln-10.item0; /num是Ln-1項(xiàng)集的數(shù)據(jù)個(gè)數(shù) for(i=1;i<=num;i+) for(j=i+1;j<=nu

8、m;j+) /for2 temp=1; /測(cè)試是否滿足聯(lián)結(jié)條件 if(n>2)/if 1 for(k=1;k<n-1;k+) /for3 if(Ln-1i.itemk!=Ln-1j.itemk) temp=0; break; /if 1 /end for3 /end if1 if(temp=1)/滿足聯(lián)結(jié)條件 / printf("in if 2 no=%d/n",no); no+; for(p=1;p<=n-1;p+) Cnno.itemp=Ln-1i.itemp; Cnno.itemp=Ln-1j.itemp-1; Cnno.item0=0; for(q

9、=1;q<=D0.item0;q+) /for5 測(cè)試其支持度 count=0; /count用來記數(shù),當(dāng)所測(cè)試的項(xiàng)存在時(shí),count加1,當(dāng)count=n時(shí),則子集存在 for(s=1;Cnno.items!=0;s+) /for6 for(t=1;t<=Dq.item0;t+) /for7 if(Cnno.items=Dq.itemt) count+=1; break; /end for7 /end for 6 if(count=n) Cnno.item0+=1;/子集存在,第no項(xiàng)的支持度加1 /end for5 Cn0.item0+=1; /end if2 /end for

10、2/end of Cn()void L1() int i,j,k; j=0; L10.item0=0; /printf("C10.item0=%d/n",C10.item0); for(i=1;i<=C10.item0;i+) if(C1i.item0>=min_supp) j+=1; for(k=1;k<=1;k+) L1j.itemk=C1i.itemk; L1j.item0=C1i.item0; / printf("L1%d.item1=%d ",j,L1j.item1); 測(cè)試功能時(shí)加的 / printf(" -%d/

11、n",L1j.item0); /end for1 L10.item0=j;/end of L1()void Ln(int n) int i,j,k; Cn(n); j=0; Ln0.item0=0; / printf("in Ln(%d) C%d0.item0=%d/n",n,n,Cn0.item0); for(i=1;i<=Cn0.item0;i+) /for 1 if(Cni.item0>=min_supp) j+=1; for(k=1;k<=n;k+) Lnj.itemk=Cni.itemk; Lnj.item0=Cni.item0; /e

12、nd if /end for1 Ln0.item0=j; /保存數(shù)據(jù)的個(gè)數(shù)/end of Ln(int n) void OutPut(int n) int i,j,k; printf("頻繁項(xiàng)目集L%d如下:n",n); k=Ln0.item0; if(k!=0) for(i=1;i<=k;i+) printf(""); for(j=1;j<=n;j+) printf(" I%d ",Lni.itemj); printf("t支持度:%dn",Lni.item0); /for else printf("項(xiàng)目集為空n"); int main() in

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論