當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。