用交易数据库建立 FP-tree的具体步骤和案例
时间: 2024-04-01 15:32:04 浏览: 130
fp-tree.rar_fp_fp-tree_tree_频繁项集
建立 FP-Tree 的具体步骤如下:
1. 扫描整个事务数据库,统计每个项的出现频率,并过滤掉低于最小支持度的项。
2. 对于每个事务,根据频繁项集的频率排序,将其转换为一个项序列。
3. 对于每个项序列,从高到低插入 FP-Tree 中,如果存在相同的前缀路径,则将其合并,否则新建一个路径。
4. 递归地构建条件 FP-Tree,每次以某个频繁项为条件,再次执行上述步骤。
下面是一个简单的案例,假设有以下交易数据库:
| 交易ID | 交易商品 |
| ------ | ------ |
| T1 | A, B, D |
| T2 | B, C, E |
| T3 | A, B, C, E |
| T4 | B, E |
设最小支持度为 2,现在来建立 FP-Tree:
1. 首先扫描数据库,计算每个项的支持度,过滤掉低于最小支持度的项,得到频繁项集 {A, B, C, E}。
2. 对于每个事务,根据频繁项集的频率排序,得到以下项序列:
T1: B > A > D
T2: B > E > C
T3: B > E > C > A
T4: B > E
3. 从高到低插入 FP-Tree 中,得到以下树结构:
null
|
B(4)
/ | \
A D E(3)
| |
C(2) E(2)
4. 以频繁项集 {A, B} 为条件,递归地构建条件 FP-Tree:
条件模式基为 {T1, T3},得到以下树结构:
null
|
B(2)
|
A(2)
以同样的方式,得到以频繁项集 {B, C} 为条件的条件 FP-Tree:
null
|
B(2)
|
C(2)
以频繁项集 {B, E} 为条件,得到以下树结构:
null
|
B(3)
/ \
E(2) C(1)
以频繁项集 {B} 为条件,得到以下树结构:
null
|
B(4)
|
E(3)
至此,FP-Tree 的建立完成。
阅读全文