簡體   English   中英

如何使用 rpy2 使 arules.apriori 在 python 中工作

[英]How can i make arules.apriori work in python using rpy2

我正在嘗試使用 rpy2 在 python 中運行先驗算法。 我碰壁了,因為我想給算法一些參數,但是代碼不起作用。 如果我將參數留空,它將運行。 有沒有辦法讓先驗算法與參數一起工作?

我有一些 R 經驗,在 R 我的代碼看起來像這樣。

output <- apriori(input, parameter = list(support=.01, confidence=.01, minlen=2))

python 代碼:

from rpy2.robjects.packages import importr
import rpy2.robjects as robjects
import rpy2.robjects.packages as rpackages

# import R packages
base = importr('base')
arules = importr('arules')
arulesViz = importr('arulesViz')
Matrix = importr('Matrix')
utils = importr('utils')
grid = importr('grid')

data = robjects.r('read.transactions("input_data.csv", sep = ",",rm.duplicates=FALSE)')
summary_r = arules.itemFrequency(data, type="absolute")
apr = arules.apriori(data,parameter=list(support=0.001, confidence=0.001, minlen=2))

print(apr)

我在另一個論壇上找到了上述問題的答案。

您需要添加以下代碼

from rpy2.robjects.vectors import ListVector

apr = arules.apriori(data,parameter= robjects.ListVector({"support":0.01, "confidence":0.01, "minlen":2}))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM