当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R SparkR spark.fpGrowth用法及代码示例


说明:

用于挖掘频繁项集的并行FP-growth算法。 spark.fpGrowth 适合 SparkDataFrame 上的 FP-growth 模型。用户可以通过spark.freqItemsets获取频繁项集,spark.associationRules获取关联规则,predict根据生成的关联规则对新数据进行预测,write.ml/read.ml保存/加载拟合模型。有关详细信息,请参阅 FP-growth

用法:

spark.fpGrowth(data, ...)

spark.freqItemsets(object)

spark.associationRules(object)

## S4 method for signature 'SparkDataFrame'
spark.fpGrowth(
  data,
  minSupport = 0.3,
  minConfidence = 0.8,
  itemsCol = "items",
  numPartitions = NULL
)

## S4 method for signature 'FPGrowthModel'
spark.freqItemsets(object)

## S4 method for signature 'FPGrowthModel'
spark.associationRules(object)

## S4 method for signature 'FPGrowthModel'
predict(object, newData)

## S4 method for signature 'FPGrowthModel,character'
write.ml(object, path, overwrite = FALSE)

参数:

  • data 用于训练的 SparkDataFrame。
  • ... 传递给方法的附加参数。
  • object 拟合的 FPGrowth 模型。
  • minSupport 最低支持水平。
  • minConfidence 最小置信水平。
  • itemsCol 特征列名。
  • numPartitions 用于拟合的分区数。
  • newData 用于测试的 SparkDataFrame。
  • path 保存模型的目录。
  • overwrite 如果输出路径已经存在,是否覆盖的逻辑值。默认为 FALSE,这意味着如果输出路径存在则抛出异常。

返回:

spark.fpGrowth 返回一个拟合的 FPGrowth 模型。

带有频繁项集的SparkDataFrameSparkDataFrame 包含两列:items(与输入列类型相同的数组)和freq(项目集的频率)。

带有关联规则的SparkDataFrameSparkDataFrame 包含五列:antecedent(与输入列类型相同的数组)、consequent(与输入列类型相同的数组)、confidence(对规则的置信度)lift(提升规则)和support(支持规则)

predict 返回包含预测值的 SparkDataFrame。

注意:

spark.fpGrowth 自 2.2.0

spark.freqItemsets(FPGrowthModel) 自 2.2.0

spark.associationRules(FPGrowthModel) 自 2.2.0

从 2.2.0 开始预测(FPGrowthModel)

write.ml(FPGrowthModel, character) 自 2.2.0 起

例子:

raw_data <- read.df(
  "data/mllib/sample_fpgrowth.txt",
  source = "csv",
  schema = structType(structField("raw_items", "string")))

data <- selectExpr(raw_data, "split(raw_items, ' ') as items")
model <- spark.fpGrowth(data)

# Show frequent itemsets
frequent_itemsets <- spark.freqItemsets(model)
showDF(frequent_itemsets)

# Show association rules
association_rules <- spark.associationRules(model)
showDF(association_rules)

# Predict on new data
new_itemsets <- data.frame(items = c("t", "t,s"))
new_data <- selectExpr(createDataFrame(new_itemsets), "split(items, ',') as items")
predict(model, new_data)

# Save and load model
path <- "/path/to/model"
write.ml(model, path)
read.ml(path)

# Optional arguments
baskets_data <- selectExpr(createDataFrame(itemsets), "split(items, ',') as baskets")
another_model <- spark.fpGrowth(data, minSupport = 0.1, minConfidence = 0.5,
                                itemsCol = "baskets", numPartitions = 10)

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 FP-growth。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。