https://github.com/feedzai/feedzai-openml
API for Feedzai's Open Machine Learning that allows to integrate ML algorithms in Feedzai's platform.
https://github.com/feedzai/feedzai-openml
api data-science feedzai machine-learning openml
Last synced: about 1 year ago
JSON representation
API for Feedzai's Open Machine Learning that allows to integrate ML algorithms in Feedzai's platform.
- Host: GitHub
- URL: https://github.com/feedzai/feedzai-openml
- Owner: feedzai
- License: apache-2.0
- Created: 2018-06-07T10:51:49.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2023-07-16T23:51:56.000Z (almost 3 years ago)
- Last Synced: 2025-04-30T04:49:04.596Z (about 1 year ago)
- Topics: api, data-science, feedzai, machine-learning, openml
- Language: Java
- Homepage: https://www.feedzai.com
- Size: 325 KB
- Stars: 15
- Watchers: 14
- Forks: 9
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Feedzai OpenML API
[](https://travis-ci.com/feedzai/feedzai-openml)
[](https://codecov.io/gh/feedzai/feedzai-openml)
[](https://www.codacy.com/app/feedzai/feedzai-openml?utm_source=github.com&utm_medium=referral&utm_content=feedzai/feedzai-openml&utm_campaign=Badge_Grade)
Feedzai's extensible Machine Learning API to integrate ML platforms with Feedzai's data science and runtime environment.
## Usage
See the [openml-example project](https://github.com/feedzai/feedzai-openml/tree/master/openml-example) 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
[](https://mvnrepository.com/artifact/com.feedzai/openml-api)
The [OpenML API module](https://github.com/feedzai/feedzai-openml/tree/master/openml-api) contains the main concepts that allow interaction between Feedzai's platform and an external ML platform.
```xml
com.feedzai
openml-api
1.2.0
```
### OpenML Utils
[](https://mvnrepository.com/artifact/com.feedzai/openml-utils)
The [openml-utils](https://github.com/feedzai/feedzai-openml/tree/master/openml-example) module helps you to manipulate some of the core concepts.
```xml
com.feedzai
openml-utils
1.2.0
```
## Building
Build this Maven project using the following command:
```bash
mvn clean install
```
## Developing
Make sure your provider is identified according to the specification of [Java's Service Loader](https://docs.oracle.com/javase/9/docs/api/java/util/ServiceLoader.html). This entails generating a Jar with the code (possibly with all the dependencies necessary in it, or a set of Jars instead), and making sure you include a file `resources/META-INF/services/com.feedzai.openml.MachineLearningProvider` to indicate which providers you have in your code. Check out [our example in this repository](https://github.com/feedzai/feedzai-openml/blob/master/openml-example/src/main/resources/META-INF/services/com.feedzai.mlapi.provider.MachineLearningProvider). It may also be helpful to look into [Google's Auto Service](https://github.com/google/auto/tree/master/service) to set this up for you.
### Maven Archetype
As a way to ease the creation of new OpenML Providers, a Maven archetype was created. To get started with it, just run:
```bash
mvn archetype:generate -DarchetypeGroupId=com.feedzai -DarchetypeArtifactId=openml-provider-archetype -DarchetypeVersion=1.2.0
```
After providing all the necessary information (your new provider groupId, artifactId, and version), a template provider with some guidance will be available on your workspace.
### IDE Compatibility
This project makes use of the [jgitver Maven plugin](https://github.com/jgitver/jgitver). When using Intellij IDEA you
must configure the project to skip the plugin altogether. [See the related issue](https://github.com/jgitver/jgitver-maven-plugin/wiki/Intellij-IDEA-configuration).