一种关联规则挖掘中隐私数据的保护方法

文档序号:6604664阅读:165来源:国知局
专利名称:一种关联规则挖掘中隐私数据的保护方法
技术领域
本发明属于数据挖掘中的隐私数据保护技术,具体涉及一种关联规则挖掘中隐私 数据的保护方法。
背景技术
随着网络、数据库存储以及高性能处理器等技术的飞速发展,数据库中存储的数 据呈爆炸式增长,导致出现了”数据爆炸,知识贫乏”的现象。另外,20世纪下半叶发展起来 的专家系统,也遇到了 “知识获取”这一瓶颈问题。在此背景下,强有力数据分析工具的需 求推动了数据挖掘技术的产生。数据挖掘技术可以帮助人们从大量的数据中智能地、自动 地抽取隐含的、事先未知的,具有潜在价值的知识或信息,它不仅被许多研究人员看作是数 据库系统和机器学习等方面的一个重要研究课题,而且被许多产业界人士看作是一个能带 来巨大回报的重要领域,从数据库中发现出来的规则和知识可以用在信息管理、查询响应、 决策支持、过程控制等诸多方面。任何事情都有其两面性,数据挖掘也不例外,在数据挖掘产生巨大财富的同时,随 之产生的就是隐私泄露的问题,据一份Web用户的调查表明,17%的被调查者表示会拒绝 透露涉及到自己隐私的任何信息,27%的被调查者表示会经认真考虑后,决定是否给予涉 及到自己隐私的信息,而56%的被调查者表示,如果数据收集机构或数据使用者可以确保 个人隐私信息得到有效保护,他们是愿意提供涉及自己隐私的信息。从这些调查材料可以 看出,如果无法保证被调查者的隐私,所收集到的数据往往和真实的数据之间存在很大的 误差,甚至无法完成数据收集工作,如果在这些错误数据上进行数据挖掘,那么得到的结果 必然是不准确,甚至是完全错误的,数据挖掘将面临着“巧妇难为无米之炊”的尴尬局面,最 好的数据挖掘方法也无济于事。然而,可喜的是人们并没有因噎废食,在数据挖掘能够提供 的益处前面,只要数据采集机构或使用者采取有效措施来保证个人的隐私,大部分数据拥 有着还是愿意提供自己的隐私数据,隐私保护程度的高低将直接关系到是否能够获得足够 真实的信息,从而影响到挖掘结果的可靠有用性。因而,如何在包含关联规则挖掘在内的数 据挖掘过程中解决好隐私保护问题已经成为数据挖掘领域中的一个非常关键的问题。对于关联规则挖掘中的隐私数据保护问题,目前常用的方法是采取数据干扰技 术,即通过数据变换或在数据中增加噪声等方法来对原始数据进行干扰,关联规则挖掘是 在干扰后的数据集上进行的,因而,该种方法很有可能影响到挖掘结果的可用和有效性,即 挖掘出一些原始关系数据库中本来不存在的且有误导作用的规则,丢失一些原始关系数据 库中非常有用的规则,从而失取了数据挖掘本身的意义。其实,隐私数据是相对的,是与载 体相关联的,更换了或脱离了载体,数据就有可能失去其物理意义或隐私性,因此,我们可 以通过修改记录相应的项目来实现隐私数据的保护。本发明给出了一种关联规则挖掘中隐私数据的保护方法,该方法既可以实现隐私 数据的有效保护,又能确保关联规则挖掘结果的有效可行性。

