JGU WEKA REST Service
RESTful API web service to WEKA Machine Learning Algorithms
The JGU WEKA REST service provides an OpenRiskNet compliant REST interface to machine learning algorithms from the WEKA library. This web service is developed by the Institute of Computer Science at the Johannes Gutenberg University Mainz.
OpenRiskNet is funded by the European Commission GA 731075.
WEKA is developed by the Machine Learning Group at the University of Waikato.
Documentation, Issue Tracker and Code available at GitHub.
Quick start
The JGU WEKA REST service is based on the Swagger-UI and JAX-RS frameworks. The API is in OpenAPI Specification ver. 3.0.1
To run a local environment for exploring the web service, execute the following:
mvn clean package jetty:run
This will run the Swagger-UI based REST API web service on a local Jetty instance which can then be viewed at the following URI:
http://0.0.0.0:8081
To use the web service for modelling, etc., refer to the documents Docker Image Deployment and Docker Development Environment.
Usage with the curl command
POST
ing a WEKA ARFF file to the web service and training a BayesNet based WEKA model using the curl
command is done as follows:
curl -X POST -H "Content-Type: multipart/form-data" -H "Accept:text/x-arff" \
-F "file=@/path/to/data/weather.nominal.arff;" -F "estimatorParams=0.5" \
-F "searchAlgorithm=local.K2" -F "estimator=SimpleEstimator" \
-F useADTree=0 -F searchParams='-P 1 -S BAYES' \
http://0.0.0.0:8081/algorithm/BayesNet
Documentation
- Deploying a Dockerized environment local or server hosted development environment.
- Deploying a Docker image: Build the Docker image with a Dockerfile.
- Running tests: Run Tests.
- OpenShift Deployment: Deployment in OpenShift.
- Examples of invoking model training/uploading dataset, etc using CLI/curl: Curl Examples.
- Authentication: Keycloak Integration.
- Java docs on gh-pages: JavaDocs.