Apriori算法的主要缺点是需要多次扫描数据库,并且在生成候选项集时计算量较大。 FP-tree算法则是一种更高效的频繁项集挖掘算法。它的主要优点有: 只需要扫描数据库两次,大大减少了I/O操作的次数。 使用FP-tree数据结构存储事务数据库的内容,节省了空间,并且便于快速查找。 在挖掘频繁项集时不需要生成候选项集,减少了计...
1算法描述 频繁模式增长算法(Frequent-pattern growth, FP-Growth)是一种挖掘频繁项集的方法。 FP-Growth算法采用分治策略,将提供频繁项集的数据库压缩到一颗频繁模式树(Frequent-pattern tree, FP-tree)上,但仍保留项集的关联信息,通过不断地迭代FP-tree的构造和投影过程来发现频繁模式。
由于只对数据集扫描两次,因此 FP-Growth 算法克服了 Apriori 算法中存在的问题,在执行效率上也明显好于 Apriori 算法。 1. FP—Tree 的构造 为了减少 I/O 次数,FP-Tree 算法引入了一些数据结构来临时存储数据。这个数据结构包括 3 部分:项头表、FP-Tree 和结点链接,如图 1 所示。 图1 FP-Tree数据结构 第...
FP-tree算法相对于Apriori算法,时间复杂度和空间复杂都有了显著的提高。但是对海量数据集,时空复杂度仍然很高,此时需要用到数据库划分等技术。
•缺点:实现比较困难,在某些数据集上性能会下降。•算法的应用场景 •FP-Tree算法适用于离散型数据,其的特点是尽量把相同元素用一个节点表示,FP-Tree算法的关联挖掘就是从大量数据中发现项集之间的关联和相关联系,典型应用场景就是各类实体超市包括电商平台,通过发现顾客放入购物篮中的不同商品之间的联系,...
作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈。为了解决这个问题,FP Tree算法(也称FP Growth算法)采用了一些技巧,无论多少数据,只需要扫描两次数据集,因此提高了算法运行的效率。下面我们就对FP Tree算法做一个总结。1. FP Tree数据结构为了减少I/O次数,FP Tree算法引入了一些数据...
它的优点在于效率提升和简单易理解,但存在性能瓶颈。而FP-Tree算法则在2000年由Han Jiawei等人提出,它通过构造FP-Tree,仅需两次扫描数据集,显著提高了效率,尤其在处理大规模数据时表现出色。Apriori算法采用先验性质,首先通过单遍扫描确定1-项集,然后生成新的k-项集候选,通过子集函数检查频繁性。...
与Apriori算法相比,FP-Tree算法更进一步,通过将交易数据巧妙的构建出一颗FP树,然后在FP树中递归的对频繁项进行挖掘。FP-Tree算法仅仅需要两次扫描数据库,第一次是统计每个商品的频次,用于剔除不满足最低支持度的商品,然后排序得到FreqItems。第二次,扫描数据库构建FP树。还是以之前Apriori的例子来一步步的详细分析FP...
3.2 生成FP tree以及节点链表 原始数据得到初步的整理后,开始生成FP tree以及节点链表。 首先把根节点设为null,也就是说根节点不包含任何项。这样做的好处是,任何一个事务都可以被视为是从一个空项开始的。 3.3 挖掘过程 首先挖掘频率低的项,然后逐次挖掘频率高的项。