- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Apriori算法
频繁模式是频繁出现在数据集中的模式(如项集,子序列等)。例如:频繁的同时出现在交易数据集中的商品(牛奶,面包)的集合就是频繁项集。频繁项集挖掘导致发现大型事务或关系数据集中有趣的关联或相关。规则的支持度和置信度是规则兴趣度的两种度量。它们分别反映所发现的规则的有用性和确定性。关联规则的支持度(support)为2%意味着所分析的所有销售记录中有2%的顾客同时购买计算机和杀毒软件。60%置信度(confidence)则意味着,所有购买计算机的顾客中,有60%的顾客也购买了杀毒软件。典型情况下,如果关联规则同时满足最小支持度阈值(min_sup)和最小置信度阈值(min_conf),则此关联规则是有趣的。这些阈值可以由用户或领域专家设定。名词解释:项集。项的集合为项集,包含k个项的集合成为k项集。例如{面包,牛奶}是一个2项集。支持度计数。项集的出现频率是包含项集的事务数,简称项集的频率,支持度计数,也称项集的绝对支持度。项集的相对支持度为项集在事务集中发生的概率。频繁项集。如果项集A的支持度满足预定义的最小支持度阈值,则A是频繁项集。频繁K项集通常被记作。confidence(A) =上式表明挖掘关联规则的问题可以归结为挖掘频繁项集。一般来说,关联规则的挖掘可以看做两步:找出所有的频繁项集:根据定义,这些项集的频繁性至少与预定义的最小支持计数一样。由频繁项集产生强关联规则:这些规则必须满足最小支持度和最小置信度。然而有这么一个需要思考的问题:从大型数据集中挖掘频繁项集的主要挑战是常常产生大量满足最小支持度的项集。当min_sup设的低时尤其如此。这是因为如果一个项集是频繁的,那么它的每个子集也是频繁的。例如,一个长度为100的频繁项集{a1,a2,…,a100}包含 =100个频繁1项集,包含个频繁2项集,如此等等。这对于任何一个计算机,项集的个数都太大。Apriori算法使用一种称作逐层搜索的迭代方法,k项集用于探索k+1项集。首先,通过扫描数据库,积累每个项的计数,并收集满足最小支持度的项,找出频繁1项集的集合。该集合记作。然后用找频繁2项集的集合,,如此下去,直到不能再找到频繁k项集。Apriori性质:频繁项集的所有非空子集也必须是频繁的。那么我们就知道:如果项集A不满足最小支持度阈值,则A不是频繁的,如果添加项a到项集A中,则项集(AUa)不可能比项集A更频繁出现。这称为反单调性,指如果一个集合不能通过测试,则所有包含它的集合也不能通过测试。那么如何由找到(k=2)呢?这是由连接步和剪枝步完成的。一,连接步:为找,通过将与自身连接产生候选k项集的集合。该候选项集的集合记作。 设,是中的项集,记号[j]表示中的第j项,例如M1[k-2]表示M1的倒数第二项。为方便起见,Apriori假定事务或项集中的项按字典次序排序。对于(k-1)项集,将排序使[1][2]…[k-1]。执行连接,如果它们的前(k-2)个项相同的话,那么的元素是可连接的。如果([1] = [1])^([2] = [2])^ … ^([k-1] = [K-1])^([k-1] [k-1]),那么的元素,是可连接的。条件[k-1] [k-1]仅仅是保证不产生重复。连接,产生的结果项集是[1],[2],…,[k-1],[k-1]。二,剪枝步:是的超集,也就是说的子集可以是也可以不是频繁的,但所有的频繁k项集都包含在中。扫描数据库,确定中每个候选项集的计数,从而确定(即计数值不小于最小支持度计数的所有候选项集是频繁的)。然而,可能很大,这样所涉及的计算量就很大,为了压缩,可以使用Apriori性质,任何非频繁的(k-1)项集都不是频繁k项集的子集。因此,如果候选k项集的(k-1)项子集不在中,则该候选项集也不可能是频繁的,从而可以从中删除,这种子集测试可以使用所有频繁项集的散列树快速完成。有如下数据:每一行表示一条交易,共有9行,既9笔交易,左边表示交易ID,右边表示商品名称。最小支持度是22%,那么每件商品至少要出现9*22%=2次才算频繁。第一次扫描数据库,使得在每条交易中,按商品名称递增排序。第二次扫描数据,找频繁项集为1的元素有:左边表示商品名称,右边表示出现的次数,都大于阈值2。在此基础上找频繁项集是2的元素(候选集C2),第三次扫描数据得到它们出现的次数:这里{I1,I4},{I3,I4},{I3,I5},{I4,I5}出现的次数都小于2,过滤掉,实际频繁项集为2(L2)的元素有:由L2产生候选C3:{I1,I2,I3}和{I1,I2,I5},因为它们的支持度计数都是2,所以L3即C3,为{I1,I2,I3}、{I1,I2,I5};再由L3产生C4,连接结果为{I1,I2,I3,I5},但是它的子集{I2,I3,I5}不是频繁的,所以C4是空集,算法
文档评论(0)