发明内容
本发明的目的在于针对现有关联规则挖掘中隐私数据保护方法可能会影响到关 联规则挖掘结果的可用性和有效性等问题,提出了一种新颖的关联规则挖掘中隐私数据的 保护方法,该方法既可实现隐私数据的保护,同时又不会产生过多的负面影响。本发明所说的关联规则挖掘中隐私数据的保护方法,包括以下步骤(1)隐私数据项的确定由数据拥有者确定关系数据库中需要处理的隐私数据项。假设需要保护的数据项 为、、k2........Am,本发明仅考虑m为1的情况,记为A。其他情况可以类推。(2)修改前的初始化工作设原关系数据库为DB,最小修改率阈值为minXP,minXP表示修改记录数占总记录 数的百分比,如minXP = 50%,表示原关系数据库中有一半的记录在隐私数据项上的值发 生了变化,公开的是修改后的关系数据库,关联规则挖掘是在修改后的关系数据库上进行 的。修改前的初始化工作包括以下步骤①设置记录修改数变量JXC,其初始值为minXPX DB |, DB为关系数据库DB中 的记录数;②给关系数据库中的每条记录i设置一个修改标志flag[i],其值为0或1,0表示 该记录未修改过,1表示修改过;③扫描原关系数据库DB —次,求出其所有的频繁1-项目集,删除关系数据库DB 中非频繁1-项目所对应的数据项;④根据关系数据库DB中A所对应的值,将关系数据库DB分成两个子数据库DB1 和DB2,他们在字段A上的值分别均为1和0。(3)隐私数据项的修改隐私数据项的修改方法为①对于子数据库DB1的每条未修改记录礼,如果子数据库DB2中存在与礼完全相 同的未修改记录R2 (不包括字段A的值),则交换原关系数据库DB中对应于礼和R2记录的 数据项A,其他不变。对于每对交换的记录进一步包括下列步骤i 修改变量 JXC,JXC = JXC-2 ;ii修改此两记录的修改标志,对应的修改标志置为1 ;iii将礼、R2分别加入子数据库DB2和DB1中,即交换它们的位置。②如果JXC彡0,则转⑧。③对于DB1中的任何记录礼,如该记录所支持的频繁项目集的支持数均大于最小 支持数阈值,则执行i 修改变量 JXC,JXC = JXC-1 ;ii将原DB和DB1中对应于队的数据项A的值置为1,的修改标志置为1 ;iii将记录从DB1中移到DB2中;iv如果JXC彡0,则转⑧。④将MFISA1分成两部分MjnM2,Mi中各元素的支持数等于最小支持数阈值,M2中 各元素的支持数大于最小支持数阈值。其中MFISA1为子数据库DB1中最大频繁项目集的 集合,此时的最小支持数阈值为minsup X | DB | / | DB11。
5
⑤根据Mi和M2将DB1中未修改记录分成三部分DBlp DB12、DB13,其中中各 记录支持礼中的某最大频繁项目集,但均不支持礼中的任何最大频繁项目集。DB12中各记 录同时支持礼中的某最大频繁项目集和M2中的某最大频繁项目集。DB13中各记录支持M2 中的某最大频繁项目集,但均不支持礼中的任何最大频繁项目集。如果DB13为空集,转⑥ 步,否则执行i将DB13中的记录按其支持M2中元素的个数升序排列;ii对于DB13中的第一条记录礼,将原DB和DB1中对应于队的数据项A的值置为 1,R的修改标志置为1 ;iii将记录从DB1中移到DB2中;iv 修改变量 JXC 值,JXC = JXC-1 ;v如果JXC彡0,则转⑧;vi如果DB13为非空,转(ii)。⑥重新统计数据库DB12中的最大频繁项目集,如果DB12为空集,转⑦步,否则执 行i将DB12中的记录按其支持Mi中元素的个数升序排列;ii对于DB12中的第一条记录礼,将原DB和DB1中对应于队的数据项A的值置为 1,R的修改标志置为1 ;iii将记录从DB1中移到DB2中;iv 修改变量 JXC 值,JXC = JXC-1 ;v如果JXC彡0,则转⑧;vi如果DB12为非空,转(ii)步。⑦重新统计数据库DBh中的最大频繁项目集,并按其支持礼中最大频繁项目集的 个数升序排列,执行i对于DB、中的第一条记录札,将原DB和DB1中对应于队的数据项A的值置为 1,R的修改标志置为1 ;ii将记录从DB1中移到DB2中;iii 修改变量 JXC 值,JXC = JXC-1 ;iv如果JXC彡0,则转⑧;否则转⑴;⑧结束,整理结果数据库,并删除修改标志列;(4)、数据的发布将修改后的关系数据库发送给关联规则挖掘工具或数据使用者。本发明中频繁项目集的挖掘分为两小步候选频繁项目集的生成、候选频繁项目 集支持数的计算。本发明中关联规则的发现是根据频繁项目集生成关联规则。本发明主要有以下两个方面的有益效果(1)在隐私数据的保护方面本发明提出了一种新颖的隐私数据保护方法,一方面,本发明所采用方法可以有 效地保护隐私数据,公开的是经过处理后的数据,根据所公开的数据是很难或无法猜测出 真实数据;另一方面,本发明中的关联挖掘方法可以确保不包含隐私数据项在内的关联规则全部有效,包含隐私数据项在内的绝大部分关联规则仍然有效,且不会产生幽灵规则,克 服了现有隐私数据保护方法所带来的两个缺陷,一是可能挖掘出一些原始关系数据库中本 来不存在的且有误导作用的关联规则,二是丢失一些原始关系数据库中存在的且非常有用 的关联规则。(2)在修改记录的选择方面本发明首先考虑了那些不会影响挖掘结果的记录对在隐私数据项上进行交换,其 次提出了一种基于最大频繁项目的修改记录选择方法,尽可能选择支持有较大支持数的最 大频繁项目集的记录,最大限度地保持原有频繁项目的频繁性,降低了选择修改记录的执 行难度,进一步提高算法的执行效率。


