我从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
有人可以指出我做错了什么吗?
答案 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
如果其他人可能觉得有帮助,我会把这篇文章打开。