> I have tried through a native shell and through the WSL Ubuntu, even the Docker image is not working for me.
Docker will only work through WSL2 as it is based on a Linux base image.
Try setting up a Python virtual environment in your WSL2:
python3 -m venv venv
./venv/bin/pip install numpy
./venv/bin/pip install python-javabridge
./venv/bin/pip install python-weka-wrapper3
Then run this command:
./venv/bin/pww-classifier -h
Which should output something like this:
usage: pww-classifier [-h] [-j classpath] [-X heap] -t train [-T test]
[-c class index]
[-d outmodel] [-l inmodel] [-x num folds] [-s
seed] [-v] [-o] [-i] [-k]
[-m costmatrix] [-g graph]
classifier ...
Performs classification/regression from the command-line. Calls JVM
start/stop automatically.
...
> I guess there is something to do with my system. I have also tried Jython console and calling weka from command line using java command.
Syntax between pww3 and Jython will be different. In the former you
are running a Python 3 process that communicates with a JVM via JNI
and in the latter your staying in the same JVM process using Python
2.7 like syntax to directly access the Weka objects.
> I want to automate a batch processing rule extraction with ripper, prior to remove the attributes with a correlation with the target greater than a threshold (0.01) and using several seeds for the ripper. I am struggling to do it through the jython console, which for me would be ideal, since it uses Python but the weka part is still not clear.
I presume that you want to use the following classifier?
weka.classifiers.rules.JRip
https://weka.sourceforge.io/doc.dev/weka/classifiers/rules/JRip.html