所以,这是我遇到的问题。我写了一个简单的.bat文件,在我拥有的一些数据集上运行weka但是Java最近更新了它并且它停止了工作。我的旧代码是这样的:
@ECHO OFF
SET CLASSPATH = "C:\Program Files (x86)\Weka-3-6\weka.jar"
FOR /r %%I IN (*.arff) DO (
ECHO Running %%~nI.arff
java weka.classifiers.meta.FilteredClassifier -t %%~nI.arff -F "weka.filters.unsupervised.attribute.Remove -R 1,3,4,5" -W weka.classifiers.functions.LinearRegression -x 10 >> results.txt
ECHO >> results.txt
)
之前有效,它完成了我所要求的工作。但是,在java更新之后,我不断收到错误“无法找到或加载主类weka.classifiers.meta.FilteredClassifier”。我无法弄明白,因为目录名和类名完全正确。所以,我把代码更改为:
@ECHO OFF
SET CLASSPATH = "C:\Program Files (x86)\Weka-3-6\weka.jar"
FOR /r %%I IN (*.arff) DO (
ECHO Running %%~nI.arff
java -cp "C:\Program Files (x86)\Weka-3-6\weka.jar" weka.classifiers.meta.FilteredClassifier -t %%~nI.arff -F "weka.filters.unsupervised.attribute.Remove -R 1,3,4,5" -W weka.classifiers.functions.LinearRegression -x 10 >> results.txt
ECHO >> results.txt
)
它再次起作用。谁能告诉我为什么会这样?我唯一能想到的是Java更新在某种程度上并不能很好地发挥作用。任何见解都将不胜感激。
答案 0 :(得分:0)
SET WEKA_HOME=c:\Program Files (x86)\Weka-3-6
SET CLASSPATH=%CLASPATH%;%WEKA_HOME%\weka.jar
bash learn.sh