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.
This is a Maven project which you can build using the following command:
mvn clean install
If the build fails compiling for ARM64 you may need to run:
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.
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.
For a public release you need to create and push an annotated tag. See the example below for releasing version 1.2.29:
# 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 with this tag. There is a "Generate release notes" button available to create the release notes, just organize them according to the previous ones.
For experimental releases, the process is the same as above but with a lightweight tag instead of annotated.
#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
The openml-h2o
module contains a provider that allows to load and train models with H2O.
Pull the provider from Maven Central:
<dependency>
<groupId>com.feedzai</groupId>
<artifactId>openml-h2o</artifactId>
<!-- See project tags for latest version -->
<version>1.2.0</version>
</dependency>
The openml-datarobot
module contains a provider that allows to load models trained with DataRobot.
Pull this module from Maven Central:
<dependency>
<groupId>com.feedzai</groupId>
<artifactId>openml-datarobot</artifactId>
<!-- See project tags for latest version -->
<version>1.2.0</version>
</dependency>
The openml-lightgbm
module contains a provider that allows to load models trained with Microsoft LightGBM.
Pull this module from Maven Central:
<dependency>
<groupId>com.feedzai</groupId>
<artifactId>openml-lightgbm</artifactId>
<!-- See project tags for latest version -->
<version>1.2.0</version>
</dependency>