问题标签 [apriori]
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.
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?
machine-learning - 对每个属性具有大量值的分类数据进行关联规则挖掘
我正在努力挖掘数据集的关联规则,该数据集有很多二进制属性,但也有很多分类属性。将分类转换为二进制在理论上是可能的,但不切实际。我正在寻找一种技术来克服这个问题。
汽车规格数据示例,要执行关联规则挖掘,汽车颜色属性应该是二进制的,而在颜色的情况下,我们有很多颜色要转换为二进制(我的数据集是保险索赔及其比这个例子差得多)。
r - 如何仅获取 arules 中特定列的 LHS 和 RHS 项目?
在 apriori 函数中,我希望结果只包含 LHSHouseOwnerFlag=0
和HouseOwnerFlag=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 列中没有任何内容。所以它对它没有用inspect
,subset
因为它当然会返回null。我用不同的支持号码对其进行了多次测试,以试验产品是否会出现,但 7 条相同的规则保持不变。
所以我的问题是,如何同时指定 LHS(HouseOwnerFlag)和 RHS(产品)?我究竟做错了什么?
编辑:您可以通过从https://www.dropbox.com/s/tax5xalac5xgxtf/testdf.txt?dl=0下载此测试数据集来重现此问题,请
注意,我只从一个巨大的数据集中获取了前 20 行,所以不幸的是,此处的输出不会与我上面显示的示例具有相同的产品名称。但问题仍然是一样的。我希望能够仅获得HouseOwnerFlag=0
和/或HouseOwnerFlag=1
在 LHS 和Product
RHS 上的列。
xml - 为 Apriori 算法准备 XML 数据
Apriori算法一般以矩阵形式接收输入,如下:
同时,我的输入是一般形式的 XML 数据:
如何将此类数据转换为算法可接受的合适形式?任何建议。
谢谢
associations - 查询由 weka apriori 算法创建的关联规则
aprori 算法产生大量规则,有没有办法查询/过滤生成的规则集,例如查找具有特定项目出现在先行词中的规则,或具有特定大小的规则?
sql-server - 在 SQL Server 中插入查询
我有这张桌子TAB
我想获取单个 id 一起出现的 trans 的计数,例如,'1 有 90 和 99','2 有 90 和 99' 在整个表中,所以计数为 2。这类似于 Apriori 算法第三步。
我试过这个,但没有奏效-
我对 Trans- 90 和 99 的预期答案是
翻译1 | 反式2 | 支持 - - - - - -
90 | 99 | 1
我也想把它插入到一个新表中。
r - 在 R/Excel 中将多行数据转换为单行
我正在为 Market Basket Analysis 处理交易数据,该数据具有以下提到的表格格式:
我想转换数据的布局,以便先验算法可以工作,将数据作为单个事务数据。因此,出于此目的,我想将数据转换为以下格式:
谁能帮助我在 R 或 Excel 中转换这些数据?
这些数据是否适用于在 R 中运行先验算法(希望它会起作用)?
r - R修剪挖掘规则 - 先验
我对在 R 中使用 apriori 获得的规则有疑问。
在数据输入、转换等之后,我输入了命令
规则 <- apriori(orders, parameter = list(supp = 0.01, conf = 0.5, maxlen=2))
我得到了我的规则。例如:
我的回答是:有没有办法修剪我不感兴趣的规则?在这种情况下,我只想查看第一条和第三条规则,以避免使用两条规则连接两个项目的“循环”规则。
谢谢!
r - R源代码中的Apriori算法
我正在尝试用 R 代码编写先验算法。首先,我想计算列表中每个项目的频率。我的初始代码如下:
我的结果是:
但是,我希望它被安排为(也许在矩阵或数组中重新列出,然后我可以进一步使用它):
每个项目显示频率计数和字母顺序。有没有办法实现它?我尝试了 cbind、apply、relist,但还没有找到解决方案。谢谢
更新:
现在我的结果为:
然后如何从扫描原始列表中设置“I1,I2”,...,“I2,I3”的组合?
UpDATE:我尝试如下组合,它输出一个矩阵。
进一步修改为:
我的结果是:
接下来是从原始“a_list”中计算上述项目集的频率。也许最好输出为
为了与原始列表进行比较。
如何从原始 a_list 中获取此矩阵中项集的频率?先验算法要求扫描不小于最小支持度的所有项集,从1维(即a_list中的“I1”、“I2”、...、“I5”)到2维(即。“I1,I2”“I1 ,I3" "I2,I3" 在这种情况下),然后在适用的情况下打开(例如 "I1,I2,I3")。
更新:现在我可以单独找到具有特定模式的匹配项,例如 ("I1","I2") 或 ("I1","I3")。
结果:
一次性匹配“结果”中的所有模式(我在上面的示例中手动输入模式,但需要从“结果”中提取)的问题仍有待解决。并以以下形式输出它们: