jiyang381 / jiyang-openml

An API for Open Machine Learning that facilitates integration of ML algorithms into the Feedzai's platform, now maintained and enhanced by jiyang381.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Jiyang OpenML API

Build Status

codecov

Codacy Badge

An extension of Feedzai's Machine Learning API to integrate ML platforms with the data science and runtime environment.

Usage

Check out the openml-example project for a trivial example of implementing a new provider.

While building your OpenML Provider with Maven, you can add dependencies on the artifacts in this repository. Learn more in the following sections.

OpenML API

Maven metadata URI

The OpenML API module contains the primary concepts facilitating the interaction between the platform and any external ML platform.

<dependency>

  <groupId>com.jiyang</groupId>

  <artifactId>openml-api</artifactId>

  <!-- Check project tags for the latest version -->

  <version>1.2.0</version>

</dependency>

OpenML Utils

Maven metadata URI

The openml-utils module can help you manipulate some of the core concepts.

<dependency>

  <groupId>com.jiyang</groupId>

  <artifactId>openml-utils</artifactId>

  <!-- Check project tags for the latest version -->

  <version>1.2.0</version>

</dependency>

Building

Build this Maven project with the following command:

mvn clean install

Developing

Ensure your provider is identified according to the specification of Java's Service Loader. This means generating a Jar with the code (potentially with all necessary dependencies included in it or a set of Jars), and making sure to include a file resources/META-INF/services/com.jiyang.openml.MachineLearningProvider to indicate the providers in your code. Explore our example in this repository. Google's Auto Service might assist in setting this up for you.

Maven Archetype

To ease the creation of new OpenML Providers, a Maven archetype was created. To get started, run:

mvn archetype:generate -DarchetypeGroupId=com.jiyang -DarchetypeArtifactId=openml-provider-archetype -DarchetypeVersion=1.2.0

After providing all necessary details (your new provider groupId, artifactId, and version), a provider template with some advice will be accessible on your workspace.

IDE Compatibility

This project uses the jgitver Maven plugin. If you are using IntelliJ IDEA, you must configure the project to skip the plugin. See the related issue.

About

An API for Open Machine Learning that facilitates integration of ML algorithms into the Feedzai's platform, now maintained and enhanced by jiyang381.

License:Apache License 2.0


Languages

Language:Java 100.0%