RWeka:如何将参数传递给BayesNet以获取特定的搜索方法

时间:2014-06-19 00:23:33

标签: r weka

我正在努力解决简单的问题。如何使用BayesNet将参数传递给RWeka包中的特定搜索方法。这是代码示例:

BNet <- make_Weka_classifier("weka/classifiers/bayes/BayesNet")
K2="weka.classifiers.bayes.net.search.local.K2"
wcontrol <- Weka_control(D=TRUE,Q=list(K2,P=2))
model <- BNet(target~., data=train.df, control=wcontrol)

此时它抱怨

Error in .jcall(classifier, "V", "buildClassifier", instances) :
java.lang.Exception: Can't find class called: weka.classifiers.bayes.net.search.local.K2 -P 2
Calls: BNet ... RWeka_build_classifier -> .jcall -> .jcheck -> .Call

我知道参数可以通过Weka_control传递,如果我只使用搜索方法,它就可以工作,例如。

wcontrol <- Weka_control(D=T,Q=K2)

它应该做的是传递额外的 - 在K2之后,因为使用java命令它看起来像这样:

java weka.classifiers.bayes.BayesNet -t iris.arff -D -Q weka.classifiers.bayes.net.search.local.K2 -- -P 2

我试图将双击加入K2定义,但仍然没有运气。

RWeka的限制还是仍有隐藏方式?

1 个答案:

答案 0 :(得分:0)

您应该能够使用

传递这些参数
wcontrol <- Weka_control(D=TRUE,Q=K2,"--",P=2)

请参阅RWeka Vignette

中的第4节“控制Weka选项”