oracle/tribuo
Tribuo - A Java machine learning library
What it solves
Tribuo is a Java-based machine learning library designed to provide a unified interface for various prediction tasks. It simplifies the process of loading, featurizing, and transforming data, and offers a standardized way to train, evaluate, and deploy models across different algorithms and underlying libraries.
How it works
Tribuo provides its own implementations of popular ML algorithms while also wrapping other powerful libraries (such as TensorFlow, XGBoost, LibLinear, and LibSVM) to provide a consistent API. It supports a wide range of tasks including multi-class classification, regression, clustering, and anomaly detection.
Key technical features include:
- Configuration System: Uses OLCUT to allow trainer configuration via XML or JSON files for repeatable model building.
- Provenance: Every model and evaluation includes a serializable provenance object that records the creation time, data identity, transformations, and hyperparameters.
- Interoperability: Many models can be exported to ONNX format for use in other languages or platforms.
- Deployment: Supports Java 8+ and provides native library interfaces for high-performance components.
Who it’s for
Java developers who need to integrate machine learning capabilities directly into their applications without switching to Python or using external API calls, as well as researchers and engineers who require strict model tracking and reproducibility through provenance.
Highlights
- Unified Interface: A single API for multiple ML libraries including TensorFlow and XGBoost.
- Comprehensive Task Support: Covers classification, regression, clustering, and anomaly detection.
- Causal Tracking: Built-in provenance system for tracking model history and hyperparameters.
- ONNX Export: Ability to export models for cross-platform deployment.
- LIME Implementation: Includes tools for explaining classifier predictions using the LIME algorithm.