打字猴:1.700498831e+09
1700498831
1700498832
1700498833
1700498834 假设D表示交易数据集;K为项集,即包含k个项的集合;Lk表示满足最小支持度的k项集;Ck表示候选k项集。Apriori算法的参考文献[1]描述如下。
1700498835
1700498836 在该算法中,候选集的计算过程如下所示。
1700498837
1700498838
1700498839
1700498840
1700498841 首先进行连接运算如下:
1700498842
1700498843
1700498844
1700498845
1700498846 然后根据频繁项集定理(即频繁项集的子集必定是频繁项集)进行剪枝,过滤掉非频繁项集,过程如下所示:
1700498847
1700498848
1700498849
1700498850
1700498851 从上述算法中可以看出,该算法存在一些困难点,譬如需要频繁扫描交易数据集,这样如果面临海量数据集,就难以满足实际应用需求;对于大型数据集,计算候选集算法的效率较低,这也是一个难以克服的问题。目前已经有一些优化的方法用于处理这些问题,譬如FP-growth算法[2]。在实际应用中,随着数据的不断增长,可能还需要通过分布式计算来提高算法性能,譬如机器学习算法包Mahout[3]中实现了的并行版本FP-growth算法。
1700498852
1700498853 2.Apriori算法实例
1700498854
1700498855 假设给定如下电子商务网站的用户交易数据集,其中,定义最小支持度为2/9,即支持度计数为2,最小置信度为70%,现在要计算该数据集的关联规则,如表3-1所示。
1700498856
1700498857
1700498858
1700498859
1700498860 计算步骤如下所示。
1700498861
1700498862 步骤1,根据Apriori算法计算频繁项集。
1700498863
1700498864 1)计算频繁1项集。扫描交易数据集,统计每种商品出现的次数,选取大于或等于最小支持度的商品,得到了候选项集,如表3-2所示。
1700498865
1700498866
1700498867
1700498868
1700498869 2)根据频繁1项集,计算频繁2项集。首先将频繁1项集和频繁1项集进行连接运算,得到2项集,如下所示:
1700498870
1700498871
1700498872
1700498873
1700498874 扫描用户交易数据集,计算包含每个候选2项集的记录数,如表3-3所示。
1700498875
1700498876
1700498877
1700498878
1700498879 根据最小支持度,得到频繁2项集,如表3-4所示。
1700498880
[ 上一页 ]  [ :1.700498831e+09 ]  [ 下一页 ]