【问题标题】:How to Structure data for Apriori Algorithm?如何为 Apriori 算法构建数据?
【发布时间】:2017-01-14 13:42:34
【问题描述】:

我想看看发布一件事的用户是否也会发布另一件事。我在 R studio 中使用了 TwittR 包来下载包含关键字的推文,然后在 python 中下载了这些用户的时间线。我的数据结构如下。

用户名、id、created_at、文本

exampleuser,814495243068313603,2016-12-29 15:36:13, 'MT @nixon1788: 奥巴马和左派是令人作呕的反犹太派! #WithdrawUNFunding'

是否可以使用先验算法生成关联规则?有谁知道如何构造这些数据以便使用它,或者是否可以使用我拥有的数据?

【问题讨论】:

  • 您希望在这里确定什么样的关联?主题标签之间的关联。或者奥巴马这个名字和负面推文之间的关联。不管怎样,我认为@ImranAli 的建议会大有帮助。
  • 嗨,感谢您的回复,我想使用关键字(所以如果有人使用 obama 这个词发推文,他们也会使用“clinton”这个词发推文)我的问题是我不知道如何将我的数据强制转换为交易数据以用于此包。

标签: r apriori arules


【解决方案1】:

下面是一个例子:

txt <- c("Trump builds a wall", "Trump goes wall", "Obama buys drones", "Drones by Obama")
library(quanteda)
library(arules)
dfm <- dfm(txt)
trans <- as(as.matrix(dfm), "transactions")
rules <- apriori(
  data = trans, 
  parameter = list(minlen = 2L, maxlen=2, conf = 1), 
  appearance = list(lhs = c("obama", "trump"), default="rhs")
)
inspect(rules)
#   lhs        rhs      support confidence lift
# 1 {obama} => {drones} 0.5     1          2   
# 2 {trump} => {wall}   0.5     1          2  

【讨论】:

  • 嗨,这个例子完美地工作,谢谢!只是想知道,在尝试将自己的大型数据集强制转换为 dfm 时出现此错误:“validObject(r) 中的错误:无效类“dgTMatrix”对象:长度(Dimnames[1])与 Dim[1] 不同是 8" 知道如何摆脱它吗?
  • github repo of the quanteda package 上报告了类似问题。正如页面上所建议的,尝试使用devtools从github更新quanteda@
猜你喜欢
  • 1970-01-01
  • 2011-11-08
  • 1970-01-01
  • 2021-11-29
  • 2017-05-12
  • 2012-04-03
  • 2015-08-11
  • 1970-01-01
  • 2013-05-08
相关资源
最近更新 更多