0

パッケージ arules から apriori アルゴリズムを次のように使用するのは簡単です。

import rpy2.interactive as r
arules = r.packages.importr("arules")
from rpy2.robjects.vectors import ListVector

od = OrderedDict()
od["supp"] = 0.0005
od["conf"] = 0.7
od["target"] = 'rules'

result = ListVector(od)

my_rules = arules.apriori(dataset, parameter=result)

ただし、アプリオリ サブセットはサブセット パラメータで異なる形式を使用します。

rules.sub <- subset(rules, subset = rhs %in% "marital-status=Never-married" & lift > 2)

このサブセット関数をrpy2で使用することは可能ですか?

4

1 に答える 1

0

subsetが R パッケージで (再) 定義されている場合、取得しarulesたオブジェクトにはそれが含まれます。Python コードでは、これは のようになります。arulesimportrarules.subset

パラメーターsubsetは R 式なので、少し話が異なります。これに対処するには、いくつかの方法があります。それらの 1 つは、アドホック R 関数でラップすることです。

from rpy2.robjects import r
def mysubset(rules, subset_str):
    return r("function(rules) { arules::subset(rules, subset = %s) }" % \
             subset_str)

rules_sub = mysubset(rules,
                     "rhs %in% "marital-status=Never-married" & lift > 2)
于 2015-11-18T04:06:49.793 に答える