从Weka命令行运行多个自定义程序包

时间:2014-11-26 17:20:06

标签: command-line weka

我从unix命令行运行WEKA。我想在Rotation Forest中包含一个交替决策树(ADTree),这两个包不属于标准的Weka 3.7包。

Per http://weka.wikispaces.com/How+do+I+use+the+package+manager%3F,我理解为调用非标准软件包(首次使用软件包管理器加载后)我应该调用 weka.Run 命令。如果我想在Weka附带的人工数据集上调用ADTree,我可以使用以下代码:

  

java -cp weka / weka.jar weka.Run ADTree -t weka / data / labor.arff

同样,如果我想要调用旋转森林,这段代码可以工作:

  

java -cp weka / weka.jar weka.Run RotationForest -t weka / data / labor.arff

但是,我不确定如何将两种算法包装在一起。

我可以说,在RotationForest中包装J48:

  

java -cp weka / weka.jar weka.Run RotationForest -t weka / data / labor.arff -W weka.classifiers.trees.J48

但我不确定如何在调用Rotation Forest后调用ADTree。以下工作都没有:

  

java -cp weka / weka.jar weka.Run RotationForest -t weka / data / labor.arff weka.Run ADTree

     

java -cp weka / weka.jar weka.Run RotationForest -t weka / data / labor.arff -W weka.Run ADTree

     

java -cp weka / weka.jar weka.Run RotationForest -t weka / data / labor.arff -W weka.classifiers.trees.ADTree

有人可以指出我做错了什么吗?

1 个答案:

答案 0 :(得分:2)

怯懦地,我继续谷歌搜索,在这里找到了解决方案:http://forums.pentaho.com/showthread.php?152334-WEKA-RotationForest-by-comman-line-is-not-working

基本上,我需要用以下语言开始我的语法:

  

java -cp wekafiles / packages / alternatingDecisionTrees / alternatingDecisionTrees.jar:wekafiles / packages / rotationForest / rotationForest.jar:weka / weka.jar

  

java -cp [path-to-package_1]:[path-to-package_2]:[path-to-weka.jar]

然后,我可以使用 weka.classifiers.meta.rotationForest weka.classifiers.trees.ADTree 并继续前进:

  

java -cp wekafiles / packages / alternatingDecisionTrees / alternatingDecisionTrees.jar:wekafiles / packages / rotationForest / rotationForest.jar:weka / weka.jar weka.classifiers.meta.rotationForest -t weka / data / labor.arff -W weka .classifiers.trees.ADTree

如果其他人可能觉得有帮助,我会把这篇文章打开。