图1是本发明实施例的流程2是本发明实施例中的隐私数据项修改流程图
具体实施例方式下面以表1所示的关系数据库DB为例,结合图1、图2的流程图简单地说明本发明 的执行过程。表1共设置了五个字段,分别记为A、B、C、D和E,假设本实例所要保护的数据 项为E,最小支持度阈值为25%或最小支持数阈值为2,修改率XP为50%,即至少有四条记 录的E值需被修改。
表1实例数据库DB 具体执行步骤如下(1)给记录修改数变量JXC赋初始,JXC = XPX DB = 4,DB为实例数据库DB 中的记录数。(2)设置修改标志,flag[i] = 0,i = 1,2,3,4,5,6,7,8,即表 1 的第一列。(3)扫描实例数据库DB—次,得到数据库DB中的频繁1_项目集{{A},{B},{C},{D},{E}}。因本实例所要保护的数据项E为频繁项目,继续执行下列各步。如保护的数据 项为非频繁项目,则结束,并隐藏该字段的所有值。 (4)将实例数据库DB分成两个子数据库DB1和DB2,他们在字段E上的值分别均 为1和0,具体结果如表2、3所示。
表3子数据库DB2 (4)由于子数据库DB1和子数据库DB2中含有相同内容的记录(不包括字段E的 值),即记录01和记录05,将原实例数据库DB中Tid为0的记录所对应的E值置为0,Tid 为5的记录所对应的E值置为1。(5)修改记录01和05的修改标志,并将他们分别加入DB2和DB1中,修改后的数 据库如表4、5、6所示。(6)修改变量JXC值,JXC = JXC-2 = 2。可以证明或说明表1和表4所示的关系 数据库所包含的频繁项目集是完全相同的。
8
(7)由于JXC的最新值为2,因而还需修改两条记录。(8)由于08号记录所支持频繁项目集的支持数均大于最小支持数阈值,修改08号 记录的E值,置为1,并将其放入DB2中。修改变量JXC值及08号记录的修改标志,JXC = JXC-1 = 2-1 = 1。修改后的数据库如表7、8所示。
(9)由于JXC的最新值为1,因而还需修改一条记录。(10)求出修改后的子数据库DB1中的最大频繁项目集及其支持数,分别为ABE:2、 BDE:2、BCE:3,并将其分为两部分,一是支持数等于最小支持数阈值的最大频繁项目集虬, 即Mi = {ABE: 2, BDE:2},二是支持数大于最小支持数阈值的最大频繁项目集M2,即M2 = {BCE:3}。(ll)DBl中修改标志flag为0的记录中,04号记录支持最大频繁项目集ABE、BDE, 06号记录支持最大频繁项目集BDE和BCE,07号记录支持最大频繁项目集BCE。即仅支持 Mi的记录有04号记录,仅支持M2的记录有07号记录,两者均支持的有06号记录。(12)在仅支持M2的记录中选择支持M2中最大频繁项目集数最小的记录,即本案 例的第07号记录,将该记录的E值改为0,并将其移到DB2中,修改该记录的修改标志以及 修改变量JXC值,JXC = JXC-1 = 0。结果如表9、10所示。
(13)由于JXC的值为0,结束隐私数据项的修改。结果关系数据库如表11所示。
表11中有4条记录的E值发生了变化,可以发现表1和11所示的关系数据库所 包含的频繁项目集是完全相同的。在实际应用时,最小修改率阈值minXP以及具体的修改 记录均是保密的,即数据使用者并不知道结果关系数据库中多少记录在隐私数据项上的值 发生了变化,更不可能知道那些记录发生了改变,从而有效保护了隐私数据项的值,实现了 关联规则挖掘中隐私数据的保护。
权利要求
一种关联规则挖掘中隐私数据的保护方法,包括以下步骤(1)隐私数据项的确定由数据拥有者确定关系数据库中需要处理的隐私数据项,记为A;(2)修改前的初始化工作原关系数据库为DB,最小修改率阈值为minXP,minXP表示修改记录数占总记录数的百分比,修改前的初始化工作包括以下步骤①设置记录修改数变量JXC,其初始值为minXP×|DB|,|DB|为关系数据库DB中的记录数;②给关系数据库中的每条记录i设置一个修改标志flag[i],其值为0或1,0表示该记录未修改过,1表示修改过;③扫描原关系数据库DB一次,求出其所有的频繁1-项目集,删除关系数据库DB中非频繁1-项目所对应的数据项;④根据关系数据库DB中A所对应的值,将关系数据库DB分成两个子数据库DB1和DB2,他们在字段A上的值分别均为1和0;(3)隐私数据项的修改①对于子数据库DB1的每条未修改记录R1,除字段A的值外,如果子数据库DB2中存在与R1完全相同的未修改记录R2,则交换原关系数据库DB中对应于R1和R2记录的数据项A,其他不变;对于每对交换的记录进一步包括下列步骤i修改变量JXC,JXC=JXC-2;ii修改此两记录的修改标志,对应的修改标志置为1;iii将R1、R2分别加入子数据库DB2和DB1中,即交换它们的位置;②如果JXC≤0,则转⑧;③对于DB1中的任何记录R1,如该记录所支持的频繁项目集的支持数均大于最小支持数阈值,则执行i修改变量JXC,JXC=JXC-1;ii将原DB和DB1中对应于R1的数据项A的值置为1,R1的修改标志置为1;iii将记录R1从DB1中移到DB2中;iv如果JXC≤0,则转⑧;④将MFISA1分成两部分M1和M2,M1中各元素的支持数等于最小支持数阈值,M2中各元素的支持数大于最小支持数阈值;其中MFISA1为子数据库DB1中最大频繁项目集的集合,此时的最小支持数阈值为minsup×|DB|/|DB1|;⑤根据M1和M2将DB1中未修改记录分成三部分DB11、DB12、DB13,其中DB11中各记录支持M1中的某最大频繁项目集,但均不支持M2中的任何最大频繁项目集;DB12中各记录同时支持M1中的某最大频繁项目集和M2中的某最大频繁项目集;DB13中各记录支持M2中的某最大频繁项目集,但均不支持M1中的任何最大频繁项目集;如果DB13为空集,转⑥步,否则执行i将DB13中的记录按其支持M2中元素的个数升序排列;ii对于DB13中的第一条记录R1,将原DB和DB1中对应于R1的数据项A的值置为1,R1的修改标志置为1;iii将记录R1从DB1中移到DB2中;iv修改变量JXC值,JXC=JXC-1;v如果JXC≤0,则转⑧;vi如果DB13为非空,转ii;⑥重新统计数据库DB12中的最大频繁项目集,如果DB12为空集,转⑦步,否则执行i将DB12中的记录按其支持M1中元素的个数升序排列;ii对于DB12中的第一条记录R1,将原DB和DB1中对应于R1的数据项A的值置为1,R1的修改标志置为1;iii将记录R1从DB1中移到DB2中;iv修改变量JXC值,JXC=JXC-1;v如果JXC≤0,则转⑧;vi如果DB12为非空,转ii步;⑦重新统计数据库DB11中的最大频繁项目集,并按其支持M1中最大频繁项目集的个数升序排列,执行i对于DB11中的第一条记录R1,将原DB和DB1中对应于R1的数据项A的值置为1,R1的修改标志置为1;ii将记录R1从DB1中移到DB2中;iii修改变量JXC值,JXC=JXC-1;iv如果JXC≤0,则转⑧;否则转i;⑧结束,整理结果数据库,并删除修改标志列;(4)数据的发布将修改后的关系数据库发送给关联规则挖掘工具或数据使用者。
全文摘要
本发明属于数据挖掘中的隐私数据保护技术,具体涉及一种关联规则挖掘中隐私数据的保护方法。该方法包括隐私数据项的确定、初始化工作、隐私数据项的修改及数据的发布步骤。本发明可以有效地保护隐私数据,还可以确保不包含隐私数据项在内的关联规则全部有效,包含隐私数据项在内的绝大部分关联规则仍然有效,且不会产生幽灵规则。在修改记录的选择方面本发明首先考虑了那些不会影响挖掘结果的记录对在隐私数据项上进行交换,其次提出了一种基于最大频繁项目的修改记录选择方法,尽可能选择支持有较大支持数的最大频繁项目集的记录,最大限度地保持原有频繁项目的频繁性,降低了选择修改记录的执行难度,进一步提高算法的执行效率。
文档编号G06F17/30GK101866405SQ201010208788
公开日2010年10月20日 申请日期2010年6月23日 优先权日2010年6月23日
发明者孙蕾, 朱玉全, 梁军, 欧吉顺, 陈耿 申请人:江苏大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1