基于位組合的關聯規則生成方法
【專利摘要】基于位組合的關聯規則生成方法,涉及一種關聯規則的生成方法,本發明為解決現有技術采用遞歸方式生成關聯規則,需要大量的內存空間,耗費棧空間,不利于對該算法進行GPU技術并行的問題。本發明采用二進制位組合基于GPU生成關聯規則,具體過程為:頻繁項目集合長度為n,關聯規則形式為前件和后件不能為空,二進制數從起;用二進制數生成關聯規則,1和0分別代表出現在后件和前件中的項;判斷生成的關聯規則是否滿足置信度,如果滿足將二進制數加1,然后生成關聯規則,如果不滿足則將二進制數加2m;然后判斷二進制數是否為如果否用二進制數生成關聯規則,如果是則全部關聯規則生成完畢。本發明用于關聯規則挖掘算法。
【專利說明】
基于位組合的關聯規則生成方法
技術領域
[0001 ]本發明設及一種關聯規則的生成方法。
【背景技術】
[0002] 1993年Agrawal等人提出使用關聯規則挖掘算法用來解決購物籃問題,關聯規則 分析的過程分為兩個部分:頻繁項目集挖掘和生成關聯規則。在購物籃問題中,每個商品被 稱作項目,超市中的所有n個商品構成項目集I = Ui,i2,…,U,1的一個子集X=Ui, i2,…, ik}被稱為k項集,并且有義G J。在顧客的一次交易中購買的所有商品構成一條事務T,所 有交易構成事務集合,對于某個集合X在某條事務Tl中出現,則稱該事務覆蓋X,有 Q 7;,X在所有事務的集合D中出現的次數被稱作支持數support(X)。
[0003] 使用頻繁項目集挖掘算法得到頻繁項目集后,需要對頻繁項目中的各項進行組合 生成關聯規則,形式天^ ^
},A,B,C為項目,{A,B}為前件,{C}為后件,當規則的 置信度
滿足用戶定義的闊值時,說明該規則是有意義的。根據頻繁項 目集挖掘技術應用場景的不同,例如應用在基因數據上,很可能產生長模式頻繁項目集,如 果不能采用有效的算法,生成關聯規則的過程既耗費時間也耗費空間。
[0004] 現有技術采用遞歸的方式生成關聯規則。假設頻繁項目集中某條頻繁項目的長度 為m,現有技術采用遞歸的方式生成所有后件項目個數為1~m-1的關聯規則,當生成后件包 含集合中第i項的關聯規則時,首先生成僅W該項為后件的規則,隨后生成該項與其后面項 組合成后件的關聯規則,該過程按深度遞歸,直到生成Wi項到m項所有項為后件的規則為 止,接著進行W第i-1項為后件組合的所有關聯規則。
【發明內容】
[0005] 本發明目的是為了解決現有技術采用遞歸方式生成關聯規則,需要大量的內存空 間,耗費找空間,不利于對該算法進行GPU技術并行的問題,提供了一種基于位組合的關聯 規則生成方法。
[0006] 本發明所述基于位組合的關聯規則生成方法,采用二進制位組合基于GPU生成關 聯規則,具體過程為:
[0007] 步驟1、對任意頻繁項目集合FP生成關聯規則,關聯規則的形式為
,前件和后件不能為空,頻繁項目集合FP的長度為n,用n位的二進制數S 00'、.01 表示集合FP,二進制數S從起; n
[000引步驟2、用二進制數S生成一條關聯規則,1代表出現在后件中的項,0代表出現在前 件中的項;
[0009] 步驟3、判斷生成的關聯規則是否滿足置信度,如果是則執行步驟4,如果否則執行 步驟5;
[0010] 步驟4、將生成步驟3關聯規則的二進制數加1,獲得二進制數Q,用二進制數Q生成 一條關聯規則,然后執行步驟6;
[0011] 步驟5、將生成步驟3關聯規則的二進制數加2",獲得二進制數P,然后執行步驟6, 其中m表示二進制數P末尾0的個數;
[001^ 步驟6、判斷二進制數Q或P是否為11::19 '如果否則執行步驟7,如果是則執行步 n 驟8;
[0013] 步驟7、用二進制數Q或P生成一條關聯規則,然后返回執行步驟3;
[0014] 步驟8、全部關聯規則生成完畢。
[0015] 步驟3所述置信度的獲得方法為:'
,其中support!:前件} 表示{前件}的支持數,SUPPOd {前件+后件}表示{前件+后件}的支持數。
[0016] 本發明的優點:本發明采用二進制位組合的形式實現關聯規則生成算法,并且采 用了跳躍策略,避免了生成不必要的關聯規則,解決了內存空間消耗的問題,并且可W進行 GPU技術的并行。關聯規則生成遞歸算法在進行GPU并行時,由于GPU找空間的限制,GPU并行 能夠處理的頻繁項集長度極為有限,經過本發明處理后的關聯聯規則算法可W進行GPU技 術的并行,突破了遞歸算法存在的找空間的限制,可W對長模式的頻繁項目集生成關聯規 則。
【附圖說明】
[0017] 圖1是本發明所述基于位組合的關聯規則生成方法的結構示意圖;
[0018] 圖2是集合。?={4,8,(:,0,6^}采用二進制位組合生成關聯規則的示意圖;
[0019] 圖3是集合。?={4,8,(:,0,6,。}采用二進制位組合生成關聯規則時不滿足置信度 的二進制數跳躍策略的示意圖。
【具體實施方式】
【具體實施方式】 [0020] 一:下面結合圖1說明本實施方式,本實施方式所述基于位組合的關 聯規則生成方法,采用二進制位組合基于GPU生成關聯規則,具體過程為:
[0021] 步驟1、對任意頻繁項目集合FP生成關聯規則,關聯規則的形式為
前件和后件不能為空,頻繁項目集合FP的長度為n,用n位的二進制數S 表示集合FP,二進制數S從?-9::-'--9-1起; 巧
[0022] 步驟2、用二進制數S生成一條關聯規則,1代表出現在后件中的項,0代表出現在前 件中的項;
[0023] 步驟3、判斷生成的關聯規則是否滿足置信度,如果是則執行步驟4,如果否則執行 步驟5;
[0024] 步驟4、將生成步驟3關聯規則的二進制數加 I,獲得二進制數Q,用二進制數Q生成 一條關聯規則,然后執行步驟6;
[0025] 步驟5、將生成步驟3關聯規則的二進制數加2",獲得二進制數P,然后執行步驟6, 其中m表示二進制數P末尾0的個數;
[00%]步驟6、判斷二進制數Q或P是否為LL:i5'如果否則執行步驟7,如果是則執行步 巧 驟8;
[0027] 步驟7、用二進制數Q或P生成一條關聯規則,然后返回執行步驟3;
[0028] 步驟8、全部關聯規則生成完畢。
[0029] 【具體實施方式】二:本實施方式對實施方式一作進一步說明,步驟3所述置信度的獲 得方法為
.,其中support {前件}表示{前件}的支持數,suppo;rt {前件+后件}表示{前件+后件}的支持數。
[0030] 本發明中,假設對頻繁項目集合。口={4,8,(:,0,6,。}生成關聯規則,關聯規則的形 式為{化件}二{后件},轉換為組合問題,后件出現集合FP中任一項的情況為G種, 后件出現集合FP中任兩項的情況為Cf種,W此類推,后件出現集合FP中任五項的情況為 CgS種,則可生成不同關聯規則的總數為G +G +q>G +Q,根據公式 C: + C,|,十Cf +…+ C^'二2",集合FP可生成的關聯規則總數為62個。因此,對于任意頻 繁項目集FP,長度為n,可生成全部關聯規則的數目為:個。
[0031] 結合圖2說明采用二進制位形式生成關聯規則的過程中,用1代表出現在后件中的 項,用0代表出現在規則前件中的項。依然W集合。口={4,8,(:,0,6,。}為例生成關聯規則,用 6位的二進制數表示集合FP,二進制數從OOOOOl起,0和1分別對應集合FP中的各項,即
OOOOOl表3 j,每生成一條關聯規則,二進制數加1,000010表 示關聯規見 3011表示關聯規則
,依 次類推,直至111110表示關聯規則
,全部關聯規則生成完畢。圖2 中,初始狀態下六位的二進制數各位均為0,隨著二進制數不斷加1,產生關聯規則,當生成 的二進制數為OOlOlO時,其中1代表后件的元素,對應項為C和E,0代表前件中的元素,對應 項分別為A,B,D,F,因此該二進制數對應的關聯規則為?
[0032] 通過對關聯規則的特性分析,能夠避免生成不必要的關聯規則。根據關聯規則的 特性,如果某一規則是不滿A甲置信原的,那么Pi巧規剛后件的所有超集生成的規則一定是 不滿足置信度的。例如,規則
的支持數3啡9〇^{4,8,(:,0,6,。}為 8,其前件{A,B,D,F}的支持數support{A,B,D,F}為10,那么該規則的置信度為0.8,當用戶 設定最小置信度為0.卵寸,該規則不滿足置信度,因此不必生成該規則,因為任意集合{A,B, D,F}的子集支持數一定大于集合{A,B,D,F}本身,因此W規見
后 件{C,E}的任意超集構成的關聯規則也一定是不滿足置信度的,為了提高生成關聯規則方 法的效率,可W采用W下方法避免生成不必要的規則:如果某一二進制數P對應的關聯規則 是不滿足條件的,該二進制數末尾O的數目為m,那么從P起直到二進制數P+2m,運之間二進 制數對應的關聯規則都是不滿足條件的。因此在生成關聯規則的時候,可W直接跳過2"-1 次關聯規則生成過程,從而提高關聯規則生成的效率,接下來通過一個實例進行說明。如圖 3所示。假設規則{
^ 1是不滿足置信度的,那么根據關聯規則的特性, 規則j
也是不滿足置信度的。規則
對應圖3中的二進制數為000100,不 滿足置信度,m=2,運之間存在3個不滿足置信度的規則000101,000110,000111,即 圖3中虛框中的數字和字母進行變動,正對應了規則
,
,因此可W直接跳過2"-1個關聯規 則的生成過程,進行000100+4規則的判斷,即下一步直接判斷001000。
[0033] 關聯規則生成遞歸算法在進行GPU并行時,由于GPU找空間的限制,GPU并行能夠處 理的頻繁項集長度極為有限,經過本發明處理后的關聯聯規則算法可W進行GPU技術的并 行,突破了遞歸算法存在的找空間的限制,可W對長模式的頻繁項目集生成關聯規則。例如 在Iinux環境下,硬件環境為Intel(R) Xeon(R) CPU E5-2670 v2 @ 2.50細Z,物理CPU個數 為2,每個CPU上有10個物理core,內存大小為64GB,顯示適配器的型號為NVIDIA Qua化O 1(5000,雙顯卡,每塊顯卡的顯存為46,(:師4環境為(:師4 6.5,計算能力3.0。運樣的環境下, 基于GPU的遞歸關聯規則生成算法僅能處理最大長度為5的頻繁項集,因而無法達到實用效 果。而采用本發明則在理論上可W對任意長度的頻繁項集進行處理,因而其GPU并行執行是 可行的,并且可W進一步實用化。
[0034] 在大豆基因數據的處理過程中,經過數據挖掘后一般不存在只生成長度小于5的 頻繁項集,所W在實際應用中采用原有的遞歸算法無法采用GPU并行方式,采用本發明提出 的二進制位組合能夠基于GPU生成關聯規則,實現對大豆基因數據的處理。
[0035] 在購物籃處理問題過程中,挖掘后的結果一般不存在客戶購物數量不超過5件商 品,因此,原有的遞歸算法無法采用GPU并行處理。本發明提出的基于位組合的生成方法能 夠采用GPU并行技術實現,實現對購物籃數據的處理。
【主權項】
1. 基于位組合的關聯規則生成方法,其特征在于,采用二進制位組合基于GPU生成關聯 規則,具體過程為:步驟1、對任意頻繁項目集合FP生成關聯規則,關聯規則的形式: 前件和后件不能為空,頻繁項目集合FP的長度為n,用η位的二進制數S表示集合FP,二進制 數S,丨; 步驟2、用二進制數S生成一條關聯規則,1代表出現在后件中的項,O代表出現在前件中 的項; 步驟3、判斷生成的關聯規則是否滿足置信度,如果是則執行步驟4,如果否則執行步驟 5; 步驟4、將生成步驟3關聯規則的二進制數加1,獲得二進制數Q,用二進制數Q生成一條 關聯規則,然后執行步驟6; 步驟5、將生成步驟3關聯規則的二進制數加2'獲得二進制數Ρ,然后執行步驟6,其中m 表示二進制數P末尾〇的個數; 步驟6、判斷二進制數Q或P是否為'如果否則執行步驟7,如果是則執行步驟8; η 步驟7、用二進制數Q或P生成一條關聯規則,然后返回執行步驟3; 步驟8、全部關聯規則生成完畢。2. 根據權利要求1所述的基于位組合的關聯規則生成方法,其特征在于,步驟3所述置 信度的獲得方法,,其中support {前件}表示{前件}的支持數, suppor t {前件+后件}表示{前件+后件}的支持數。
【文檔編號】G06Q30/06GK106022886SQ201610356507
【公開日】2016年10月12日
【申請日】2016年5月25日
【發明人】陸軍, 鄭金亮, 王楠, 徐紳寶, 李君 , 井睿勍, 萬康, 張瑋, 國家興
【申請人】黑龍江大學