首页 > 解决方案 > 基于 SQL 的 FP-Growth 算法

问题描述

所以我有一个名为tr_table的项目集示例,如下所示:

+---------+-----------+
| tr_kode | item|
+---------+-----------+
| T1      |         1 |
| T1      |         2 |
| T1      |         2 |
| T1      |         5 |
| T2      |         1 |
| T2      |         3 |
| T2      |         4 |
| T2      |         5 |
| T2      |         6 |
| T3      |         1 |
| T3      |         2 |
| T4      |         4 |
| T4      |         2 |
| T4      |         6 |
| T5      |         6 |
| T5      |         5 |
| T5      |         4 |
| T6      |         3 |
| T6      |         6 |
| T6      |         2 |
| T7      |         2 |
| T7      |         1 |
| T7      |         7 |
+---------+-----------+

然后我将最小支持设置为 20% 并创建一个名为freq_item的表的频繁项视图。此视图包含已排序的选定频繁项。

+------+-----------+
| item | suppCount |
+------+-----------+
|    2 |         6 |
|    1 |         4 |
|    6 |         4 |
|    4 |         3 |
|    5 |         3 |
|    3 |         2 |
+------+-----------+

之后我已经得到了一个已经被选择和排序的事务表,它被称为selected_tr

+------+------+
| tid  | item |
+------+------+
| T1   |    2 |
| T1   |    1 |
| T1   |    5 |
| T2   |    1 |
| T2   |    6 |
| T2   |    4 |
| T2   |    5 |
| T2   |    3 |
| T3   |    2 |
| T3   |    1 |
| T4   |    2 |
| T4   |    6 |
| T4   |    4 |
| T5   |    6 |
| T5   |    4 |
| T5   |    5 |
| T6   |    2 |
| T6   |    6 |
| T6   |    3 |
| T7   |    2 |
| T7   |    1 |
+------+------+

我想问的是,如何从 selected_tr 构建 fp-tree,然后根据 fp-growth 算法找到频繁模式。之前谢谢。

标签: mysqlsqldatabasedata-miningfpgrowth

解决方案


推荐阅读