版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)挖掘?qū)嶒?yàn)報(bào)告目錄1.關(guān)聯(lián)規(guī)則的基本概念和方法11.1數(shù)據(jù)挖掘11.1.1數(shù)據(jù)挖掘的概念11.1.2數(shù)據(jù)挖掘的方法與技術(shù)11.2關(guān)聯(lián)規(guī)則31.2.1關(guān)聯(lián)規(guī)則的概念31.2.2關(guān)聯(lián)規(guī)則的實(shí)現(xiàn)Apriori算法42.用Matlab實(shí)現(xiàn)關(guān)聯(lián)規(guī)則62.1Matlab概述62.2基于Matlab的Apriori算法73.用java實(shí)現(xiàn)關(guān)聯(lián)規(guī)則113.1java界面描述113.2java關(guān)鍵代碼描述144、實(shí)驗(yàn)總結(jié)194.1實(shí)驗(yàn)的不足和改進(jìn)194.2實(shí)驗(yàn)心得2021.關(guān)聯(lián)規(guī)則的基本概念和方法1.1數(shù)據(jù)挖掘1.1.1數(shù)據(jù)挖掘的概念計(jì)算機(jī)技術(shù)和通信技術(shù)的迅猛發(fā)展將人類(lèi)社會(huì)帶入到了信息時(shí)代。在最近十幾年里,數(shù)
2、據(jù)庫(kù)中存儲(chǔ)的數(shù)據(jù)急劇增大。數(shù)據(jù)挖掘就是信息技術(shù)自然進(jìn)化的結(jié)果。數(shù)據(jù)挖掘可以從大量的、不完全的、有噪聲的、模糊的、隨機(jī)的實(shí)際應(yīng)用數(shù)據(jù)中,提取隱含在其中的,人們事先不知道的但又是潛在有用的信息和知識(shí)的過(guò)程。許多人將數(shù)據(jù)挖掘視為另一個(gè)流行詞匯數(shù)據(jù)中的知識(shí)發(fā)現(xiàn)(KDD)的同義詞,而另一些人只是把數(shù)據(jù)挖掘視為知識(shí)發(fā)現(xiàn)過(guò)程的一個(gè)基本步驟。知識(shí)發(fā)現(xiàn)過(guò)程如下:·數(shù)據(jù)清理(消除噪聲和刪除不一致的數(shù)據(jù))·數(shù)據(jù)集成(多種數(shù)據(jù)源可以組合在一起)·數(shù)據(jù)轉(zhuǎn)換(從數(shù)據(jù)庫(kù)中提取和分析任務(wù)相關(guān)的數(shù)據(jù))·數(shù)據(jù)變換(從匯總或聚集操作,把數(shù)據(jù)變換和統(tǒng)一成適合挖掘的形式)·數(shù)據(jù)挖掘(基
3、本步驟,使用智能方法提取數(shù)據(jù)模式)·模式評(píng)估(根據(jù)某種興趣度度量,識(shí)別代表知識(shí)的真正有趣的模式)·知識(shí)表示(使用可視化和知識(shí)表示技術(shù),向用戶提供挖掘的知識(shí))。1.1.2數(shù)據(jù)挖掘的方法與技術(shù)數(shù)據(jù)挖掘吸納了諸如數(shù)據(jù)庫(kù)和數(shù)據(jù)倉(cāng)庫(kù)技術(shù)、統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)、高性能計(jì)算、模式識(shí)別、神經(jīng)網(wǎng)絡(luò)、數(shù)據(jù)可視化、信息檢索、圖像和信號(hào)處理以及空間數(shù)據(jù)分析技術(shù)的集成等許多應(yīng)用領(lǐng)域的大量技術(shù)。數(shù)據(jù)挖掘主要包括以下方法。神經(jīng)網(wǎng)絡(luò)方法:神經(jīng)網(wǎng)絡(luò)由于本身良好的魯棒性、自組織自適應(yīng)性、并行處理、分布存儲(chǔ)和高度容錯(cuò)等特性非常適合解決數(shù)據(jù)挖掘的問(wèn)題,因此近年來(lái)越來(lái)越受到人們的關(guān)注。典型的神經(jīng)網(wǎng)絡(luò)模型主要分3大類(lèi):以
4、感知機(jī)、bp反向傳播模型、函數(shù)型網(wǎng)絡(luò)為代表的,用于分類(lèi)、預(yù)測(cè)和模式識(shí)別的前饋式神經(jīng)網(wǎng)絡(luò)模型;以hopfield的離散模型和連續(xù)模型為代表的,分別用于聯(lián)想記憶和優(yōu)化計(jì)算的反饋式神經(jīng)網(wǎng)絡(luò)模型;以art模型、koholon模型為代表的,用于聚類(lèi)的自組織映射方法。神經(jīng)網(wǎng)絡(luò)方法的缺點(diǎn)是"黑箱"性,人們難以理解網(wǎng)絡(luò)的學(xué)習(xí)和決策過(guò)程。遺傳算法:遺傳算法是一種基于生物自然選擇與遺傳機(jī)理的隨機(jī)搜索算法,是一種仿生全局優(yōu)化方法。遺傳算法具有的隱含并行性、易于和其它模型結(jié)合等性質(zhì)使得它在數(shù)據(jù)挖掘中被加以應(yīng)用。sunil已成功地開(kāi)發(fā)了一個(gè)基于遺傳算法的數(shù)據(jù)挖掘工具,利用該工具對(duì)兩個(gè)飛機(jī)失事的真實(shí)數(shù)
5、據(jù)庫(kù)進(jìn)行了數(shù)據(jù)挖掘?qū)嶒?yàn),結(jié)果表明遺傳算法是進(jìn)行數(shù)據(jù)挖掘的有效方法之一。遺傳算法的應(yīng)用還體現(xiàn)在與神經(jīng)網(wǎng)絡(luò)、粗糙集等技術(shù)的結(jié)合上。如利用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),在不增加錯(cuò)誤率的前提下,刪除多余的連接和隱層單元;用遺傳算法和bp算法結(jié)合訓(xùn)練神經(jīng)網(wǎng)絡(luò),然后從網(wǎng)絡(luò)提取規(guī)則等。但遺傳算法的算法較復(fù)雜,收斂于局部極小的較早收斂問(wèn)題尚未解決。決策樹(shù)方法:決策樹(shù)是一種常用于預(yù)測(cè)模型的算法,它通過(guò)將大量數(shù)據(jù)有目的分類(lèi),從中找到一些有價(jià)值的,潛在的信息。它的主要優(yōu)點(diǎn)是描述簡(jiǎn)單,分類(lèi)速度快,特別適合大規(guī)模的數(shù)據(jù)處理。粗糙集方法:粗糙集理論是一種研究不精確、不確定知識(shí)的數(shù)學(xué)工具。粗糙集方法有幾個(gè)優(yōu)點(diǎn):不需要給出額外信
6、息;簡(jiǎn)化輸入信息的表達(dá)空間;算法簡(jiǎn)單,易于操作。粗糙集處理的對(duì)象是類(lèi)似二維關(guān)系表的信息表。目前成熟的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)和新發(fā)展起來(lái)的數(shù)據(jù)倉(cāng)庫(kù)管理系統(tǒng),為粗糙集的數(shù)據(jù)挖掘奠定了堅(jiān)實(shí)的基礎(chǔ)。但粗糙集的數(shù)學(xué)基礎(chǔ)是集合論,難以直接處理連續(xù)的屬性。而現(xiàn)實(shí)信息表中連續(xù)屬性是普遍存在的。因此連續(xù)屬性的離散化是制約粗糙集理論實(shí)用化的難點(diǎn)。覆蓋正例排斥反例方法:它是利用覆蓋所有正例、排斥所有反例的思想來(lái)尋找規(guī)則。首先在正例集合中任選一個(gè)種子,到反例集合中逐個(gè)比較。與字段取值構(gòu)成的選擇子相容則舍去,相反則保留。按此思想循環(huán)所有正例種子,將得到正例的規(guī)則(選擇子的合取式)。比較典型的算法有michalski的aq1
7、1方法、洪家榮改進(jìn)的aq15方法以及他的ae5方法。統(tǒng)計(jì)分析方法:在數(shù)據(jù)庫(kù)字段項(xiàng)之間存在兩種關(guān)系:函數(shù)關(guān)系(能用函數(shù)公式表示的確定性關(guān)系)和相關(guān)關(guān)系(不能用函數(shù)公式表示,但仍是相關(guān)確定性關(guān)系),對(duì)它們的分析可采用統(tǒng)計(jì)學(xué)方法,即利用統(tǒng)計(jì)學(xué)原理對(duì)數(shù)據(jù)庫(kù)中的信息進(jìn)行分析??蛇M(jìn)行常用統(tǒng)計(jì)(求大量數(shù)據(jù)中的最大值、最小值、總和、平均值等)、回歸分析(用回歸方程來(lái)表示變量間的數(shù)量關(guān)系)、相關(guān)分析(用相關(guān)系數(shù)來(lái)度量變量間的相關(guān)程度)、差異分析(從樣本統(tǒng)計(jì)量的值得出差異來(lái)確定總體參數(shù)之間是否存在差異)等。模糊集方法:即利用模糊集合理論對(duì)實(shí)際問(wèn)題進(jìn)行模糊評(píng)判、模糊決策、模糊模式識(shí)別和模糊聚類(lèi)分析。系統(tǒng)的復(fù)雜性越高
8、,模糊性越強(qiáng),一般模糊集合理論是用隸屬度來(lái)刻畫(huà)模糊事物的亦此亦彼性的。李德毅等人在傳統(tǒng)模糊理論和概率統(tǒng)計(jì)的基礎(chǔ)上,提出了定性定量不確定性轉(zhuǎn)換模型-云模型,并形成了云理論。還有接下來(lái)重點(diǎn)介紹的關(guān)聯(lián)規(guī)則方法。1.2關(guān)聯(lián)規(guī)則1.2.1關(guān)聯(lián)規(guī)則的概念關(guān)聯(lián)規(guī)則的一個(gè)典型例子是購(gòu)物籃分析。它是由著名的全國(guó)五百?gòu)?qiáng)沃爾瑪發(fā)現(xiàn)的,沃爾瑪有著世界最大的數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng),為了能夠準(zhǔn)確了解顧客在其門(mén)店的購(gòu)買(mǎi)習(xí)慣,沃爾瑪對(duì)其顧客的購(gòu)物行為進(jìn)行購(gòu)物籃分析,想知道顧客經(jīng)常一起購(gòu)買(mǎi)的商品有哪些。沃爾瑪數(shù)據(jù)倉(cāng)庫(kù)里集中了其各門(mén)店的詳細(xì)原始交易數(shù)據(jù)。在這些原始交易數(shù)據(jù)的基礎(chǔ)上,沃爾瑪利用數(shù)據(jù)挖掘方法對(duì)這些數(shù)據(jù)進(jìn)行分析和挖掘。一個(gè)意外的
9、發(fā)現(xiàn)是:"跟尿布一起購(gòu)買(mǎi)最多的商品竟是啤酒!經(jīng)過(guò)大量實(shí)際調(diào)查和分析,揭示了一個(gè)隱藏在"尿布與啤酒"背后的美國(guó)人的一種行為模式:在美國(guó),一些年輕的父親下班后經(jīng)常要到超市去買(mǎi)嬰兒尿布,而他們中有30%40%的人同時(shí)也為自己買(mǎi)一些啤酒。產(chǎn)生這一現(xiàn)象的原因是:美國(guó)的太太們常叮囑她們的丈夫下班后為小孩買(mǎi)尿布,而丈夫們?cè)谫I(mǎi)尿布后又隨手帶回了他們喜歡的啤酒。關(guān)聯(lián)規(guī)則由此進(jìn)入人們的視野。關(guān)聯(lián)規(guī)則挖掘被定義為假設(shè)I是項(xiàng)的集合。給定一個(gè)交易數(shù)據(jù)庫(kù)D,其中每個(gè)事務(wù)(Transaction)t是I的非空子集,即每一個(gè)交易都與一個(gè)唯一的標(biāo)識(shí)符TID(Transaction ID)對(duì)應(yīng)。關(guān)聯(lián)
10、規(guī)則在D中的支持度(support)是D中事務(wù)同時(shí)包含X、Y的百分比,即概率;置信度(confidence)是包含X的事務(wù)中同時(shí)又包含Y的百分比,即條件概率。下面舉個(gè)例子來(lái)更好地說(shuō)明關(guān)聯(lián)規(guī)則。給定AllElectronics關(guān)系數(shù)據(jù)庫(kù),一個(gè)數(shù)據(jù)挖掘系統(tǒng)可能發(fā)現(xiàn)如下形式的關(guān)聯(lián)規(guī)則Age(X,“20.29”)income(X,“20,000.29,000”)?=>buys(X,“CD-Player”)Support=20%,Confident=60%其中X是變量,代表顧客,該關(guān)聯(lián)規(guī)則表示所研究的AllElectronics數(shù)據(jù)庫(kù)中,顧客有20%在20-29歲,年收入在20,000-29,00
11、0之間,并且購(gòu)買(mǎi)CD機(jī);這個(gè)年齡和收入組的顧客購(gòu)買(mǎi)CD機(jī)的可能性有60%。1.2.2關(guān)聯(lián)規(guī)則的實(shí)現(xiàn)Apriori算法1.2.2.1算法描述Apriori算法在發(fā)現(xiàn)關(guān)聯(lián)規(guī)則領(lǐng)域具有很大影響力。算法命名源于算法使用了頻繁項(xiàng)集性質(zhì)的先驗(yàn)(prior)知識(shí)。在具體實(shí)驗(yàn)時(shí),Apriori算法將發(fā)現(xiàn)關(guān)聯(lián)規(guī)則的過(guò)程分為兩個(gè)步驟:第一步通過(guò)迭代,檢索出事務(wù)數(shù)據(jù)庫(kù)中的所有頻繁項(xiàng)集,即支持度不低于用戶設(shè)定的閾值的項(xiàng)集;第二步利用頻繁項(xiàng)集構(gòu)造出滿足用戶最小信任度的規(guī)則。其中,挖掘或識(shí)別出所有頻繁項(xiàng)集是該算法的核心,占整個(gè)計(jì)算量的大部分。Apriori算法使用一種稱(chēng)作逐層搜索的迭代方法,K項(xiàng)集用于搜索(K+1)項(xiàng)集。
12、首先,通過(guò)掃描數(shù)據(jù)庫(kù),累積每個(gè)項(xiàng)的計(jì)數(shù),并收集滿足最小支持度的項(xiàng),找出頻繁1項(xiàng)集的集合。該集合記作L1。然后,L1用于尋找頻繁2項(xiàng)集的集合L2,L2用于尋找L3,如此下去,直到不能再找到頻繁K項(xiàng)集。為提高頻繁項(xiàng)集逐層產(chǎn)生的效率,一種稱(chēng)作Apriori的重要性質(zhì)用于壓縮搜索空間。Apriori性質(zhì):頻繁項(xiàng)集的所有非空子集也必須是頻繁的。如何在算法中使用Apriori性質(zhì)?主要有兩步過(guò)程組成:連接步和剪枝步。(1) 連接步:為找LK,通過(guò)將L(k-1)與自身連接產(chǎn)生候選K項(xiàng)集的集合。該候選項(xiàng)集合記作CK。設(shè)l1和l2是Lk-1中的項(xiàng)集。記號(hào)lij表示li中的第j項(xiàng)。執(zhí)行L(k-1)連接L(k-1)
13、,如果它們的前(K-2)項(xiàng)相同的話,其中L(k-1)的元素是可連接的。(2) 剪枝步:為壓縮CK,可以用Apriori的性質(zhì):任何非頻繁的(K-1)項(xiàng)集都不是頻繁K項(xiàng)集的子集。因此,如果候選K項(xiàng)集的(K-1)項(xiàng)子集不在L(k-1)中,則該候選也不可能是頻繁的,從而可以從CK中刪除。1.2.2.1算法舉例Apriori 算法的偽代碼Input: DB, min_supOutput: result = 所有頻繁項(xiàng)集的他們的支持度方法:Result: = ;K: =1;C1: = 所有的1-項(xiàng)集While(Ck)dobegin為每一個(gè)Ck中的項(xiàng)集生成一個(gè)計(jì)數(shù)器;For(i=1; i<DB; i
14、+) begin 對(duì)第i個(gè)記錄T支持的每一個(gè)Ck中的項(xiàng)集,其計(jì)數(shù)器加1; endLk: =Ck中滿足大于min_sup的全體項(xiàng)集;Lk支持度保留;Result: =Result ÛLKCk+1: =所有的(k+1)-項(xiàng)集中滿足其k-子集都在Lk里的全體;k=k+1;enddo下面舉個(gè)例子來(lái)說(shuō)明Apriori算法。設(shè)某個(gè)數(shù)據(jù)庫(kù)中有9個(gè)事務(wù)。即|D|=9。使用圖1.2解釋Apriori算法發(fā)現(xiàn)D中的頻繁項(xiàng)集。表1.1 某超市的銷(xiāo)售項(xiàng)目的事務(wù)記錄(1) 在算法的第一次迭代時(shí),每個(gè)項(xiàng)都是候選1項(xiàng)集的集合C1的成員。算法簡(jiǎn)單地掃描所有的事務(wù),對(duì)每個(gè)項(xiàng)的出現(xiàn)次數(shù)計(jì)數(shù)。(2) 假設(shè)最小支持度計(jì)數(shù)為
15、2,即,min_sup=2。可以肯定頻繁1項(xiàng)集的集合L1。(3) 為了發(fā)現(xiàn)頻繁2項(xiàng)集的集合L2,算法使用L1和L1的連接C2。注意,在剪枝步中,沒(méi)有候選從C2中刪除,因?yàn)檫@些候選的每個(gè)子集也是頻繁的。(4) 掃描數(shù)據(jù)庫(kù)D中的事務(wù),累計(jì)C2中每個(gè)候選相集的支持計(jì)數(shù),如圖1.2的第二行中間的表所示。(5) 然后確定頻繁2項(xiàng)集的集合L2,它由C2中滿足最小支持度的候選2項(xiàng)集組成。(6) 候選3項(xiàng)集的集合C3的產(chǎn)生要用到Apriori的逐層搜索技術(shù),頻繁項(xiàng)集的所有子集都必須是頻繁的,給定一個(gè)候選k項(xiàng)集,只需要檢查它們的(k-1)項(xiàng)集是否頻繁。如圖1.2中的第三行的第一個(gè)表所示。(7) 掃描D中事務(wù)以確
16、定L3,它由C3中滿足最小支持的的候選3項(xiàng)集組成,如圖1.2中的第三行的第三個(gè)表所示。(8) 算法使用L3和L3連接產(chǎn)生候選4項(xiàng)集C4。盡管會(huì)產(chǎn)生結(jié)果I1,I2,I3,I5,但是這個(gè)項(xiàng)集被剪去,因?yàn)樗淖蛹?I2,I3,I5不是頻繁的。所以C4=空集,所以算法終止,找出所有的頻繁項(xiàng)集。圖6.2候選相集合頻繁項(xiàng)集的產(chǎn)生,最小支持度為22.用Matlab實(shí)現(xiàn)關(guān)聯(lián)規(guī)則2.1Matlab概述Matlab是由美國(guó)mathworks公司發(fā)布的主要面對(duì)科學(xué)計(jì)算、可視化以及交互式程序設(shè)計(jì)的高科技計(jì)算環(huán)境。它將數(shù)值分析、矩陣計(jì)算、科學(xué)數(shù)據(jù)可視化以及非線性動(dòng)態(tài)系統(tǒng)的建模和仿真等諸多強(qiáng)大功能集成在一個(gè)易于使用的視窗
17、環(huán)境中,為科學(xué)研究、工程設(shè)計(jì)以及必須進(jìn)行有效數(shù)值計(jì)算的眾多科學(xué)領(lǐng)域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設(shè)計(jì)語(yǔ)言(如C、Fortran)的編輯模式,代表了當(dāng)今國(guó)際科學(xué)計(jì)算軟件的先進(jìn)水平。Matlab的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與數(shù)學(xué)、工程中常用的形式十分相似,故用MATLAB來(lái)解算問(wèn)題要比用C,F(xiàn)ORTRAN等語(yǔ)言完成相同的事情簡(jiǎn)捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)點(diǎn),使MATLAB成為一個(gè)強(qiáng)大的數(shù)學(xué)軟件。由于Matlab使用矩陣作為其基本數(shù)據(jù)單位,所以使用Matlab進(jìn)行Apriori算法的編輯有著先天的優(yōu)勢(shì),可以使代碼簡(jiǎn)潔易懂。下面就來(lái)介紹
18、用Matlab編寫(xiě)的Apriori算法。2.2基于Matlab的Apriori算法采用的原始數(shù)據(jù)是上節(jié)表1.1的某超市的銷(xiāo)售項(xiàng)目的事務(wù)記錄。以下為基于Matlab的Apriori算法的源代碼以及相關(guān)解釋。sup=2; %假設(shè)支持度為2shw=1 1 0 0 1;0 1 0 1 0;0 1 1 0 0;1 1 0 1 0;1 0 1 0 0; 0 1 1 0 0;1 0 1 0 0;1 1 1 0 1;1 1 1 0 0; %shw是事務(wù)矩陣,行表示一個(gè)事務(wù),列表示項(xiàng)目;若某一事務(wù)沒(méi)有某項(xiàng),則該項(xiàng)目用0表示。將上述表1.1的數(shù)據(jù)表示為事務(wù)矩陣,每個(gè)項(xiàng)目都用數(shù)字表示。shw = 1 1 0 0 1
19、 0 1 0 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 1 1 1 0 0m1,n1=size(shw); m1 = 9n1 = 5%尋找1項(xiàng)集col=(1:n1)'col = 1 2 3 4 5count_sup=sum(shw,1)' %求出所有候選項(xiàng)集C1的支持度count_sup = 6 7 6 2 2temp=find(count_sup>=sup); %查找候選項(xiàng)集C1中支持度>2的項(xiàng)集,生成頻繁項(xiàng)集L1temp = 1 2 3 4 5col=col(temp);cou
20、nt_col_sup=count_sup(temp);L1=col count_col_sup;L1 = 1 6 2 7 3 6 4 2 5 2%產(chǎn)生2項(xiàng)集i=0;j=0;co2=nchoosek(col,2); %產(chǎn)生候選項(xiàng)集C2co2 = 1 2 1 3 1 4 1 5 2 3 2 4 2 5 3 4 3 5 4 5m2,n2=size(co2); count_co2_sup=zeros(m2,1);for i=1:m2 for j=1:m1 if (shw(j,co2(i,1)=1) && (shw(j,co2(i,2)=1) count_co2_sup(i)=count
21、_co2_sup(i)+1; end j=j+1; endendtemp=find(count_co2_sup>=sup); %查找候選項(xiàng)集C2支持度>2的項(xiàng)集,生成頻繁項(xiàng)L2co2=co2(temp,:);count_co2_sup=count_co2_sup(temp,:);L2=co2 count_co2_sup;L2 = 1 2 4 1 3 4 1 5 2 2 3 4 2 4 2 2 5 2%尋找3項(xiàng)集A=co2(:,1) co2(:,2);A = 1 2 1 3 1 5 2 3 2 4 2 5mA,nA=size(A);B(1)=A(1);k=2;for i=1:mA f
22、or j=1:nA if(A(i,j)=B(1:end) %查找重復(fù)出現(xiàn)的商品號(hào) B(k)=A(i,j); k=k+1; %B=1 2 3 5 4 end j=j+1; end i=i+1;endco3=nchoosek(B,3); %產(chǎn)生候選項(xiàng)集C3co3 = 1 2 3 1 2 5 1 2 4 1 3 5 1 3 4 1 5 4 2 3 5 2 3 4 2 5 4 3 5 4m3,n3=size(co3);count_co3_sup=zeros(m3,1);for i=1:m3 for j=1:m1 if(shw(j,co3(i,1)=1) && (shw(j,co3(i,
23、2)=1) && (shw(j,co3(i,3)=1) count_co3_sup(i)=count_co3_sup(i)+1; end j=j+1; endm3=m3+1;endtemp=find(count_co3_sup)>=sup); %查找候選項(xiàng)集C3支持度>2的項(xiàng)集,生成頻繁項(xiàng)L3co3=co3(temp,:);count_co3_sup=count_co3_sup(temp,:);L3=co3 count_co3_sup;L3 = 1 2 3 2 1 2 5 2%尋找4項(xiàng)集C=co3(:,1)' co3(:,2)' co3(:,3)
24、39;mC,nC=size(C);D(1)=C(1);K=2;for i=2:nC if(C(i)=D(1:end) %查找重復(fù)出現(xiàn)的商品號(hào) D(K)=C(i); K=K+1; end i=i+1;endco4=nchoosek(D,4);m4,n4=size(co4);count_co4_sup=zeros(m4,1);for i=1:m4 for j=1:m1 if(shw(j,co4(i,1)=1) && (shw(j,co4(i,2)=1) && (shw(j,co4(i,3)=1) && (shw(j,co4(i,4)=1) count
25、_co4_sup(i)=count_co4_sup(i)+1; end j=j+1; endendtemp=find(count_co4_sup)>=sup);co4=co4(temp,:);count_co4_sup=count_co4_sup(temp,:);L4=co4 count_co4_sup;C4 = Empty matrix: 0-by-5上述基于Matlab的Apriori算法的結(jié)果與上節(jié)的圖6.2一致,由于C4是空集,所以算法終止,共找到頻繁項(xiàng)集L1,L2,L3。3.用java實(shí)現(xiàn)關(guān)聯(lián)規(guī)則3.1java界面描述運(yùn)行程序Apriori,進(jìn)入關(guān)聯(lián)規(guī)則主界面,如圖3.1所示圖
26、3.1 關(guān)聯(lián)規(guī)則主界面點(diǎn)擊“載入”選擇“g:/1.txt”,選擇“打開(kāi)”,載入到j(luò)ava界面中,如圖3.2所示圖3.2 載入界面載入完成后的界面,如圖3.3所示圖3.3 載入完成界面輸入最小支持度閾值,如2,點(diǎn)擊“生成頻繁項(xiàng)集”,生成所有頻繁項(xiàng)集,如下圖3.4所示圖3.4 頻繁項(xiàng)集輸入最小可信度的值,如0.6,點(diǎn)擊生成關(guān)聯(lián)規(guī)則,結(jié)果如下圖3.5所示圖3.5 關(guān)聯(lián)規(guī)則3.2java關(guān)鍵代碼描述1、刪除小于支持度的鍵2、創(chuàng)建并返回L1的結(jié)果集3、創(chuàng)建并返回L2的結(jié)果集4、創(chuàng)建并返回L3的結(jié)果集5、在健集keyset里查找健值為a,b,c的健6、判斷在健集keyset里是否已經(jīng)包含了健值為a,b,c的健7、創(chuàng)建關(guān)聯(lián)規(guī)則,返回關(guān)聯(lián)規(guī)則表8、求a與L的差集,并返回差集9、獲取setN的子集。假設(shè)setN=a,b,c,則生成的子集為XXX4、實(shí)驗(yàn)總結(jié)4.1實(shí)驗(yàn)的不足和改進(jìn)在上述基于Matlab和Java的Apriori算法的編寫(xiě)中均存在以下不足:(1)在生成候選項(xiàng)集的時(shí)候會(huì)產(chǎn)生許多最后證明不是頻繁項(xiàng)集的候選項(xiàng)集,如果能在生成候選頻繁項(xiàng)集之前能判斷出某些候選集不是頻繁項(xiàng)集,則這樣可以避免在掃描數(shù)據(jù)庫(kù)時(shí)的開(kāi)銷(xiāo);(2)連接程序中相同的項(xiàng)目重復(fù)比較的太多,如果能避免這些重復(fù)的比較,則可以提高算法
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 附件:1.1521項(xiàng)擬繼續(xù)有效行業(yè)標(biāo)準(zhǔn)復(fù)審結(jié)論-表(征求意見(jiàn)稿)
- 石河子大學(xué)《藥物波譜解析》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《食品包裝學(xué)》2022-2023學(xué)年第一學(xué)期期末試卷
- 石河子大學(xué)《計(jì)算機(jī)網(wǎng)絡(luò)基礎(chǔ)》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《弱信號(hào)檢測(cè)技術(shù)》2021-2022學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《建筑節(jié)能》2023-2024學(xué)年第一學(xué)期期末試卷
- 沈陽(yáng)理工大學(xué)《過(guò)程控制系統(tǒng)與儀表》2021-2022學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《電鍍工藝》2022-2023學(xué)年期末試卷
- 沈陽(yáng)理工大學(xué)《環(huán)境工程概論》2023-2024學(xué)年第一學(xué)期期末試卷
- 合同產(chǎn)值申報(bào)
- 建筑工程項(xiàng)目管理咨詢招標(biāo)(范本)
- 三位數(shù)除兩位數(shù)的除法練習(xí)題
- 慢性胃炎的中醫(yī)治療培訓(xùn)課件
- Python程序設(shè)計(jì)課件第7章面向?qū)ο蟪绦蛟O(shè)計(jì)
- 最新爆破安全規(guī)程
- 主題班會(huì)課防盜
- 幼兒園課件《撓撓小怪物》
- 教師教案檢查八大評(píng)分標(biāo)準(zhǔn)教案的評(píng)分標(biāo)準(zhǔn)
- 政府會(huì)計(jì)基礎(chǔ)知識(shí)講義
- 幼兒園整合式主題活動(dòng)設(shè)計(jì)案例《溫馨家園》
- 荒漠區(qū)生態(tài)治理(麥草沙障、植物固沙)施工方案
評(píng)論
0/150
提交評(píng)論