1. 关联规则

1.1. [2.0]FPGrowth

FPGrowth是关联规则的一种实现方式,该算法将大规模的频繁集构建成FPTree,提高了提取频繁集的效率。Jarvis 提供的 FPGrowth 是 Li et al., PFP: Parallel FP-growth for query recommendation论文的并行实现,支持大规模的频繁集挖掘和关联规则的生成。

输入

  • 输入数据路径:输入文件所在路径。
  • 输入文件类型:格式包括以下三种:
    • csv: csv 文件
      • 输入数据包含header信息
      • 输入数据分割符:主要包括逗号、空格、分号、星号等分割符
    • text:文本文件
    • parquet:列式存储格式 parquet

输出

  • 输出数据路径:输出文件所在路径。
  • 输出数据格式:格式包括以下三种:
    • csv: csv 文件
      • 输出数据包含header信息
      • 输出数据分割符:主要包括逗号、空格、分号、星号等分割符
    • text:文本文件
    • parquet:列式存储格式 parquet

参数

  • 并行数:训练数据的分区数、Spark 的并行数。
  • 抽样率:输入数据的采样率。
  • 支持度:范围:0 - 1.0,频繁集的支持度阈值,item 出现的次数除以整个数据集的样本数。小于该阈值的频繁集将会被过滤。
  • 置信度:范围:0 - 1.0,规则的置信度阈值,算法会过滤掉小于该阈值的规则。

测试节点

输入

  • 输入数据路径:输入文件所在路径。
  • 输入文件类型:格式包括以下三种:
    • csv: csv 文件
      • 输入数据包含header信息
      • 输入数据分割符:主要包括逗号、空格、分号、星号等分割符
    • text:文本文件
    • parquet:列式存储格式 parquet

输出

  • 输出数据路径:输出文件所在路径。
  • 输出数据格式:格式包括以下三种:
    • csv: csv 文件
      • 输出数据包含header信息
      • 输出数据分割符:主要包括逗号、空格、分号、星号等分割符
    • text:文本文件
    • parquet:列式存储格式 parquet

预测方法

首先根据频繁项集生成关联规则。然后对于 itemsCol 中的每个事务,变换方法将其项与每个关联规则的前因进行比较。 如果记录包含特定关联规则的所有前提,则该规则将被视为适用,并且其结果将被添加到预测项中。 预测方法将所有适用规则的结果总结为预测项。

1.2. [2.0]Apriori

Apriori 算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。Apriori 算法使用支持度来作为判断频繁项集的标准。Apriori算法的目标是找到最大的K项频繁集。这里有两层意思,首先,要找到符合支持度标准的频繁集。但是这样的频繁集可能有很多。第二层意思就是要找到最大个数的频繁集。Apriori 算法采用了迭代的方法,先搜索出候选1项集及对应的支持度,剪枝去掉低于支持度的1项集,得到频繁1项集。然后对剩下的频繁1项集进行连接,得到候选的频繁2项集,筛选去掉低于支持度的候选频繁2项集,得到真正的频繁二项集,以此类推,迭代下去,直到无法找到频繁k+1项集为止,对应的频繁k项集的集合即为算法的输出结果。

输入

  • 输入数据路径:输入文件所在路径。
  • 输入文件类型:格式包括以下三种:
    • csv: csv 文件
      • 输入数据包含header信息
      • 输入数据分割符:主要包括逗号、空格、分号、星号等分割符
    • text:文本文件
    • parquet:列式存储格式 parquet

输出

  • 输出数据路径:输出文件所在路径。
  • 输出数据格式:格式包括以下三种:
    • csv: csv 文件
      • 输出数据包含header信息
      • 输出数据分割符:主要包括逗号、空格、分号、星号等分割符
    • text:文本文件
    • parquet:列式存储格式 parquet
  • 最小支持度:范围:0 - 1.0,频繁集的支持度阈值。
  • 最大支持度:范围:0 - 1.0,频繁集的支持度阈值。
  • 频繁项集最小长度:默认为1。
  • 频繁项集最大长度:默认为10。