在调用Weka时无法找到或加载主类
我为我的Java
noobness道歉,但我试图从控制台使用Weka
,由于某种原因我得到以下错误:
Error: Could not find or load main class weka.classifiers.trees.J48
我正在尝试以下命令:
java weka.classifiers.trees.J48 -l C:\xampp\htdocs\frequencyreplyallwords.arff -TC:\xampp\htdocs\testfreqrep.arff -p 0 > C:\xampp\htdocs\output.txt
我怀疑classpath存在一些问题但是因为我不太了解Java是否有任何简单的方法来检查一切是否正确?
感谢您的任何帮助
您可以使用-cp
参数提供类路径:
java -cp /path/to/weka/weka.jar weka.classifiers.trees.J48 ... # on Windows, this is probably something like java -cp C:\path\to\weka\weka.jar weka.classifiers.trees.J48 ...
我假设你使用windows,所以这是windows命令行示例。 如果你得到
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
您应该获得系统值以及weka值,例如weka.version:3.7.9
Linux / macOS解决方案
-
从此目录下载相关版本,例如Developer Linux版本,3.9.1版本
-
~/.bash_profile
添加到~/.bash_profile
cat ~/.bash.profile
的命令输出
export R_HOME="/Applications/R.app/Contents/MacOS/R" #for WEKA MLR R plugin export CLASSPATH="/Applications/weka-3-9-1/weka.jar" #for WEKA commandline export WEKAINSTALL="/Applications/weka-3-9-1" export WEKA_HOME="/Applications/weka-3-9-1" export CLASSPATH=$CLASSPATH;$WEKA_HOME/weka.jar export HEAP_OPTION=-Xms4096m -Xmx8192m export JAVA_COMMAND java $HEAP_OPTION
之后你应该能够跑
java weka.classifiers.trees.J48 -t $WEKAINSTALL/data/iris.arff
输出
J48 pruned tree ------------------ petalwidth <= 0.6: Iris-setosa (50.0) petalwidth > 0.6 | petalwidth <= 1.7 | | petallength <= 4.9: Iris-versicolor (48.0/1.0) | | petallength > 4.9 | | | petalwidth <= 1.5: Iris-virginica (3.0) | | | petalwidth > 1.5: Iris-versicolor (3.0/1.0) | petalwidth > 1.7: Iris-virginica (46.0/1.0) Number of Leaves : 5 Size of the tree : 9 Time taken to build model: 0.44 seconds Time taken to test model on training data: 0.01 seconds === Error on training data === Correctly Classified Instances 147 98 % Incorrectly Classified Instances 3 2 % Kappa statistic 0.97 Mean absolute error 0.0233 Root mean squared error 0.108 Relative absolute error 5.2482 % Root relative squared error 22.9089 % Total Number of Instances 150 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class 1.000 0.000 1.000 1.000 1.000 1.000 1.000 1.000 Iris-setosa 0.980 0.020 0.961 0.980 0.970 0.955 0.990 0.969 Iris-versicolor 0.960 0.010 0.980 0.960 0.970 0.955 0.990 0.970 Iris-virginica Weighted Avg. 0.980 0.010 0.980 0.980 0.980 0.970 0.993 0.980 === Confusion Matrix === abc <-- classified as 50 0 0 | a = Iris-setosa 0 49 1 | b = Iris-versicolor 0 2 48 | c = Iris-virginica === Stratified cross-validation === Correctly Classified Instances 144 96 % Incorrectly Classified Instances 6 4 % Kappa statistic 0.94 Mean absolute error 0.035 Root mean squared error 0.1586 Relative absolute error 7.8705 % Root relative squared error 33.6353 % Total Number of Instances 150 === Detailed Accuracy By Class === TP Rate FP Rate Precision Recall F-Measure MCC ROC Area PRC Area Class 0.980 0.000 1.000 0.980 0.990 0.985 0.990 0.987 Iris-setosa 0.940 0.030 0.940 0.940 0.940 0.910 0.952 0.880 Iris-versicolor 0.960 0.030 0.941 0.960 0.950 0.925 0.961 0.905 Iris-virginica Weighted Avg. 0.960 0.020 0.960 0.960 0.960 0.940 0.968 0.924 === Confusion Matrix === abc <-- classified as 49 1 0 | a = Iris-setosa 0 47 3 | b = Iris-versicolor 0 2 48 | c = Iris-virginica