版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、數(shù)據(jù)挖掘?qū)嶒瀳蟾婺夸? .關聯(lián)規(guī)則的基本概念和方法11.1 數(shù)據(jù)挖掘11.1.1 數(shù)據(jù)挖掘的概念11.1.2 數(shù)據(jù)挖掘的方法與技術11.2 關聯(lián)規(guī)則21.2.1 關聯(lián)規(guī)則的概念21.2.2 關聯(lián)規(guī)則的實現(xiàn)一一Apriori算法32 .用Matlab實現(xiàn)關聯(lián)規(guī)則52.1 Matlab概述52.2 基于Matlab的Apriori算法63 .用java實現(xiàn)關聯(lián)規(guī)則103.1 java界面描述103.2 java關鍵代碼描述134、實驗總結184.1 實驗的不足和改進184.2 實驗心得191.關聯(lián)規(guī)則的基本概念和方法1.1 數(shù)據(jù)挖掘1.1.1 數(shù)據(jù)挖掘的概念計算機技術和通信技術的迅猛發(fā)展將人類社會
2、帶入到了信息時代。在最近十幾年里,數(shù)據(jù)庫中存儲的數(shù)據(jù)急劇增大。數(shù)據(jù)挖掘就是信息技術自然進化的結果。數(shù)據(jù)挖掘可以從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數(shù)據(jù)中,提取隱含在其中的,人們事先不知道的但又是潛在有用的信息和知識的過程。許多人將數(shù)據(jù)挖掘視為另一個流行詞匯數(shù)據(jù)中的知識發(fā)現(xiàn)(KDD)的同義詞,而另一些人只是把數(shù)據(jù)挖掘視為知識發(fā)現(xiàn)過程的一個基本步驟。知識發(fā)現(xiàn)過程如下: 數(shù)據(jù)清理(消除噪聲和刪除不一致的數(shù)據(jù)) 數(shù)據(jù)集成(多種數(shù)據(jù)源可以組合在一起) 數(shù)據(jù)轉(zhuǎn)換(從數(shù)據(jù)庫中提取和分析任務相關的數(shù)據(jù)) 數(shù)據(jù)變換(從匯總或聚集操作,把數(shù)據(jù)變換和統(tǒng)一成適合挖掘的形式) 數(shù)據(jù)挖掘(基本步驟,使用智
3、能方法提取數(shù)據(jù)模式) 模式評估(根據(jù)某種興趣度度量,識別代表知識的真正有趣的模式) 知識表示(使用可視化和知識表示技術,向用戶提供挖掘的知識)。1.1.2 數(shù)據(jù)挖掘的方法與技術數(shù)據(jù)挖掘吸納了諸如數(shù)據(jù)庫和數(shù)據(jù)倉庫技術、統(tǒng)計學、機器學習、高性能計算、模式識別、神經(jīng)網(wǎng)絡、數(shù)據(jù)可視化、信息檢索、圖像和信號處理以及空間數(shù)據(jù)分析技術的集成等許多應用領域的大量技術。數(shù)據(jù)挖掘主要包括以下方法。神經(jīng)網(wǎng)絡方法:神經(jīng)網(wǎng)絡由于本身良好的魯棒性、自組織自適應性、并行處理、分布存儲和高度容錯等特性非常適合解決數(shù)據(jù)挖掘的問題,因此近年來越來越受到人們的關注。典型的神經(jīng)網(wǎng)絡模型主要分3大類:以感知機、bp反向傳播模型、函數(shù)型
4、網(wǎng)絡為代表的,用于分類、預測和模式識別的前饋式神經(jīng)網(wǎng)絡模型;以hopfield的離散模型和連續(xù)模型為代表的,分別用于聯(lián)想記憶和優(yōu)化計算的反饋式神經(jīng)網(wǎng)絡模型;以art模型、koholon模型為代表的,用于聚類的自組織映射方法。神經(jīng)網(wǎng)絡方法的缺點是“黑箱"性,人們難以理解網(wǎng)絡的學習和決策過程。遺傳算法:遺傳算法是一種基于生物自然選擇與遺傳機理的隨機搜索算法,是一種仿生全局優(yōu)化方法。遺傳算法具有的隱含并行性、易于和其它模型結合等性質(zhì)使得它在數(shù)據(jù)挖掘中被加以應用。sunil已成功地開發(fā)了一個基于遺傳算法的數(shù)據(jù)挖掘工具,利用該工具對兩個飛機失事的真實數(shù)據(jù)庫進行了數(shù)據(jù)挖掘?qū)嶒?,結果表明遺傳算法是
5、進行數(shù)據(jù)挖掘的有效方法之一。遺傳算法的應用還體現(xiàn)在與神經(jīng)網(wǎng)絡、粗糙集等技術的結合上。如利用遺傳算法優(yōu)化神經(jīng)網(wǎng)絡結構,在不增加錯誤率的前提下,刪除多余的連接和隱層單元;用遺傳算法和bp算法結合訓練神經(jīng)網(wǎng)絡,然后從網(wǎng)絡提取規(guī)則等。但遺傳算法的算法較復雜,收斂于局部極小的較早收斂問題尚未解決。決策樹方法:決策樹是一種常用于預測模型的算法,它通過將大量數(shù)據(jù)有目的分類,從中找到一些有價值的,潛在的信息。它的主要優(yōu)點是描述簡單,分類速度快,特別適合大規(guī)模的數(shù)據(jù)處理。粗糙集方法:粗糙集理論是一種研究不精確、不確定知識的數(shù)學工具。粗糙集方法有幾個優(yōu)點:不需要給出額外信息;簡化輸入信息的表達空間;算法簡單,易于
6、操作。粗糙集處理的對象是類似二維關系表的信息表。目前成熟的關系數(shù)據(jù)庫管理系統(tǒng)和新發(fā)展起來的數(shù)據(jù)倉庫管理系統(tǒng),為粗糙集的數(shù)據(jù)挖掘奠定了堅實的基礎。但粗糙集的數(shù)學基礎是集合論,難以直接處理連續(xù)的屬性。而現(xiàn)實信息表中連續(xù)屬性是普遍存在的。因此連續(xù)屬性的離散化是制約粗糙集理論實用化的難點。覆蓋正例排斥反例方法:它是利用覆蓋所有正例、排斥所有反例的思想來尋找規(guī)則。首先在正例集合中任選一個種子,到反例集合中逐個比較。與字段取值構成的選擇子相容則舍去,相反則保留。按此思想循環(huán)所有正例種子,將得到正例的規(guī)則(選擇子的合取式)。比較典型的算法有michalski的aq11方法、洪家榮改進的aq15方法以及他的a
7、e5方法。統(tǒng)計分析方法:在數(shù)據(jù)庫字段項之間存在兩種關系:函數(shù)關系(能用函數(shù)公式表示的確定性關系)和相關關系(不能用函數(shù)公式表示,但仍是相關確定性關系),對它們的分析可采用統(tǒng)計學方法,即利用統(tǒng)計學原理對數(shù)據(jù)庫中的信息進行分析??蛇M行常用統(tǒng)計(求大量數(shù)據(jù)中的最大值、最小值、總和、平均值等)、回歸分析(用回歸方程來表示變量間的數(shù)量關系)、相關分析(用相關系數(shù)來度量變量間的相關程度)、差異分析(從樣本統(tǒng)計量的值得出差異來確定總體參數(shù)之間是否存在差異)等。模糊集方法:即利用模糊集合理論對實際問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。系統(tǒng)的復雜性越高,模糊性越強,一般模糊集合理論是用隸屬度來
8、刻畫模糊事物的亦此亦彼性的。李德毅等人在傳統(tǒng)模糊理論和概率統(tǒng)計的基礎上,提出了定性定量不確定性車t換模型-云模型,并形成了云理論。還有接下來重點介紹的關聯(lián)規(guī)則方法。1.2 關聯(lián)規(guī)則1.2.1 關聯(lián)規(guī)則的概念關聯(lián)規(guī)則的一個典型例子是購物籃分析。它是由著名的全國五百強沃爾瑪發(fā)現(xiàn)的,沃爾瑪有著世界最大的數(shù)據(jù)倉庫系統(tǒng),為了能夠準確了解顧客在其門店的購買習慣,沃爾瑪對其顧客的購物行為進行購物籃分析,想知道顧客經(jīng)常一起購買的商品有哪些。沃爾瑪數(shù)據(jù)倉庫里集中了其各門店的詳細原始交易數(shù)據(jù)。在這些原始交易數(shù)據(jù)的基礎上,沃爾瑪利用數(shù)據(jù)挖掘方法對這些數(shù)據(jù)進行分析和挖掘。一個意外的發(fā)現(xiàn)是:"跟尿布一起購買最
9、多的商品竟是啤酒!經(jīng)過大量實際調(diào)查和分析,揭示了一個隱藏在“尿布與啤酒”背后的美國人的一種行為模式:在美國,一些年輕的父親下班后經(jīng)常要到超市去買嬰兒尿布,而他們中有30%40%的人同時也為自己買一些啤酒。產(chǎn)生這一現(xiàn)象的原因是:美國的太太們常叮囑她們的丈夫下班后為小孩買尿布,而丈夫們在買尿布后又隨手帶回了他們喜歡的啤酒。關聯(lián)規(guī)則由此進入人們的視野。關聯(lián)規(guī)則挖掘被定義為假設I是項的集合。給定一個交易數(shù)據(jù)庫D,其中每個事務(Transaction)t是I的非空子集,即每一個交易都與一個唯一的標識符TID(TransactionID)對應。關聯(lián)規(guī)則在D中的支持度(support)是D中事務同時包含X、
10、Y的百分比,即概率;置信度(confidence)是包含X的事務中同時又包含Y的百分比,即條件概率。下面舉個例子來更好地說明關聯(lián)規(guī)則。給定AllElectronics關系數(shù)據(jù)庫,一個數(shù)據(jù)挖掘系統(tǒng)可能發(fā)現(xiàn)如下形式的關聯(lián)規(guī)則Age(X,"20.29")入income(X,"20,000.29,000")?=>buys(X,“CD-Player”)Support=20%,Confident=60%其中X是變量,代表顧客,該關聯(lián)規(guī)則表示所研究的AllElectronics數(shù)據(jù)庫中,顧客有20%在20-29歲,年收入在20,000-29,000之間,并且購買
11、CD機;這個年齡和收入組的顧客購買CD機的可能性有60%。1.2.2 關聯(lián)規(guī)則的實現(xiàn)一一Apriori算法算法描述Apriori算法在發(fā)現(xiàn)關聯(lián)規(guī)則領域具有很大影響力。算法命名源于算法使用了頻繁項集性質(zhì)的先驗(prior)知識。在具體實驗時,Apriori算法將發(fā)現(xiàn)關聯(lián)規(guī)則的過程分為兩個步驟:第一步通過迭代,檢索出事務數(shù)據(jù)庫中的所有頻繁項集,即支持度不低于用戶設定的閾值的項集;第二步利用頻繁項集構造出滿足用戶最小信任度的規(guī)則。其中,挖掘或識別出所有頻繁項集是該算法的核心,占整個計算量的大部分。Apriori算法使用一種稱作逐層搜索的迭代方法,K項集用于搜索(K+1)項集。首先,通過
12、掃描數(shù)據(jù)庫,累積每個項的計數(shù),并收集滿足最小支持度的項,找出頻繁1項集的集合。該集合記作L1。然后,L1用于尋找頻繁2項集的集合L2,L2用于尋找L3,如此下去,直到不能再找到頻繁K項集。為提高頻繁項集逐層產(chǎn)生的效率,一種稱作Apriori的重要性質(zhì)用于壓縮搜索空間。Apriori性質(zhì):頻繁項集的所有非空子集也必須是頻繁的。如何在算法中使用Apriori性質(zhì)?主要有兩步過程組成:連接步和剪枝步。(1)連接步:為找Lk,通過將L(k-i)與自身連接產(chǎn)生候選K項集的集合。該候選項集合記作Ck。設l1和l2是Lk-1中的項集。記號hj表示li中的第j項。執(zhí)行Lg)連接L(k-i),如果它們的前(K-
13、2)項相同的話,其中Lg)的元素是可連接的。(2)剪枝步:為壓縮Ck,可以用Apriori的性質(zhì):任何非頻繁的(K-1)項集都不是頻繁K項集的子集。因此,如果候選K項集的(K-1)項子集不在Lg)中,則該候選也不可能是頻繁的,從而可以從Ck中刪除。 算法舉例Apriori算法的偽代碼Input:DB,min_supOutput:result=所有頻繁項集的他們的支持度方法:Result:=;K:=1;Ci:=所有的1-項集While(Ck)dobegin為每一個Ck中的項集生成一個計數(shù)器;For(i=1;i<DB;i+)begin對第i個記錄T支持的每一個Ck中的項集,其計
14、數(shù)器加1;endLk:=Ck中滿足大于min_sup的全體項集;Lk支持度保留;Result:=Result?LKCk+i:=所有的(k+1)-項集中滿足其k-子集都在Lk里的全體;k=k+1;enddo下面舉個例子來說明Apriori算法。設某個數(shù)據(jù)庫中有9個事務。即|D|=9。使用圖1.2解釋Apriori算法發(fā)現(xiàn)D中的頻繁項集表1.1某超市的銷售項目的事務記錄TIDItemsT10011,12,13T200I2J4T300I2J3T40011,14T500I1J3T60012,13T700I1J3T800I1J2J3J5T90011,12,13(1) 在算法的第一次迭代時,每個項都是候選
15、1項集的集合C1的成員。算法簡單地掃描所有的事務,對每個項的出現(xiàn)次數(shù)計數(shù)。(2) 假設最小支持度計數(shù)為2,即,min_sup=2??梢钥隙l繁1項集的集合L1。(3) 為了發(fā)現(xiàn)頻繁2項集的集合L2,算法使用L1和L1的連接C2。注意,在剪枝步中,沒有候選從C2中刪除,因為這些候選的每個子集也是頻繁的。(4) 掃描數(shù)據(jù)庫D中的事務,累方tC2中每個候選相集的支持計數(shù),如圖1.2的第二行中間的表所示。(5) 然后確定頻繁2項集的集合L2,它由C2中滿足最小支持度的候選2項集組成。(6) 候選3項集的集合C3的產(chǎn)生要用到Apriori的逐層搜索技術,頻繁項集的所有子集都必須是頻繁的,給定一個候選k項
16、集,只需要檢查它們的(k-1)項集是否頻繁。如圖1.2中的第三行的第一個表所示。(7) 掃描D中事務以確定L3,它由C3中滿足最小支持的的候選3項集組成,如圖1.2中的第三行的第三個表所示。(8) 算法使用L3和L3連接產(chǎn)生候選4項集C40盡管會產(chǎn)生結果I1,I2,I3,I5,但是這個項集被剪去,因為它的子集I2,I3,I5不是頻繁白所以C4=空集,所以算法終止,找出所有的頻繁項集。由L性成,凝集J候選項集C3I1J2J3并對每個候選計數(shù)s候選項集0選出支持度>2的項集>頻繁項集L3I1J2J32I1J2J32I1J2J5I1J2J52I1J2J52圖6.2候選相集合頻繁項集的產(chǎn)生
17、,最小支持度為2掃描D,對于 每個候選集計數(shù)候選項集C1TIDItems116127136142152選出支持度 乂的項集頻繁項集LITIDItems116127136142152由L生成候選集伍候選項集a掃描D,并對 每個候選計數(shù)候選項集C2I1J2I1J24選出支持度 乂的項集113I1J34頻繁項集L2I1J4I1J41I1J24I1J34I1J5I1J522f3I2J34I1J524I2J4I2J42I2J34215I2J52I2J42I3J4I3J4012,15213,15I3J5141514,1502.用Matlab實現(xiàn)關聯(lián)規(guī)則2.1Matlab概述Matlab是由美國mathwo
18、rks公司發(fā)布的主要面對科學計算、可視化以及交互式程序設計的高科技計算環(huán)境。它將數(shù)值分析、矩陣計算、科學數(shù)據(jù)可視化以及非線性動態(tài)系統(tǒng)的建模和仿真等諸多強大功能集成在一個易于使用的視窗環(huán)境中,為科學研究、工程設計以及必須進行有效數(shù)值計算的眾多科學領域提供了一種全面的解決方案,并在很大程度上擺脫了傳統(tǒng)非交互式程序設計語言(如C、Fortran)的編輯模式,代表了當今國際科學計算軟件的先進水平。Matlab的基本數(shù)據(jù)單位是矩陣,它的指令表達式與數(shù)學、工程中常用的形式十分相似,故用MATLAB來解算問題要比用C,FORTRAN等語言完成相同的事情簡捷得多,并且MATLAB也吸收了像Maple等軟件的優(yōu)
19、點,使MATLAB成為一個強大的數(shù)學軟件。由于Matlab使用矩陣作為其基本數(shù)據(jù)單位,所以使用Matlab進彳AApriori算法的編輯有著先天的優(yōu)勢,可以使代碼簡潔易懂。下面就來介紹用Matlab編寫的Apriori算法。2.2基于Matlab的Apriori算法采用的原始數(shù)據(jù)是上節(jié)表1.1的某超市的銷售項目的事務記錄。以下為基于Matlab的Apriori算法的源代碼以及相關解釋。sup=2;%假設支持度為2shw=11001;01010;01100;11010;10100;01100;10100;11101;11100;0表示。將%sh提事務矩陣,行表示一個事務,列表示項目;若某一事務沒
20、有某項,則該項目用上述表1.1的數(shù)據(jù)表示為事務矩陣,每個項目都用數(shù)字表示。shw=110010101001100110101010001100101001110111100m1,n1=size(shw);m1=9n1=5%尋找1項集col=(1:n1)'col=1234countsup=sum(shw,1)'count_sup=67622temp=find(count_sup>=sup);Iemp=2%求出所有彳It選項集 C1的支持度%查找候選項集C1中支持度2的項集,生成頻繁項集L1col=col(temp);count_col_sup=count_sup(temp)
21、;%產(chǎn)生2項集i=0;j=0;co2=nchoosek(col,2); %co2 =121314152324253435產(chǎn)生候選項集C2L1=colcount_col_sup;m2,n2=size(co2);count_co2_sup=zeros(m2,1);fori=1:m2forj=1:m1if(shw(j,co2(i,1)=1)&&(shw(j,co2(i,2)=1)count_co2_sup(i)=count_co2_sup(i)+1;endj=j+1;end查找候選項集C2支持度2的項集,生成頻繁項L2endtemp=find(count_co2_sup>=su
22、p);%co2=co2(temp,:);count_co2_sup=count_co2_sup(temp,:);L2=co2count_co2_sup;L2124134152234242252%尋找3項集A乖o2(:,1)co2(:,2);A121315232425mA,nA=size(A);B(1)=A(1);k=2;fori=1:mAforj=1:nAif(A(i,j)=B(1:end)%查找重復出現(xiàn)的商品號B(k)=A(i,j);k=k+1;%B=12354endj=j+1;endi=i+1;產(chǎn)生候選項集C3endco3=112311251124113511341154235234254
23、354co3=nchoosek(B,3);%m3,n3=size(co3);count_co3_sup=zeros(m3,1);fori=1:m3forj=1:m1if(shw(j,co3(i,1)=1)&&(shw(j,co3(i,2)=1)&&(shw(j,co3(i,3)=1)count_co3_sup(i)=count_co3_sup(i)+1;endj=j+1;endm3=m3+1;endtemp=find(count_co3_sup)>=sup);%查找候選項集C3支持度>2的項集,生成頻繁項L3co3=co3(temp,:);count
24、_co3_sup=count_co3_sup(temp,:);L3=co3count_co3_sup;l3=12321252%尋找4項集C=co3(:,1)'co3(:,2)'co3(:,3)'mC,nC=size(C);D(1)=C(1);K=2;fori=2:nCif(C(i)=D(1:end)%查找重復出現(xiàn)的商品號D(K尸C(i);K=K+1;endi=i+1;endco4=nchoosek(D,4);m4,n4=size(co4);count_co4_sup=zeros(m4,1);fori=1:m4forj=1:m1if(shw(j,co4(i,1)=1)&a
25、mp;&(shw(j,co4(i,2)=1)&&(shw(j,co4(i,3)=1)&&(shw(j,co4(i,4)=1)count_co4_sup(i)=count_co4_sup(i)+1;endj=j+1;endendtemp=find(count_co4_sup)>=sup);co4=co4(temp,:);count_co4_sup=count_co4_sup(temp,:);L4=co4count_co4_sup;C4=Emptymatrix:0-by-5上述基于Matlab的Apriori算法的結果與上節(jié)的圖6.2一致,由于C4是空
26、集,所以算法終止,共找到頻繁項集Li,L2,L303.用java實現(xiàn)關聯(lián)規(guī)則3.1java界面描述運行程序Apriori,進入關聯(lián)規(guī)則主界面,如圖3.1所示10圖3.1關聯(lián)規(guī)則主界面點擊“載入”選擇“g:/1.txt”,選擇“打開”,載入到java界面中,如圖3.2所示圖3.2載入界面12載入完成后的界面,如圖3.3所示圖3.3載入完成界面輸入最小支持度閾值,如2,點擊“生成頻繁項集”,生成所有頻繁項集,如下圖3.4所示圖3.4頻繁項集14輸入最小可信度的值,如0.6,點擊生成關聯(lián)規(guī)則,結果如下圖3.5所示圖3.5關聯(lián)規(guī)則3.2java關鍵代碼描述1、刪除小于支持度的鍵publicvoidre
27、rnovelJotSupportKey(Hashtblelit)Stringstr=supportkgetText();intj=Integer1門st);Set5=ht.keySet();for(Iteratori=sAtertor();i.hdsFJext();)if(Integer(String)hriget(i.next()<j)i,renio;e();)2、創(chuàng)建并返回Li的結果集21publicStringcreateLl()Stringstr=for(inti=0;i<info,length;i-Hr)for(intj=C;j<infoi.length;j+)if
28、(Ihtl.containsKey(infolj)elsehtl<pirtlnfpljjfjj,Integer.parselnt(Strlng>ht1+1+)removeflotSupportkey(ht1);str="LI如下:”+eiT;5tp=str+print(htJ)+MnM;returnstr;3、創(chuàng)建并返回L2的結果集publicStringcreateL2()Stringstr=str=createLl();Sets-htl.keyset();for(Iteratoriter=s.iter<aror);iterJidsNext();)Objecto=
29、iter.next();千or(int1=O;i<info,length;i-*-*-)for(intj-e;j<infoi.length-1;if(o.equals(infoij)-f-Qi'(intk=j1;k<infoi.length;k-r-t-(if(Sthis+contain(ht2keyset(),Stringo,infoik|>null)Itemitem=h電mItein(String)infoik);ht2.putitem,elseObjectkey-this*findKey(ht2-keyset()>(String)o,infoikjn
30、ull);ht2.put(key,Integer(String)lit2,get(key)break;removeUctSupportKey(ht2);str=str+'"L2如下:"+"n"str=str+print(ht2)+"Xn"str-strt"'treturnstr;4、創(chuàng)建并返回L3的結果集publicstringcr)Stringstr=""str=rrealeL2();Sets=ht2-keySetf);fair(Iteratoriter=S.iterator();ite
31、r.hdElleAt()j>Itemo=(Item)iter,next();for(inti-0;i<info.length;1+t)(for(lotj=ft;j<infoi,length-1;j+)if(o,getA().equalsfinfoij>&&.a.getB(1.eqiiiAls(ln-roij+1)S&j+i<length)-for(intk=j+2ik<-Length;k+)if(1this.contdin(.keyset(),o.getA()o.getB()infoikD)Itentitent=neiuItefn(o
32、.getA(J,cgetB()finfoij+2);hZ3.put(iterri,"1");卜elseObjectke/this.findKey(ht3.keySet()jo.gEA(3o.getB(),info(i)k);?t3put(ky,Integer(String)h亡三.Setkey)+1+",1);>)break;rmovellotSuipportKey(/?t3);str-str+”LM如下,"n"str-str+print(hr3)+,"n''strstr+"n"jreturn
33、str;)5、在健集keyset里查找健值為a,b,c的健publicObjectfindKey(Se±keysetStringd:Stringb,Stringc>if(b=null)fortIt:er<itor1=keyset.iterator()j,1.hasHext();)Objectn=i,next(J-if(h,equals(returnir*;)if(c-nullSl&b!null)For(Iteralzorx-keyseTiteraTorC)_;i.Ihasllex"t();Objectiii-i.next();Itetnir-(Item)
34、n;if(it.getA().equals(ai)&笈in.gei:B().equals(b)returnn;elseif(c!=null)for(工七正Lnti=keyset-ItertorO;五】自三乂t():)objectri=i.(>TtIt=<Ttetn)”;if(it.gc*tAf).«c|ui1s(J>&&it.getB().equjl£(b>&&itg*5t(>.qtijls<c>>returnn;卜)returnnull;6、判斷在健集keyset里是否已經(jīng)包含了健值為
35、a,b,c的健publicbooleancontdin(SetkeysetStringa,Stringb,Stringc)if(c=-null)for(Iteratori=keyset.iterator(;i.hasfJext();)Itetnit=(Item)i.*1ext();if(it.getA(),equals(a)&<.getB().equals(b)returntrue;elseif(c!=null)for(Iteratori=keyset.itertor();i.hasnext();)Itemit=(Item)i.next();if(it.getA().equ
36、als(a)&&it.getB().eqiidls(b)&git,get<().equdls(c)returntrue;returnfalse;7、創(chuàng)建關聯(lián)規(guī)則,返回關聯(lián)規(guī)則表publicStringcreteTrn5P.ule()Stringresult=Stringstr=L.getTextf);doubled-Double,vcriaeOf(str);Sets=tJ.keySet();intsubean=0;for(Iteratori=s.itertart)ji+hasiiext();)工ternnext-(Iteni)i+next();Stringa=nx
37、t.getA();Stringb=next.getB);Stringc=nexthgetC();StringfL-newStringa,b.c;ArryListsubSet=this.gtSubSet(L);for(Iteratorit=subSet.iterator();it.hasHext();)StringsetII=(String)it.next();if(sexh0!-null&&setNl-null)Objectkey=this.findKeyhtl.keyset(),setU0,setUl,setH2);subton=Integer.parseJr;T(Strin
38、g)ht1.get(key);elseif(setN0!-null&&setril1-null&&sM2=null)Objectkey=this.findKey(ht2.keySet()jsetIIGjsetN1>setH2);suibCon-Integer.parseint(String)ht2.get(key)>if(setJJG=null&&eettlfl!=null&&SetN2'=null)Objectkey=this.-FincKey(t.keySetO,setUQ,setU1>setll2&
39、gt;subCon=Integer(String).get(key);doubleLtoii=Bauble.pcjrseOLnjbie(String)t3.get(next);if(LCon/mubSiti)-d>=0!=null)StringNthis,geti>ius(oLLect(setiiL);if(setHQnull)setM0="1if(setl|1=unull)-1'"iif(setH2=null)setH2="";川result=result+setflfej+setll1十setll2+r,=->"+
40、il0+fi1+內(nèi)2+"s叩part(L)與support(d)的。值:"+L(on/subConT"n"returnresult;8、求a與L的差集,并返回差集publicStringgetflinusCollectStringfa*StringL)StringLL=L.clone();for(inti=G;i<L.length;i+)for(intj=0;j<a.leiigrli;j+)if(Li,equal5(aj)LLi=break;returnLL;9、獲取setN的子集。假設setN=a,b,c,則生成的子集為XXXpublicArrayListgetSubSet(Stringsetll)intleugth=setF1.1ength;inti;inta=1<<length;StringsubSet=newStringl<<lengthsetN.length;for(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版高考數(shù)學一輪復習練案70理+63文第十章概率文古典概型練習含解析新人教版
- 2024年八年級歷史上冊人民解放戰(zhàn)爭的勝利知識點同步練習含解析
- 2024-2025學年高中政治第四單元當代國際社會第十課第三框我國外交政策的基本目標和宗旨課時作業(yè)含解析新人教版必修2
- 2024-2025學年高中歷史專題七近代西方民主政治的確立與發(fā)展二美國1787年憲法學案含解析人民版必修1
- 農(nóng)村道路改善項目合同
- 行紀合同范本指南模版
- 電商運營專員合同樣本
- 醫(yī)藥招投標合同風險防范
- 石油化工鋼結構施工勞務合同
- 臨時游泳池活動房租賃合同
- 整形美容外科科室規(guī)章制度范本
- 絕緣線路施工方案
- 隧洞施工勞務分包合同
- 《大學生性教育》
- 20道游標卡尺題目及答案
- 22G101系列圖集常用點全解讀
- 食品行業(yè)安全風險分級管控清單(臺賬)
- 決策心理學第三講課件
- 清潔驗證新方法-toc法
- 小學語文古詩詞教學探究的開題報告
- 動靜脈內(nèi)瘺栓塞的原因分析及干預措施課件
評論
0/150
提交評論