在Sparklyr中使用ml_fpgrowth选择支持和置信度值

问题描述 投票:0回答:1

[我正在尝试从Kaggle script中获得一些启发,其中作者使用规则在R中进行了市场篮子分析。我对该部分特别感兴趣,在该部分中,它们传递了置信度和支持值,然后进行绘图为帮助选择最佳值而生成的规则数量,而不是生成大量规则。

enter image description here

[我希望尝试相同的过程,但是我在R中使用fpgrowth的sparklyr / spark,并且我正在努力实现相同的输出,即每个信任度和支持值的规则计数。

[从有限的示例和文档中,我相信我会带着信心和支持价值将交易数据传递给ml_fpgrowth。然后,此函数生成一个模型,然后将其传递给ml_association_rules以生成规则。

# CONVERT TABLE TO TRANSACTION FORMAT
trans <- medical_tbl %>% 
  group_by(alt_claim_id) %>%
  summarise(items = collect_list(proc_cd))

# SUPPORT AND CONFIDENCE VALUES
supportLevels <- c(0.1, 0.05, 0.01, 0.005)
confidenceLevels <- c(0.9, 0.8, 0.7, 0.6, 0.5, 0.4, 0.3, 0.2, 0.1)

# EMPTY LISTS
model_sup10 <- vector("list", length = 9)
model_sup5 <- vector("list", length = 9)
model_sup1 <- vector("list", length = 9)
model_sup0.5 <- vector("list", length = 9)

# FP GROWTH ALGORITHM WITH A SUPPORT LEVEL OF 10%
for (i in 1:length(confidenceLevels)) {
  model_sup10[i] <- ml_fpgrowth(trans,
                                min_support = supportLevels[1],
                                min_confidence = confidenceLevels[i],
                                items_col = "items",
                                uid = random_string("fpgrowth_"))}

我尝试检查model_sup101以上模型之一的某些规则,但无法提取任何规则。从下面的代码中,我得到以下错误

rules <- ml_association_rules(model_sup10[[1]][1])
Error: $ operator is invalid for atomic vectors

任何人都可以帮助甚至解释fpgrowth是否可行,实现我为每个支持/信心配对绘制生成的规则数目的目标的最佳方法是什么?

r sparklyr fpgrowth
1个回答
0
投票
[与dplyr和sparklyr撞了一些头之后,我设法将下面的拼凑在一起。如果有人对我如何改进此代码有任何反馈,请随时发表评论。
© www.soinside.com 2019 - 2024. All rights reserved.