问题标签 [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.

0 投票
2 回答
3855 浏览

r - 使用 arules/apriori 过滤 rhs 不起作用

我将 arules::apriori 与二进制矩阵一起使用,并且只想创建在 RHS 上有一个特定列的规则。这是在文档中指定的,但似乎不起作用。事后过滤它很容易得到这个,但我首先浪费了大量的计算时间来计算所有规则。

例子:

规则现在包含 3378 条规则

rules.sub 包含 172 条规则

在我的实际数据中,我从数百万个结果变为 ~4000 个,这是一个巨大的差异。

0 投票
3 回答
391 浏览

r - 在 R 中编辑 Arules 数据框

您好,我已将我的规则转换为数据框以供进一步分析,但问题是我的数据框如下所示:

你能帮我把我的数据框改成这种格式吗?

0 投票
1 回答
2702 浏览

transactions - R:将数据帧转换为事务以使用 ARules 包

我有一个 csv 文件,它在导入后看起来像下面的数据框:

ID 和 Name 是因素。Flag1 到 Flag4 是 chr。

需要用到rules包,所以需要把这个数据框转成事务文件。我知道要这样做,我需要将所有值转换为因子,所以我这样做了:

这给了我这个:

然后我尝试直接读取csv文件:

这给了我这个:

我认为这是因为数据中的 0,但我无法找到删除 0 的方法。要使用规则包中的函数,我需要数据集看起来像这样,对吗?

提前谢谢。

0 投票
1 回答
288 浏览

r - R 和 MapReduce 查找关联规则

我刚开始使用hadoop,我需要用它来计算一个非常大的数据集的关联规则。我无法理解如何使用 R Hadoop 和 MapReduce 从数据集关联规则中查找。我有事务矩阵,但是我需要做些什么来使用这个矩阵和 hadoop 执行先验算法?这是用于执行 apriori 的命令(包 arules)

我需要在reduce函数的map函数中使用它吗?

0 投票
1 回答
3981 浏览

r - 使用 arulesSequences 在 R 中进行 cSPADE 数据挖掘 - 转换为“事务”格式时出错

我无法将我的数据转换为 cSPADE 兼容格式。

我的数据框看起来像 -

当我使用 dataset1<- as(dataset, "transactions") 并运行时-

rules<- cspade(dataset1, parameter = list(support = 0.4), control = list(verbose = TRUE))

它抛出一个错误 - Error in cspade(dataset1, parameter = list(support = 0.4), control = list(verbose = TRUE)) : slot transactionInfo: missing 'sequenceID' or 'eventID'

任何人都可以帮助如何将上述数据集转换为 cSPADE 兼容格式?

0 投票
2 回答
2568 浏览

r - R: apriori error about not able to coerce NA's to nsparseMatrix

I am experimenting with the apriori algorithm in the arules package.

This is what I've done: I loaded a view from SQL Server into R. Since that data is not in transactions form (to use in apriori), I had to convert it:

data <- sapply(orders, as.factor)

Then I entered the apriori function:

apriori(data, parameter = list (support=0.005, confidence=0.5))

I get this error:

Error in t(as(from, "ngCMatrix")) : error in evaluating the argument 'x' in selecting a method for function 't': Error in asMethod(object) : cannot coerce 'NA's to "nsparseMatrix"

I checked with a query and I don't even have any attribute that is NULL/NA.

I don't understand what the error means. Does someone know what the problem is and how to solve this?

0 投票
3 回答
20849 浏览

r - 如何仅获取 arules 中特定列的 LHS 和 RHS 项目?

在 apriori 函数中,我希望结果只包含 LHSHouseOwnerFlag=0HouseOwnerFlag=1. RHS 应该只包含来自该列的属性Product。例如:

部分答案在这个问题中得到解决: R arules, mine only rules from specific column

所以现在我使用以下内容:
rules <- apriori(sales, parameter=list(support =0.01, confidence =0.8, minlen=2), appearance = list(lhs=c("HouseOwnerFlag=0", "HouseOwnerFlag=1")))

然后我从另一个 SO 问题中使用它来确保只有 Product 列在 RHS 上:
inspect( subset( rules, subset = rhs %pin% "Product=" ) )

结果是这样的:

所以显然 LHS 能够包含所有可能的列,而不是HouseOwnerFlag像我指定的那样。从其他 stackoverflow 问题中,我看到我可以放入default="rhs"apriori 函数,如下所示:
rules <- apriori(sales, parameter=list(support =0.001, confidence =0.5, minlen=2), appearance = list(lhs=c("HouseOwnerFlag=0", "HouseOwnerFlag=1"), default="rhs"))

然后在检查时(没有子集部分,只是inspect(rules),规则(7)比以前少得多,但它确实只包含HouseOwnerFlag在 LHS 中:

但是,在 RHS 中,RHS 中的 Product 列中没有任何内容。所以它对它没有用inspectsubset因为它当然会返回null。我用不同的支持号码对其进行了多次测试,以试验产品是否会出现,但 7 条相同的规则保持不变。

所以我的问题是,如何同时指定 LHS(HouseOwnerFlag)和 RHS(产品)?我究竟做错了什么?

编辑:您可以通过从https://www.dropbox.com/s/tax5xalac5xgxtf/testdf.txt?dl=0下载此测试数据集来重现此问题,请 注意,我只从一个巨大的数据集中获取了前 20 行,所以不幸的是,此处的输出不会与我上面显示的示例具有相同的产品名称。但问题仍然是一样的。我希望能够仅获得HouseOwnerFlag=0和/或HouseOwnerFlag=1在 LHS 和ProductRHS 上的列。

0 投票
1 回答
791 浏览

r - R如何为arules包加载稀疏数据

我有 CSV,其中的文本数据类似于:

我想将其加载到稀疏交易表单中,最好的方法是什么?我希望能够在其上使用 arules 包

0 投票
0 回答
781 浏览

r - (包 arules)如何将 CSV 文件导出到 r 并将其传输到事务中?

当我这样做的时候进展顺利

首先我试过这个

然后我尝试了这个

我真的不知道该怎么做,请帮帮我。

我的数据看起来像

0 投票
1 回答
971 浏览

r - 从 SQL Server 获取数据时与 arules 的关联规则

也许我只是愚蠢,但即便如此,我也会感谢一些有用的评论。

我确实有一个包含 ID、文章和文章属性(即分组)的数据集。使用RODBC,我从 SQL Server 数据库中获取表(使用sqlFetch)。因此,我无法read.transactions从 arules-package 中找到使用方法。格式构造为每一行都是一个ID到文章+分组组合。该表有 2200 万行,大约有 1100 万个唯一 ID。文章库约为 500,000 篇文章。出于说明目的,我创建了一个这样的示例数据框

产生一个类似于这个的data.frame

我想使用 arules 包进行购物篮分析。但是,如果我将 data.frame 传输到一个 transactions 对象,txn <- as(dat, "transactions")每一行都被标识为一个篮子。是否有可能将 arules 指向 id 变量作为标识符?基本上,我正在从-transformation中的函数中寻找"single"选项。第二个相关问题是:我可以在 arules 包中使用属性吗?我认为不仅需要在文章级别而且还需要在分组级别上使用算法进行分析。例如,如果我购买商品 A1053,我会找到推荐 groupA B3 的规则。这甚至可能吗?read.transactionsasapriori