Feedzai OpenML API
Feedzai's extensible Machine Learning API to integrate ML platforms with Feedzai's data science and runtime environment.
Usage
See the openml-example
project as a trivial example of how to implement a new provider.
When building your OpenML Provider using Maven you can add dependencies on the artifacts in this repository. See the following sections to learn more about these.
OpenML API
This API contains the main concepts that allow interaction between Feedzai's platform and an external ML platform.
<dependency>
<groupId>com.feedzai</groupId>
<artifactId>openml-api</artifactId>
<!-- See project tags for latest version -->
<version>0.1.0</version>
</dependency>
OpenML Utils
The OpenML Utils library helps you to manipulate some of the core concepts.
<dependency>
<groupId>com.feedzai</groupId>
<artifactId>openml-utils</artifactId>
<!-- See project tags for latest version -->
<version>0.1.0</version>
</dependency>
Building
Build this Maven project using the following command:
mvn clean install
Developing
The key concept is the MachineLearningProvider
. To implement an OpenML provider, you have two options:
-
To load trained machine learning models to the Feedzai platform, implement the
MachineLearningProvider
interface. -
To train new machine learning algorithms within the Feedzai platform, implement the
TrainingMachineLearningProvider
extension of theMachineLearningProvider
interface.
See the openml-example
project for a trivial implementation of those concepts.
IDE Compatibility
This project makes use of the jgitver Maven plugin. When using Intellij IDEA you must configure the project to skip the plugin altogether. See the related issue.