Apriori算法是数据挖掘中比较常用的一种关联规则挖掘方法。它的原理是通过一系列的频繁项集发现和剪枝来发现数据集中的规律关联性。今天,我们来看一下Apriori算法的一个例题。 假如我们有一个包含多个交易记录的购物篮数据集,每个记录包含了一些商品(例如牛奶,面包,黄油等),我们想要根据这些记录来挖掘出一些常见的商品组合以及它们之间的关联性。下面是一个具体的例子: 交易记录 商品 ------------------ T100 牛奶、面包、黄油
T200 牛奶、面包、黄油、葡萄酒 T300 牛奶、面包、黄油 T400 牛奶、豆腐、葡萄酒 T500 面包、黄油、豆腐 首先,我们需要根据这些记录来生成一个物品集合表,表中记录着每一件商品在数据集中出现的频率以及它们的支持度。可以看一下下表: 物品集合 支持度 ------------------
牛奶 4 面包 4 黄油 4 豆腐 2 葡萄酒 2 由于我们只想保留那些在数据集中出现频率较高的商品组合,因此需要设定一个最小支持度的阈值。我们假设最小支持度的阈值为 50%。
接下来,我们可以使用Apriori算法来发现频繁项集。Apriori算法的基本思路是,首先找出所有的频繁1项集(即单独的商品),然后通过组合形成频繁2项集,接着通过组合频繁2项集来形成频繁3项集,以此类推。根据Apriori算法的原理,不可能存在一个k项集是不频繁的,同时它的所有子集都是频繁的。因此,在生成候选k+1
项集的时候,我们只需要保留那些所有k项子集都是频繁的候选项集,这样就避免了无意义的计算。 假设我们首先要找出频繁2项集。根据上述物品集合表,我们可以获得所有的频繁1项集:{牛奶},{面包},{黄油},{豆腐},{葡萄酒}。然后我们可以通过这些频繁1项集来生成候选2项集,如下表所示: 候选2项集 支持度 ------------------ {牛奶,面包} 3 {牛奶,黄油} 3 {牛奶,豆腐} 1 {牛奶,葡萄酒} 1 {面包,黄油} 3 {面包,豆腐} 1 {面包,葡萄酒} 1 {黄油,豆腐} 1 {黄油,葡萄酒} 1 {豆腐,葡萄酒} 0 由于最小支持度的阈值为 50%,因此我们只需要保留那些支持度值大于等于 2 的候选2项集,如下表所示: 频繁2项集 支持度 ------------------ {牛奶,面包} 3 {牛奶,黄油} 3 {面包,黄油} 3 接下来,我们需要根据这些频繁2项集来找出频繁3项集。这里
我们需要使用Apriori算法的原理来进行计算。首先,我们需要找出所有的候选3项集。根据频繁2项集表,我们可以计算出所有可能的候选3项集,如下表所示: 候选3项集 支持度 ------------------
{牛奶,面包,黄油} 2 因为{牛奶,面包,黄油}的子集{牛奶,面包}和{面包,黄油}都是频繁的,所以它是频繁的。
最后,我们可以根据挖掘到的频繁项集来发现它们之间的关联性。 对于频繁2项集,可发现:购买牛奶的同时,很可能会购买面包或黄油;购买面包的同时,很可能会购买黄油。 对于频繁3项集,可发现:购买牛奶、面包的同时,很可能会购买黄油。 综上所述,这就是一个简单的Apriori算法的应用实例,我们可以利用这种方法在海量的数据中发现规律,为企业的决策提供支持。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务