專利名稱:一種關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的保護(hù)方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)挖掘中的隱私數(shù)據(jù)保護(hù)技術(shù),具體涉及一種關(guān)聯(lián)規(guī)則挖掘中隱私 數(shù)據(jù)的保護(hù)方法。
背景技術(shù):
隨著網(wǎng)絡(luò)、數(shù)據(jù)庫存儲以及高性能處理器等技術(shù)的飛速發(fā)展,數(shù)據(jù)庫中存儲的數(shù) 據(jù)呈爆炸式增長,導(dǎo)致出現(xiàn)了”數(shù)據(jù)爆炸,知識貧乏”的現(xiàn)象。另外,20世紀(jì)下半葉發(fā)展起來 的專家系統(tǒng),也遇到了 “知識獲取”這一瓶頸問題。在此背景下,強(qiáng)有力數(shù)據(jù)分析工具的需 求推動了數(shù)據(jù)挖掘技術(shù)的產(chǎn)生。數(shù)據(jù)挖掘技術(shù)可以幫助人們從大量的數(shù)據(jù)中智能地、自動 地抽取隱含的、事先未知的,具有潛在價(jià)值的知識或信息,它不僅被許多研究人員看作是數(shù) 據(jù)庫系統(tǒng)和機(jī)器學(xué)習(xí)等方面的一個(gè)重要研究課題,而且被許多產(chǎn)業(yè)界人士看作是一個(gè)能帶 來巨大回報(bào)的重要領(lǐng)域,從數(shù)據(jù)庫中發(fā)現(xiàn)出來的規(guī)則和知識可以用在信息管理、查詢響應(yīng)、 決策支持、過程控制等諸多方面。任何事情都有其兩面性,數(shù)據(jù)挖掘也不例外,在數(shù)據(jù)挖掘產(chǎn)生巨大財(cái)富的同時(shí),隨 之產(chǎn)生的就是隱私泄露的問題,據(jù)一份Web用戶的調(diào)查表明,17%的被調(diào)查者表示會拒絕 透露涉及到自己隱私的任何信息,27%的被調(diào)查者表示會經(jīng)認(rèn)真考慮后,決定是否給予涉 及到自己隱私的信息,而56%的被調(diào)查者表示,如果數(shù)據(jù)收集機(jī)構(gòu)或數(shù)據(jù)使用者可以確保 個(gè)人隱私信息得到有效保護(hù),他們是愿意提供涉及自己隱私的信息。從這些調(diào)查材料可以 看出,如果無法保證被調(diào)查者的隱私,所收集到的數(shù)據(jù)往往和真實(shí)的數(shù)據(jù)之間存在很大的 誤差,甚至無法完成數(shù)據(jù)收集工作,如果在這些錯(cuò)誤數(shù)據(jù)上進(jìn)行數(shù)據(jù)挖掘,那么得到的結(jié)果 必然是不準(zhǔn)確,甚至是完全錯(cuò)誤的,數(shù)據(jù)挖掘?qū)⒚媾R著“巧婦難為無米之炊”的尷尬局面,最 好的數(shù)據(jù)挖掘方法也無濟(jì)于事。然而,可喜的是人們并沒有因噎廢食,在數(shù)據(jù)挖掘能夠提供 的益處前面,只要數(shù)據(jù)采集機(jī)構(gòu)或使用者采取有效措施來保證個(gè)人的隱私,大部分?jǐn)?shù)據(jù)擁 有著還是愿意提供自己的隱私數(shù)據(jù),隱私保護(hù)程度的高低將直接關(guān)系到是否能夠獲得足夠 真實(shí)的信息,從而影響到挖掘結(jié)果的可靠有用性。因而,如何在包含關(guān)聯(lián)規(guī)則挖掘在內(nèi)的數(shù) 據(jù)挖掘過程中解決好隱私保護(hù)問題已經(jīng)成為數(shù)據(jù)挖掘領(lǐng)域中的一個(gè)非常關(guān)鍵的問題。對于關(guān)聯(lián)規(guī)則挖掘中的隱私數(shù)據(jù)保護(hù)問題,目前常用的方法是采取數(shù)據(jù)干擾技 術(shù),即通過數(shù)據(jù)變換或在數(shù)據(jù)中增加噪聲等方法來對原始數(shù)據(jù)進(jìn)行干擾,關(guān)聯(lián)規(guī)則挖掘是 在干擾后的數(shù)據(jù)集上進(jìn)行的,因而,該種方法很有可能影響到挖掘結(jié)果的可用和有效性,即 挖掘出一些原始關(guān)系數(shù)據(jù)庫中本來不存在的且有誤導(dǎo)作用的規(guī)則,丟失一些原始關(guān)系數(shù)據(jù) 庫中非常有用的規(guī)則,從而失取了數(shù)據(jù)挖掘本身的意義。其實(shí),隱私數(shù)據(jù)是相對的,是與載 體相關(guān)聯(lián)的,更換了或脫離了載體,數(shù)據(jù)就有可能失去其物理意義或隱私性,因此,我們可 以通過修改記錄相應(yīng)的項(xiàng)目來實(shí)現(xiàn)隱私數(shù)據(jù)的保護(hù)。本發(fā)明給出了一種關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的保護(hù)方法,該方法既可以實(shí)現(xiàn)隱私 數(shù)據(jù)的有效保護(hù),又能確保關(guān)聯(lián)規(guī)則挖掘結(jié)果的有效可行性。
發(fā)明內(nèi)容
本發(fā)明的目的在于針對現(xiàn)有關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)保護(hù)方法可能會影響到關(guān) 聯(lián)規(guī)則挖掘結(jié)果的可用性和有效性等問題,提出了一種新穎的關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的 保護(hù)方法,該方法既可實(shí)現(xiàn)隱私數(shù)據(jù)的保護(hù),同時(shí)又不會產(chǎn)生過多的負(fù)面影響。本發(fā)明所說的關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的保護(hù)方法,包括以下步驟(1)隱私數(shù)據(jù)項(xiàng)的確定由數(shù)據(jù)擁有者確定關(guān)系數(shù)據(jù)庫中需要處理的隱私數(shù)據(jù)項(xiàng)。假設(shè)需要保護(hù)的數(shù)據(jù)項(xiàng) 為、、k2........Am,本發(fā)明僅考慮m為1的情況,記為A。其他情況可以類推。(2)修改前的初始化工作設(shè)原關(guān)系數(shù)據(jù)庫為DB,最小修改率閾值為minXP,minXP表示修改記錄數(shù)占總記錄 數(shù)的百分比,如minXP = 50%,表示原關(guān)系數(shù)據(jù)庫中有一半的記錄在隱私數(shù)據(jù)項(xiàng)上的值發(fā) 生了變化,公開的是修改后的關(guān)系數(shù)據(jù)庫,關(guān)聯(lián)規(guī)則挖掘是在修改后的關(guān)系數(shù)據(jù)庫上進(jìn)行 的。修改前的初始化工作包括以下步驟①設(shè)置記錄修改數(shù)變量JXC,其初始值為minXPX DB |, DB為關(guān)系數(shù)據(jù)庫DB中 的記錄數(shù);②給關(guān)系數(shù)據(jù)庫中的每條記錄i設(shè)置一個(gè)修改標(biāo)志flag[i],其值為0或1,0表示 該記錄未修改過,1表示修改過;③掃描原關(guān)系數(shù)據(jù)庫DB —次,求出其所有的頻繁1-項(xiàng)目集,刪除關(guān)系數(shù)據(jù)庫DB 中非頻繁1-項(xiàng)目所對應(yīng)的數(shù)據(jù)項(xiàng);④根據(jù)關(guān)系數(shù)據(jù)庫DB中A所對應(yīng)的值,將關(guān)系數(shù)據(jù)庫DB分成兩個(gè)子數(shù)據(jù)庫DB1 和DB2,他們在字段A上的值分別均為1和0。(3)隱私數(shù)據(jù)項(xiàng)的修改隱私數(shù)據(jù)項(xiàng)的修改方法為①對于子數(shù)據(jù)庫DB1的每條未修改記錄禮,如果子數(shù)據(jù)庫DB2中存在與禮完全相 同的未修改記錄R2 (不包括字段A的值),則交換原關(guān)系數(shù)據(jù)庫DB中對應(yīng)于禮和R2記錄的 數(shù)據(jù)項(xiàng)A,其他不變。對于每對交換的記錄進(jìn)一步包括下列步驟i 修改變量 JXC,JXC = JXC-2 ;ii修改此兩記錄的修改標(biāo)志,對應(yīng)的修改標(biāo)志置為1 ;iii將禮、R2分別加入子數(shù)據(jù)庫DB2和DB1中,即交換它們的位置。②如果JXC彡0,則轉(zhuǎn)⑧。③對于DB1中的任何記錄禮,如該記錄所支持的頻繁項(xiàng)目集的支持?jǐn)?shù)均大于最小 支持?jǐn)?shù)閾值,則執(zhí)行i 修改變量 JXC,JXC = JXC-1 ;ii將原DB和DB1中對應(yīng)于隊(duì)的數(shù)據(jù)項(xiàng)A的值置為1,的修改標(biāo)志置為1 ;iii將記錄從DB1中移到DB2中;iv如果JXC彡0,則轉(zhuǎn)⑧。④將MFISA1分成兩部分MjnM2,Mi中各元素的支持?jǐn)?shù)等于最小支持?jǐn)?shù)閾值,M2中 各元素的支持?jǐn)?shù)大于最小支持?jǐn)?shù)閾值。其中MFISA1為子數(shù)據(jù)庫DB1中最大頻繁項(xiàng)目集的 集合,此時(shí)的最小支持?jǐn)?shù)閾值為minsup X | DB | / | DB11。
5
⑤根據(jù)Mi和M2將DB1中未修改記錄分成三部分DBlp DB12、DB13,其中中各 記錄支持禮中的某最大頻繁項(xiàng)目集,但均不支持禮中的任何最大頻繁項(xiàng)目集。DB12中各記 錄同時(shí)支持禮中的某最大頻繁項(xiàng)目集和M2中的某最大頻繁項(xiàng)目集。DB13中各記錄支持M2 中的某最大頻繁項(xiàng)目集,但均不支持禮中的任何最大頻繁項(xiàng)目集。如果DB13為空集,轉(zhuǎn)⑥ 步,否則執(zhí)行i將DB13中的記錄按其支持M2中元素的個(gè)數(shù)升序排列;ii對于DB13中的第一條記錄禮,將原DB和DB1中對應(yīng)于隊(duì)的數(shù)據(jù)項(xiàng)A的值置為 1,R的修改標(biāo)志置為1 ;iii將記錄從DB1中移到DB2中;iv 修改變量 JXC 值,JXC = JXC-1 ;v如果JXC彡0,則轉(zhuǎn)⑧;vi如果DB13為非空,轉(zhuǎn)(ii)。⑥重新統(tǒng)計(jì)數(shù)據(jù)庫DB12中的最大頻繁項(xiàng)目集,如果DB12為空集,轉(zhuǎn)⑦步,否則執(zhí) 行i將DB12中的記錄按其支持Mi中元素的個(gè)數(shù)升序排列;ii對于DB12中的第一條記錄禮,將原DB和DB1中對應(yīng)于隊(duì)的數(shù)據(jù)項(xiàng)A的值置為 1,R的修改標(biāo)志置為1 ;iii將記錄從DB1中移到DB2中;iv 修改變量 JXC 值,JXC = JXC-1 ;v如果JXC彡0,則轉(zhuǎn)⑧;vi如果DB12為非空,轉(zhuǎn)(ii)步。⑦重新統(tǒng)計(jì)數(shù)據(jù)庫DBh中的最大頻繁項(xiàng)目集,并按其支持禮中最大頻繁項(xiàng)目集的 個(gè)數(shù)升序排列,執(zhí)行i對于DB、中的第一條記錄札,將原DB和DB1中對應(yīng)于隊(duì)的數(shù)據(jù)項(xiàng)A的值置為 1,R的修改標(biāo)志置為1 ;ii將記錄從DB1中移到DB2中;iii 修改變量 JXC 值,JXC = JXC-1 ;iv如果JXC彡0,則轉(zhuǎn)⑧;否則轉(zhuǎn)⑴;⑧結(jié)束,整理結(jié)果數(shù)據(jù)庫,并刪除修改標(biāo)志列;(4)、數(shù)據(jù)的發(fā)布將修改后的關(guān)系數(shù)據(jù)庫發(fā)送給關(guān)聯(lián)規(guī)則挖掘工具或數(shù)據(jù)使用者。本發(fā)明中頻繁項(xiàng)目集的挖掘分為兩小步候選頻繁項(xiàng)目集的生成、候選頻繁項(xiàng)目 集支持?jǐn)?shù)的計(jì)算。本發(fā)明中關(guān)聯(lián)規(guī)則的發(fā)現(xiàn)是根據(jù)頻繁項(xiàng)目集生成關(guān)聯(lián)規(guī)則。本發(fā)明主要有以下兩個(gè)方面的有益效果(1)在隱私數(shù)據(jù)的保護(hù)方面本發(fā)明提出了一種新穎的隱私數(shù)據(jù)保護(hù)方法,一方面,本發(fā)明所采用方法可以有 效地保護(hù)隱私數(shù)據(jù),公開的是經(jīng)過處理后的數(shù)據(jù),根據(jù)所公開的數(shù)據(jù)是很難或無法猜測出 真實(shí)數(shù)據(jù);另一方面,本發(fā)明中的關(guān)聯(lián)挖掘方法可以確保不包含隱私數(shù)據(jù)項(xiàng)在內(nèi)的關(guān)聯(lián)規(guī)則全部有效,包含隱私數(shù)據(jù)項(xiàng)在內(nèi)的絕大部分關(guān)聯(lián)規(guī)則仍然有效,且不會產(chǎn)生幽靈規(guī)則,克 服了現(xiàn)有隱私數(shù)據(jù)保護(hù)方法所帶來的兩個(gè)缺陷,一是可能挖掘出一些原始關(guān)系數(shù)據(jù)庫中本 來不存在的且有誤導(dǎo)作用的關(guān)聯(lián)規(guī)則,二是丟失一些原始關(guān)系數(shù)據(jù)庫中存在的且非常有用 的關(guān)聯(lián)規(guī)則。(2)在修改記錄的選擇方面本發(fā)明首先考慮了那些不會影響挖掘結(jié)果的記錄對在隱私數(shù)據(jù)項(xiàng)上進(jìn)行交換,其 次提出了一種基于最大頻繁項(xiàng)目的修改記錄選擇方法,盡可能選擇支持有較大支持?jǐn)?shù)的最 大頻繁項(xiàng)目集的記錄,最大限度地保持原有頻繁項(xiàng)目的頻繁性,降低了選擇修改記錄的執(zhí) 行難度,進(jìn)一步提高算法的執(zhí)行效率。
圖1是本發(fā)明實(shí)施例的流程2是本發(fā)明實(shí)施例中的隱私數(shù)據(jù)項(xiàng)修改流程圖
具體實(shí)施例方式下面以表1所示的關(guān)系數(shù)據(jù)庫DB為例,結(jié)合圖1、圖2的流程圖簡單地說明本發(fā)明 的執(zhí)行過程。表1共設(shè)置了五個(gè)字段,分別記為A、B、C、D和E,假設(shè)本實(shí)例所要保護(hù)的數(shù)據(jù) 項(xiàng)為E,最小支持度閾值為25%或最小支持?jǐn)?shù)閾值為2,修改率XP為50%,即至少有四條記 錄的E值需被修改。
表1實(shí)例數(shù)據(jù)庫DB 具體執(zhí)行步驟如下(1)給記錄修改數(shù)變量JXC賦初始,JXC = XPX DB = 4,DB為實(shí)例數(shù)據(jù)庫DB 中的記錄數(shù)。(2)設(shè)置修改標(biāo)志,flag[i] = 0,i = 1,2,3,4,5,6,7,8,即表 1 的第一列。(3)掃描實(shí)例數(shù)據(jù)庫DB—次,得到數(shù)據(jù)庫DB中的頻繁1_項(xiàng)目集{{A},{B},{C},{D},{E}}。因本實(shí)例所要保護(hù)的數(shù)據(jù)項(xiàng)E為頻繁項(xiàng)目,繼續(xù)執(zhí)行下列各步。如保護(hù)的數(shù)據(jù) 項(xiàng)為非頻繁項(xiàng)目,則結(jié)束,并隱藏該字段的所有值。 (4)將實(shí)例數(shù)據(jù)庫DB分成兩個(gè)子數(shù)據(jù)庫DB1和DB2,他們在字段E上的值分別均 為1和0,具體結(jié)果如表2、3所示。
表3子數(shù)據(jù)庫DB2 (4)由于子數(shù)據(jù)庫DB1和子數(shù)據(jù)庫DB2中含有相同內(nèi)容的記錄(不包括字段E的 值),即記錄01和記錄05,將原實(shí)例數(shù)據(jù)庫DB中Tid為0的記錄所對應(yīng)的E值置為0,Tid 為5的記錄所對應(yīng)的E值置為1。(5)修改記錄01和05的修改標(biāo)志,并將他們分別加入DB2和DB1中,修改后的數(shù) 據(jù)庫如表4、5、6所示。(6)修改變量JXC值,JXC = JXC-2 = 2??梢宰C明或說明表1和表4所示的關(guān)系 數(shù)據(jù)庫所包含的頻繁項(xiàng)目集是完全相同的。
8
(7)由于JXC的最新值為2,因而還需修改兩條記錄。(8)由于08號記錄所支持頻繁項(xiàng)目集的支持?jǐn)?shù)均大于最小支持?jǐn)?shù)閾值,修改08號 記錄的E值,置為1,并將其放入DB2中。修改變量JXC值及08號記錄的修改標(biāo)志,JXC = JXC-1 = 2-1 = 1。修改后的數(shù)據(jù)庫如表7、8所示。
(9)由于JXC的最新值為1,因而還需修改一條記錄。(10)求出修改后的子數(shù)據(jù)庫DB1中的最大頻繁項(xiàng)目集及其支持?jǐn)?shù),分別為ABE:2、 BDE:2、BCE:3,并將其分為兩部分,一是支持?jǐn)?shù)等于最小支持?jǐn)?shù)閾值的最大頻繁項(xiàng)目集虬, 即Mi = {ABE: 2, BDE:2},二是支持?jǐn)?shù)大于最小支持?jǐn)?shù)閾值的最大頻繁項(xiàng)目集M2,即M2 = {BCE:3}。(ll)DBl中修改標(biāo)志flag為0的記錄中,04號記錄支持最大頻繁項(xiàng)目集ABE、BDE, 06號記錄支持最大頻繁項(xiàng)目集BDE和BCE,07號記錄支持最大頻繁項(xiàng)目集BCE。即僅支持 Mi的記錄有04號記錄,僅支持M2的記錄有07號記錄,兩者均支持的有06號記錄。(12)在僅支持M2的記錄中選擇支持M2中最大頻繁項(xiàng)目集數(shù)最小的記錄,即本案 例的第07號記錄,將該記錄的E值改為0,并將其移到DB2中,修改該記錄的修改標(biāo)志以及 修改變量JXC值,JXC = JXC-1 = 0。結(jié)果如表9、10所示。
(13)由于JXC的值為0,結(jié)束隱私數(shù)據(jù)項(xiàng)的修改。結(jié)果關(guān)系數(shù)據(jù)庫如表11所示。
表11中有4條記錄的E值發(fā)生了變化,可以發(fā)現(xiàn)表1和11所示的關(guān)系數(shù)據(jù)庫所 包含的頻繁項(xiàng)目集是完全相同的。在實(shí)際應(yīng)用時(shí),最小修改率閾值minXP以及具體的修改 記錄均是保密的,即數(shù)據(jù)使用者并不知道結(jié)果關(guān)系數(shù)據(jù)庫中多少記錄在隱私數(shù)據(jù)項(xiàng)上的值 發(fā)生了變化,更不可能知道那些記錄發(fā)生了改變,從而有效保護(hù)了隱私數(shù)據(jù)項(xiàng)的值,實(shí)現(xiàn)了 關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的保護(hù)。
權(quán)利要求
一種關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的保護(hù)方法,包括以下步驟(1)隱私數(shù)據(jù)項(xiàng)的確定由數(shù)據(jù)擁有者確定關(guān)系數(shù)據(jù)庫中需要處理的隱私數(shù)據(jù)項(xiàng),記為A;(2)修改前的初始化工作原關(guān)系數(shù)據(jù)庫為DB,最小修改率閾值為minXP,minXP表示修改記錄數(shù)占總記錄數(shù)的百分比,修改前的初始化工作包括以下步驟①設(shè)置記錄修改數(shù)變量JXC,其初始值為minXP×|DB|,|DB|為關(guān)系數(shù)據(jù)庫DB中的記錄數(shù);②給關(guān)系數(shù)據(jù)庫中的每條記錄i設(shè)置一個(gè)修改標(biāo)志flag[i],其值為0或1,0表示該記錄未修改過,1表示修改過;③掃描原關(guān)系數(shù)據(jù)庫DB一次,求出其所有的頻繁1-項(xiàng)目集,刪除關(guān)系數(shù)據(jù)庫DB中非頻繁1-項(xiàng)目所對應(yīng)的數(shù)據(jù)項(xiàng);④根據(jù)關(guān)系數(shù)據(jù)庫DB中A所對應(yīng)的值,將關(guān)系數(shù)據(jù)庫DB分成兩個(gè)子數(shù)據(jù)庫DB1和DB2,他們在字段A上的值分別均為1和0;(3)隱私數(shù)據(jù)項(xiàng)的修改①對于子數(shù)據(jù)庫DB1的每條未修改記錄R1,除字段A的值外,如果子數(shù)據(jù)庫DB2中存在與R1完全相同的未修改記錄R2,則交換原關(guān)系數(shù)據(jù)庫DB中對應(yīng)于R1和R2記錄的數(shù)據(jù)項(xiàng)A,其他不變;對于每對交換的記錄進(jìn)一步包括下列步驟i修改變量JXC,JXC=JXC-2;ii修改此兩記錄的修改標(biāo)志,對應(yīng)的修改標(biāo)志置為1;iii將R1、R2分別加入子數(shù)據(jù)庫DB2和DB1中,即交換它們的位置;②如果JXC≤0,則轉(zhuǎn)⑧;③對于DB1中的任何記錄R1,如該記錄所支持的頻繁項(xiàng)目集的支持?jǐn)?shù)均大于最小支持?jǐn)?shù)閾值,則執(zhí)行i修改變量JXC,JXC=JXC-1;ii將原DB和DB1中對應(yīng)于R1的數(shù)據(jù)項(xiàng)A的值置為1,R1的修改標(biāo)志置為1;iii將記錄R1從DB1中移到DB2中;iv如果JXC≤0,則轉(zhuǎn)⑧;④將MFISA1分成兩部分M1和M2,M1中各元素的支持?jǐn)?shù)等于最小支持?jǐn)?shù)閾值,M2中各元素的支持?jǐn)?shù)大于最小支持?jǐn)?shù)閾值;其中MFISA1為子數(shù)據(jù)庫DB1中最大頻繁項(xiàng)目集的集合,此時(shí)的最小支持?jǐn)?shù)閾值為minsup×|DB|/|DB1|;⑤根據(jù)M1和M2將DB1中未修改記錄分成三部分DB11、DB12、DB13,其中DB11中各記錄支持M1中的某最大頻繁項(xiàng)目集,但均不支持M2中的任何最大頻繁項(xiàng)目集;DB12中各記錄同時(shí)支持M1中的某最大頻繁項(xiàng)目集和M2中的某最大頻繁項(xiàng)目集;DB13中各記錄支持M2中的某最大頻繁項(xiàng)目集,但均不支持M1中的任何最大頻繁項(xiàng)目集;如果DB13為空集,轉(zhuǎn)⑥步,否則執(zhí)行i將DB13中的記錄按其支持M2中元素的個(gè)數(shù)升序排列;ii對于DB13中的第一條記錄R1,將原DB和DB1中對應(yīng)于R1的數(shù)據(jù)項(xiàng)A的值置為1,R1的修改標(biāo)志置為1;iii將記錄R1從DB1中移到DB2中;iv修改變量JXC值,JXC=JXC-1;v如果JXC≤0,則轉(zhuǎn)⑧;vi如果DB13為非空,轉(zhuǎn)ii;⑥重新統(tǒng)計(jì)數(shù)據(jù)庫DB12中的最大頻繁項(xiàng)目集,如果DB12為空集,轉(zhuǎn)⑦步,否則執(zhí)行i將DB12中的記錄按其支持M1中元素的個(gè)數(shù)升序排列;ii對于DB12中的第一條記錄R1,將原DB和DB1中對應(yīng)于R1的數(shù)據(jù)項(xiàng)A的值置為1,R1的修改標(biāo)志置為1;iii將記錄R1從DB1中移到DB2中;iv修改變量JXC值,JXC=JXC-1;v如果JXC≤0,則轉(zhuǎn)⑧;vi如果DB12為非空,轉(zhuǎn)ii步;⑦重新統(tǒng)計(jì)數(shù)據(jù)庫DB11中的最大頻繁項(xiàng)目集,并按其支持M1中最大頻繁項(xiàng)目集的個(gè)數(shù)升序排列,執(zhí)行i對于DB11中的第一條記錄R1,將原DB和DB1中對應(yīng)于R1的數(shù)據(jù)項(xiàng)A的值置為1,R1的修改標(biāo)志置為1;ii將記錄R1從DB1中移到DB2中;iii修改變量JXC值,JXC=JXC-1;iv如果JXC≤0,則轉(zhuǎn)⑧;否則轉(zhuǎn)i;⑧結(jié)束,整理結(jié)果數(shù)據(jù)庫,并刪除修改標(biāo)志列;(4)數(shù)據(jù)的發(fā)布將修改后的關(guān)系數(shù)據(jù)庫發(fā)送給關(guān)聯(lián)規(guī)則挖掘工具或數(shù)據(jù)使用者。
全文摘要
本發(fā)明屬于數(shù)據(jù)挖掘中的隱私數(shù)據(jù)保護(hù)技術(shù),具體涉及一種關(guān)聯(lián)規(guī)則挖掘中隱私數(shù)據(jù)的保護(hù)方法。該方法包括隱私數(shù)據(jù)項(xiàng)的確定、初始化工作、隱私數(shù)據(jù)項(xiàng)的修改及數(shù)據(jù)的發(fā)布步驟。本發(fā)明可以有效地保護(hù)隱私數(shù)據(jù),還可以確保不包含隱私數(shù)據(jù)項(xiàng)在內(nèi)的關(guān)聯(lián)規(guī)則全部有效,包含隱私數(shù)據(jù)項(xiàng)在內(nèi)的絕大部分關(guān)聯(lián)規(guī)則仍然有效,且不會產(chǎn)生幽靈規(guī)則。在修改記錄的選擇方面本發(fā)明首先考慮了那些不會影響挖掘結(jié)果的記錄對在隱私數(shù)據(jù)項(xiàng)上進(jìn)行交換,其次提出了一種基于最大頻繁項(xiàng)目的修改記錄選擇方法,盡可能選擇支持有較大支持?jǐn)?shù)的最大頻繁項(xiàng)目集的記錄,最大限度地保持原有頻繁項(xiàng)目的頻繁性,降低了選擇修改記錄的執(zhí)行難度,進(jìn)一步提高算法的執(zhí)行效率。
文檔編號G06F17/30GK101866405SQ201010208788
公開日2010年10月20日 申請日期2010年6月23日 優(yōu)先權(quán)日2010年6月23日
發(fā)明者孫蕾, 朱玉全, 梁軍, 歐吉順, 陳耿 申請人:江蘇大學(xué)