Could not find or load main class when calling Weka

后端 未结 3 1494
情歌与酒
情歌与酒 2021-01-06 20:22

I apologise for my Java noobness but I am trying to use Weka from console and for some reason I get following error:

Error: Could n         


        
相关标签:
3条回答
  • 2021-01-06 20:48

    Linux/macOS solution

    1. download a relevant version such as the Developer Linux version here, the 3.9.1 version, from this directory here

    2. add the following lines to your ~/.bash_profile

    The command output ofcat ~/.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
    

    after which you should be able to run

    java weka.classifiers.trees.J48 -t $WEKAINSTALL/data/iris.arff
    

    outputting

    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 ===
    
      a  b  c   <-- 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 ===
    
      a  b  c   <-- classified as
     49  1  0 |  a = Iris-setosa
      0 47  3 |  b = Iris-versicolor
      0  2 48 |  c = Iris-virginica
    
    0 讨论(0)
  • 2021-01-06 20:49

    You can provide the class path with the -cp param:

    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 ...
    
    0 讨论(0)
  • 2021-01-06 21:03

    I assume, you use windows, so this is windows command line example. If you get

    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
    

    You should get your system values along with weka values, like weka.version: 3.7.9

    0 讨论(0)
提交回复
热议问题