數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘?qū)嶒?yàn)報(bào)告_第1頁(yè)
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘?qū)嶒?yàn)報(bào)告_第2頁(yè)
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘?qū)嶒?yàn)報(bào)告_第3頁(yè)
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘?qū)嶒?yàn)報(bào)告_第4頁(yè)
數(shù)據(jù)倉(cāng)庫(kù)與數(shù)據(jù)挖掘?qū)嶒?yàn)報(bào)告_第5頁(yè)
已閱讀5頁(yè),還剩11頁(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)介

APRIORI—介紹Apriori算法是一種挖掘關(guān)聯(lián)規(guī)則的頻繁項(xiàng)集算法,其核心思想是通過(guò)候選二根據(jù)支持度[2]找出全部頻繁項(xiàng)集(頻度)根據(jù)置信度[3]產(chǎn)生關(guān)聯(lián)規(guī)則(強(qiáng)度)三Apriori算法是一種最有影響的挖掘布爾關(guān)聯(lián)規(guī)則頻繁項(xiàng)集的算法。是基于這樣的事實(shí):算法使用頻繁項(xiàng)集性質(zhì)的先驗(yàn)知識(shí)。Apriori使用一種稱作逐級(jí)搜k-Lk需要一次數(shù)據(jù)庫(kù)掃描。I的更大的集合也不可能是頻繁項(xiàng)集。Listofk+1_項(xiàng)集被剪掉,得到Ck1項(xiàng)集,然后濾去該Ck1k+1-項(xiàng)集。如果得到的Ck1項(xiàng)集為空,則算法結(jié)束。Lk項(xiàng)集中的全部項(xiàng)都是按攝影似的次序排列的,那么如Lk[i]Lk[j

k-1kLk[i]Lk[jL2中的{I1,I2}和{I1,I3}就是可連接的,連接之后得到{I1,I2,I3},L2L3的過(guò)程中,列舉得到的3_項(xiàng)集涉及{I1,I2,I3},{I1,I3,I5},{I2,I3,I4},{I2,I3,I5},{I2,I4,I5},但是由于{I3,I4}和L2中,因此{(lán)I2,I3,I4},{I2,I3,I5},{I2,I4,I5}被剪枝掉了。發(fā)現(xiàn)頻繁項(xiàng)集,過(guò)程為(1)掃描(2)計(jì)數(shù)(3)比較(4)LLLS則輸出規(guī)則“SàL-注:L-SLS子集的項(xiàng)集//找出頻繁1L1=find_frequent_1-itemsets(D);For(k=2;Lk-1!=null;k++){//Ck=apriori_gen(Lk-1//掃描DForeach事務(wù) inCt=subset(Ck,t);//tForeachcCt}//Lk={c屬于Ck|}ReturnL=全部的頻繁集;Procedureapriori_gen(Lk-1:frequent(k-1)-itemsets)Foreach項(xiàng)集l1屬于Lk-1Foreachl2屬于Lk-If((l1[1]=l2[1])&&(l1[2]=l2[2])&&……&&(l1[k-2]=l2[k-[k-1]<l2[k-1])

c=l1連接 //連接步:產(chǎn)生候//k-1c則進(jìn)行剪枝ifhas_infrequent_subset(c,Lk-1)thendeletec;//elseaddcto}Return第二步:剪枝Procedurehas_infrequent_sub(c:candidatek-itemset;Lk-1:frequent(k-1)-itemsets)Foreach(k-1)-subsetsofcIfsLk-1thenReturntrue;ReturnID項(xiàng)集的過(guò)程以下具體介紹下候選3C3的產(chǎn)生過(guò)程:從連接步,首先C3Apriorik項(xiàng)集后,只需檢查它們的(k-1)個(gè)子集與L1=find_frequent_1-itemsets(D);//找出全部頻繁1Ck=apriori_gen(Lk-1);//ForeachtinD{//D進(jìn)行候選計(jì)數(shù)Ct=subset(Ck,t);//t的子集Foreachc}Lk={cCk|}ReturnL=Procedureapriori_gen(Lk-1:frequent(k-1)-itemsets)Foreachl1Lk-1Foreachl2Lk-If((l1[1]=l2[1])&&(&&(l1[k-2]=l2[k-2])&&(l1[k-1]<l2[k-1]))c=l1l2ifhas_infrequent_subset(c,Lk-1)thendeletec;剪枝步:刪除非頻繁候選elseaddcto}ReturnProcedurehas_infrequent_sub(c:candidatek-itemset;Lk-1:frequent(k-1)-itemsets)Foreach(k-1)-subsetsofcIfsLk-1thenReturntrue;ReturnJavapackagecom.apriori;importjava.util.ArrayList;importjava.util.Collections;importjava.util.HashMap;importjava.util.List;importjava.util.Map;importjava.util.Set;publicclassAprioriprivatefinalstaticintSUPPORT2;//privatefinalstaticdoubleCONFIDENCE0.7;//privatefinalstaticStringITEM_SPLIT=";";//privatefinalstaticStringCON="->";//privatefinalstaticList<String>transList=newArrayList<String>()}

publicMap<String,Integer>Map<String,Integer>itemkFcMap=newHashMap<String,Integer>();Set<String>出現(xiàn),計(jì)數(shù)加

for(Stringtrans:transList){for(Stringbooleanflag=true;//String[]candidateItems=candidate.split(ITEM_SPLIT);for(StringcandidateItem:candidateItems){}}}}}

Integercount=candidateCollection.get(candidate);candidateCollection.put(candidate,count+1);for(StringIntegercount=candidateCollection.get(candidate);itemkFcMap.put(candidate,}}}return}

privateMap<String,Integer>

Set<String>itemkSet1=itemkFcMap.keySet();Set<String>for(Stringfor(String//String[]String[]Stringc="";

}boolean}}}{tmpC.length;j++)

}//booleanhasInfrequentSubSet=false;if(!c.equals("")){String[]tmpCfor(inti=0;i<tmpC.length;StringsubC="";for(intj=0;j<if(i!=j)subC=}}(itemkFcMap.get(subC)==null)hasInfrequentSubSet=

}

}}candidateCollection.put(c,}}}return}privateMap<String,Integer>getItem1FC(){Map<String,Integer>sItem1FcMap=newfor(StringString[]items=trans.split(ITEM_SPLIT);for(Stringitem:items){}}}Set<String>keySet=sItem1FcMap.keySet();for(Stringkey:keySet){Integercount=sItem1FcMap.get(key);rItem1FcMap.put(key,}}return}publicMap<String,Double>getRelationRules(Map<String,Integer>Map<String,Double>relationRules=newSet<String>keySet=frequentCollectionMap.keySet();for(Stringkey:keySet){doublecountAll=frequentCollectionMap.get(key);String[]keyItems=key.split(ITEM_SPLIT);List<String>source=newArrayList<String>();Collections.addAll(source,keyItems);List<List<String>>result=new

buildSubSet(source,result);//sourcefor(List<String>itemList:result){List<String>otherList=newfor(String}}StringreasonStr="";//前置StringresultStr="";//成果for(Stringitem:itemList){}for(String}doublecountReason=frequentCollectionMap.get(reasonStr);doubleitemConfidence=countAll/countReason;//計(jì)算置信度Stringrule=reasonStr+CON+resultStr;relationRules.put(rule,itemConfidence);}}}}}return} voidbuildSubSet(List<String>sourceSet,List<List<String>>result)//result

if(sourceSet.size()==1)List<String>set=newArrayList<String>();}elseif(sourceSet.size()>1)//nn-1中n

buildSubSet(sourceSet.subList(0,sourceSet.size()-intsizeresult.size();//result//nList<String>single=newArrayList<String>();single.add(sourceSet.get(sourceSet.size()-1));//n-1nnresult中//n-1的子集,因此需要先對(duì)其進(jìn)行復(fù)制List<String>clone;for(inti=0;i<size;i++)clone=newArrayList<String>();for(Stringstr:result.get(i)){}clone.add(sourceSet.get(sourceSet.size()-}}}publicstaticvoidmain(String[]Aprioriapriori=newMap<String,Integer>frequentCollectionMap=apriori.getFC(); Set<String>for(String } Set<String>rrKeySet=relationRulesMap.keySet();for(StringrrKey:rrKeySet){ }}}五海量數(shù)據(jù)下,Apriori 級(jí)。由頻繁k-1項(xiàng)集進(jìn)行自連接生成的候選頻繁k項(xiàng)集數(shù)量巨大。六1.2.的辦法。3.基于采樣的辦法。4.我看了下“基于劃分的辦法”其中,partition算法要注意的是分片的大小選用,要確保每個(gè)分片能夠被放七Apriori算法廣泛應(yīng)用于多個(gè)領(lǐng)域,通過(guò)對(duì)數(shù)Apriori算法廣泛應(yīng)用于商業(yè)中,應(yīng)用于消費(fèi)市場(chǎng)價(jià)格分析中,它能夠很快Apriori算法應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域,例如時(shí)候入侵檢測(cè)技術(shù)中。早期中大型AprioriApri

溫馨提示

  • 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)論