问题标签 [arules]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - 使用java的R arules包中的问题
对于一个大学项目,我必须在 java 中实现 arules(R 包)。我已经使用 JRI 成功集成了 R 和 java。我不明白如何获得“ inspect(Groceries[1:1])
”的输出。我试过了,asString(),asString[]()
但这给了我以下错误:
另外,如何summary(Groceries)
在java中实现?如何在字符串数组或字符串中获取摘要的输出?
代码:
Java代码:
r - R 中的 Apriori,arulesSequences:它是否支持“篮子”序列(单次购物行程中的订单无关紧要)?
我开始使用 arulesSequences,目的是对我拥有的一些数据执行频繁序列挖掘。商店 A 的数据如下所示:
CUSTOMER_ID seq_num 购买的商品尺寸
1 17399 1 2 {100,100}
2 17399 2 1 {800}
3 17399 3 2 {900,900}
4 17399 4 1 {405}
5 17399 5 4 {200,505,200,505}
这意味着这个顾客 #17399 多次在这家商店 A 购物。在他/她的第一次购物之旅中,此人购买了商品代码为 100 和 100 的商品(2 件商品)。在他/她的第二次购物之旅中,该客户只购买了商品 800。以此类推。
现在我想在这个客户上使用 cSPADE,订单在“购物篮”中并不重要,但在购物行程中却很重要。所以最终我对客户 17399 的记录是:
CUSTOMER_ID 购买了_items
17399 {(100,100),800,(900,900),405,(200,505,200,505)}
其中 {} 包含完整序列, () 表示每次购物行程。
我总体上理解这是一种可能性。但是,我没有看到任何示例(搜索了几个小时)或明确谈论支持这一点的 arulesSequences 的注释。有什么想法吗?将不胜感激。
谢谢你的时间。
r - 来自 R (arulesSequences) 中 cSPADE 的奇数结果,带有大数据。我可以强制 numpart 为 1 吗?有风险吗?
我一直在尝试在我的交易文件中有大约 700 万条记录的数据集上使用 cSPADE(700 万个唯一的 sequenceID x eventID 对)。当我尝试在这个数据集上运行 cSPADE 时得到的支持结果似乎完全错误。但是,当我使用 ~86,000 条记录(前一个文件的头,或多或少)时,结果看起来是正确的。我注意到,到目前为止,详细日志打印出仅使用了 1 个分区,而当我尝试约 850,000 条记录时,使用了 3 个分区。
使用 100,000 条记录时的详细输出(具有合理的外观结果):
使用 1000,000 条记录时的详细输出(结果看起来错误):
我发现我可以在调用 cSPADE 时将分区数设置为 1,从而解决了问题。但是 cSPADE 确实会输出警告说:
我需要注意这个警告吗?设置 numpart=1(强制 #partitions 为 1)有什么缺点?如果有,有什么方法可以让我在不控制此参数的情况下获得正确的答案?
r - r 包安装问题“arules”
我正在尝试在 linux 系统中安装 r 包“arules”。我使用的是 R 版本 3.2.2(32 位)。错误信息是这样的:
我不明白如何解决这个错误?这个版本或那个包不再可用?
r - 如何将关联规则集成到新数据集
我在事务数据集上使用 R 中的 arules 生成了一个规则列表。现在,我有一个新数据集,其中包含客户列表和他们在过去 2 个月购买的产品列表。
我的目标是使用从交易数据中获得的规则向这些客户推荐新的相关产品。但是我找不到一种方法来根据客户的购买自动向客户应用推荐(规则)。
欢迎任何建议。
谢谢。
r - 在 r 中将表数据转换为事务数据
对于当前的项目,我正在尝试找到一种方法将大量表数据(19 个变量的 300,000+ obs.)转换为 arules 的事务数据。大量的变量被逻辑格式化。
我尝试了以下方法library(arules)
:newdata <- read.transactions("olddata.csv", format = "basket", rm.duplicates = FALSE, skip = 1)
但是我收到以下错误:
Error in asMethod(object) :
can not coerce list with transactions with duplicated items
我不想删除重复项,因为我丢失了太多数据,因为它会在第一次出现后删除每个重复的逻辑 T/F。
我想我可以尝试使用 for 循环来完成我的任务:
我的目标是让每个观察值的每个变量的值如下所示:columnnameA=TRUE
、columnnameB=FALSE
等。这将消除read.transactions
函数的“重复”并保留所有数据。
但是我的输出开始看起来像这样:
请注意,收件人是我olddata
对象中的第一个变量名。在Recipient=X
它更改为下一个变量名称并重复时进行每次观察。我最终得到了一个包含超过 500 万个观察值的文件……哎呀!这是我第一次真正尝试嵌套 for 循环。不确定这是最好的方法还是有更好的方法。
提前感谢您可能有的任何想法或见解。
r - arules 隔离 lhs 和 rhs
所以这里是一个例子:
我想创建一个包含 2 列的 data.table,一个称为 lhs,另一个 rhs 存储了我的规则的 lhs 和 rhs 值,如下所示:
我发誓我曾经a<-as.data.table(inspect(rules))
在 Windows 上做过一次,但在我的 Mac 上却不起作用......你有什么建议?
r - 使用 arule 的函数的打包问题
我正在使用 R 并尝试将一堆函数组装到一个包中。其中一个函数使用包 arules 从数据集中挖掘规则,对它们进行子集化并获取其他兴趣度量。
我对子集它们的行有问题。
只要我加载了 arules,这些函数就可以在包之外工作,但无论我是否将 arules 设置为 Depends、Imports 或让函数使用 library(arules) 调用它,这些函数都不能在包中工作。显示的错误是“匹配”需要向量参数。我认为 Arules 有自己的 match 版本来解决这个问题,我尝试了 arules::match(rhs,"event"),但我仍然遇到同样的问题。
r - R从交易数据中删除项目
我正在处理 R 包规则。我有一个 csv 文件,其中 6 列分别命名为:item1、item2、item3、item4、item5、item6。每个单元格代表一个篮子中的一个项目,每一行代表一个交易的整个篮子。问题是在将 csv 文件读取为:
并将其转化为交易后:
我发现那些空的单元格被视为名称下的项目,即'itme3 ='。有没有办法指定必须忽略空单元格,或者是否可以从 R 事务数据中消除某些项目?