我正在编写一个C ++项目,偶尔会使用system
调用Weka来获取一些机器学习信息。首先,我想确保培训模型(training.model
)是最新的。所以,在主要的开始,我打电话:
system("\"java weka.classifiers.trees.J48 -t ML_data.arff -d training.model\"");
这给了Error: could not find or load main class weka.classifiers.trees.J48
。我知道这意味着什么,因此我将名为Weka-3-6
的整个Weka项目文件夹移动到找到项目的目录中。所以我试过了:
system("\"java \Weka-3-6\\weka.classifiers.trees.J48 -t ML_data.arff -d training.model\"");
但是返回Error: could not find or load Weka-3-6\weka.classifiers.trees.J48
。
我觉得我在正确的邻居,但我不能得到正确的斜线,我宁愿不要使用绝对路径,因为文件夹有空格,这使得它更加混乱。有任何想法吗?非常感谢帮助。
答案 0 :(得分:0)
打开终端/ cmd提示符并尝试在terminal / cmd提示符下运行命令。以下是Windows的cmd批处理脚本示例。你的问题很可能是java classpath设置而不是weka问题。如果您成功执行了以下命令,请在c ++中再次尝试使用命令。
SET WEKA_HOME=C:\Program Files\Weka-3-7
SET CLASSPATH=%CLASPATH%;%WEKA_HOME%\weka.jar
SET HEAP_OPTION=-Xms4096m -Xmx8192m
SET JAVA_COMMAND=java %HEAP_OPTION%
%JAVA_COMMAND% weka.core.SystemInfo