Setting up and running WEKA
for CS 391L: Machine Learning



[A] Editing your shell's initialization file

The instructions below describe how to make WEKA run under your CS account. They involve some commands, such as creating aliases and setting environment variables, that you will not want to repeat every time you use WEKA. To avoid this, you can add those commands to your shell's initialization file (.cshrc for tcsh or csh shell and .bashrc for bash shell) so that everything will be configured automatically when your shell is run.

[A] Setting up Java:

First check that you are running Java 2 (Java 5 will not work with Weka). Type the following commands at the prompt:

which java
which javac

If these commands do not return "/lusr/java2/bin/java" and "/lusr/java2/bin/javac", respectively, then you are not using the correct version of Java. You can fix this by creating aliases as follows.

For tcsh or csh shells:

alias javac /lusr/java2/bin/javac
alias java /lusr/java2/bin/java

For bash shell:

alias javac=/lusr/java2/bin/javac
alias java=/lusr/java2/bin/java

[B] Running the code from Dr. Mooney's installation:

1. Setting up the classpath for Java

To run WEKA classes, Java needs to be able to find them somewhere in your CLASSPATH environment variable.

If you are using tcsh or csh shells type: setenv CLASSPATH ".:/u/mooney/cs391L-code/weka"
If you are using bash shell type: export CLASSPATH=".:/u/mooney/cs391L-code/weka"

If your CLASSPATH already contains directories you don't want to eliminate, you can just append ":/u/mooney/cs391L-code/weka" to your existing CLASSPATH. You can view your current CLASSPATH by typing echo $CLASSPATH at the prompt.

2. Running the code

As a test of your configuration, try to run Dr. Mooney's version-space code. First, copy a data file to your current directory:

cp /u/mooney/cs391L-code/weka/data/figure.arff .

Then run Dr. Mooney's version-space code:

java weka.classifiers.vspace.ConjunctiveVersionSpace -t figure.arff -T figure.arff -v -P

The output should match the beginning of the Homework #1 Trace File. The trace file also gives examples of other commands to run. Remember to copy the data files to your local directory first or to supply the full pathname in your command.

[C] Creating your own WEKA installation:

In order to edit Dr. Mooney's code and add the features required in the homework assignments, you will need to create your own WEKA installation.

1. Copy Dr. Mooney's WEKA directory to your home directory

At the command prompt, type: cp -R /u/mooney/cs391L-code/weka ~

2. Setting up the classpath for Java

Now make your CLASSPATH point to WEKA's new location.

On tcsh or csh shells type: setenv CLASSPATH ".:$HOME/weka"
On bash shell type: export CLASSPATH=".:$HOME/weka"

As above, you can simply append ":$HOME/weka" to your CLASSPATH if it lists other directories you need.

3. Running the code

Now run the version-space code again but specify the new location of the data file:

java weka.classifiers.vspace.ConjunctiveVersionSpace -t weka/data/figure.arff -T weka/data/figure.arff -v -P

4. Recompiling after modifications

Now that you have your own copy of the WEKA code, you can make modifications to it. To recompile a file ABC.java, type: javac ABC.java