https://github.com/feedzai/feedzai-openml-java
Implementations for Feedzai's OpenML APIs to allow for usage of machine learning models in the Java programming language.
https://github.com/feedzai/feedzai-openml-java
Last synced: about 1 year ago
JSON representation
Implementations for Feedzai's OpenML APIs to allow for usage of machine learning models in the Java programming language.
- Host: GitHub
- URL: https://github.com/feedzai/feedzai-openml-java
- Owner: feedzai
- License: apache-2.0
- Created: 2018-10-03T08:06:26.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-03T18:43:56.000Z (over 1 year ago)
- Last Synced: 2025-04-30T04:49:00.290Z (about 1 year ago)
- Language: Java
- Homepage: https://www.feedzai.com
- Size: 26.5 MB
- Stars: 2
- Watchers: 10
- Forks: 11
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Feedzai OpenML Providers for Java
[](https://travis-ci.com/feedzai/feedzai-openml-java)
[](https://codecov.io/gh/feedzai/feedzai-openml-java)
[](https://www.codacy.com/app/feedzai/feedzai-openml-java?utm_source=github.com&utm_medium=referral&utm_content=feedzai/feedzai-openml-java&utm_campaign=Badge_Grade)
Implementations of the Feedzai OpenML API to allow support for machine
learning models in Java.
All models may be used in nodes with AMD64 and ARM64 cpu architectures
except for H2O-xgboost that can be used only with AMD64 cpu architectures.
## Building
This is a Maven project which you can build using the following command:
```bash
mvn clean install
```
If the build fails compiling for ARM64 you may need to run:
```bash
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
```
To use the models on Operating Systems with musl (supported only for AMD64 architectures), the ENV variable `FDZ_OPENML_JAVA_LIBC`
must be set to `musl`. This variable can take the values `glibc` and `musl`. H2O-xgboost can't be used with musl.
## Releasing
For all releases, as the hotfix branch is ready all that's needed to actually release is to create an annotated tag pointing to the hotfix branch head.
### Public Release
For a public release you need to create and push an annotated tag. See the example below for releasing version 1.2.29:
```bash
# Ensure the tag is made on the updated branch
git fetch -a
git checkout origin/hf-1.2.X
git tag -a 1.2.29
# Your EDITOR will open. Write a good message and save as it is used on Github as a release message
git push origin 1.2.29
```
Then you need to [create a new release](https://github.com/feedzai/feedzai-openml-java/releases/new) with this tag.
There is a "Generate release notes" button available to create the release notes, just organize them according [to the previous ones](https://github.com/feedzai/feedzai-openml-java/releases).
### Experimental Release
For experimental releases, the process is the same as above but with a lightweight tag instead of annotated.
```bash
#the xp part is not needed, what matters is that the tag is not annotated, but is a good indicator for others that this was a tag for an experimental release
git tag 1.5.0-xp
git push origin 1.5.0-xp
```
## Modules
### H2O
[](https://mvnrepository.com/artifact/com.feedzai/openml-h2o)
The `openml-h2o` module contains a provider that allows to load and train models with [H2O](https://www.h2o.ai/).
Pull the provider from Maven Central:
```xml
com.feedzai
openml-h2o
1.2.0
```
### DataRobot
[](https://mvnrepository.com/artifact/com.feedzai/openml-datarobot)
The `openml-datarobot` module contains a provider that allows to load models trained with [DataRobot](https://www.datarobot.com/).
Pull this module from Maven Central:
```xml
com.feedzai
openml-datarobot
1.2.0
```
### LightGBM
[](https://mvnrepository.com/artifact/com.feedzai/openml-lightgbm)
The `openml-lightgbm` module contains a provider that allows to load models trained with [Microsoft LightGBM](https://github.com/microsoft/LightGBM).
Pull this module from Maven Central:
```xml
com.feedzai
openml-lightgbm
1.2.0
```