构建“;交易”;基于arules和apriori的SparkR关联规则挖掘类
我正在使用SparkR并试图将“SparkDataFrame”转换为“transactions”,以便挖掘项目/产品的关联 我在这个链接上找到了一个类似的例子,但这只是在使用R data.frame时。我目前拥有这种格式的数据构建“;交易”;基于arules和apriori的SparkR关联规则挖掘类,r,apache-spark,sparkr,apriori,arules,R,Apache Spark,Sparkr,Apriori,Arules,我正在使用SparkR并试图将“SparkDataFrame”转换为“transactions”,以便挖掘项目/产品的关联 我在这个链接上找到了一个类似的例子,但这只是在使用R data.frame时。我目前拥有这种格式的数据 CUSTOMER_KEY_h PRODUCT_CODE 1 SAVE 1 CHEQ 1 LOAN 1 LOAN 1 CARD 1 SAVE 2 CHEQ 2 LOAN
CUSTOMER_KEY_h PRODUCT_CODE
1 SAVE
1 CHEQ
1 LOAN
1 LOAN
1 CARD
1 SAVE
2 CHEQ
2 LOAN
2 CTSAV
2 SAVE
2 CHEQ
2 SAVE
2 CARD
2 CARD
3 LOAN
3 CTSAV
4 SAVE
5 CHEQ
5 SAVE
5 CARD
5 LOAN
5 CARD
6 CHEQ
6 CHEQ
希望以这样的方式结束
CUSTOMER_KEY_h PRODUCT_CODE
1 {SAVE, CHEQ, LOAN, LOAN , CARD, SAVE}
2 {CHEQ, LOAN, CTSAV, SAVE, CHEQ, SAVE, CARD, CARD}
3 {LOAN, CTSAV}
4 {SAVE}
5 {CHEQ, SAVE, CARD, LOAN, CARD}
6 {CHEQ, CHEQ}
或者,如果我可以在SparkR中获得与此R脚本等效的代码
df2arules
软件包与SparkR不兼容。如果您想探索Spark上的关联规则,应该使用它自己的实用程序。首先使用collect\u set
组合记录:
库(magrittr)
df%
agg(别名(收集集合(列(“产品代码”),“项目”))
适合型号(请查看可用选项的完整列表):
fpgrowth
alias(collect_set(column("PRODUCT_CODE")), "items")
expr("collect_set(PRODUCT_CODE) AS items")