Skip to main content

SuperML Java Advanced Machine Learning Framework

A comprehensive 21-module machine learning framework for Java

21 Modules

Modular architecture with specialized components

AutoML

Automated machine learning with one-line training

Visualization

Professional charts with dual-mode display

SuperML Java Framework

A comprehensive 21-module machine learning framework for Java

SuperML Java Framework

A comprehensive, modular machine learning library for Java, inspired by scikit-learn and designed for enterprise-grade applications. Version 2.0.0 features a sophisticated 21-module architecture.

🚀 Features

Core Machine Learning (12+ Algorithms)

  • Linear Models (6): Logistic Regression, Linear Regression, Ridge, Lasso, SGD Classifier/Regressor
  • Tree-Based Models (5): Decision Trees, Random Forest (Classifier/Regressor), Gradient Boosting
  • Clustering (1): K-Means with k-means++ initialization and advanced convergence
  • Preprocessing: StandardScaler, MinMaxScaler, RobustScaler, LabelEncoder

Advanced Features

  • AutoML Framework: Automated algorithm selection and hyperparameter optimization
  • Dual-Mode Visualization: Professional XChart GUI with ASCII terminal fallback
  • Model Selection: Cross-validation, Grid/Random Search, advanced hyperparameter tuning
  • Pipeline System: Seamless chaining of preprocessing and modeling steps
  • High-Performance Inference: Microsecond predictions with caching and batch processing
  • Model Persistence: Save/load models with automatic statistics and metadata capture

Production & Enterprise

  • Cross-Platform Export: ONNX and PMML support for enterprise deployment
  • Drift Detection: Real-time model and data drift monitoring with statistical tests
  • Kaggle Integration: One-line training on any Kaggle dataset with automated workflows
  • Professional Logging: Structured logging with Logback and SLF4J
  • Comprehensive Metrics: Complete evaluation suite for all ML tasks
  • Thread Safety: Concurrent prediction capabilities after model training

📚 Documentation

Getting Started

Algorithm Documentation

Advanced Features

API & Examples

Development

🎯 Quick Example

import org.superml.datasets.Datasets;
import org.superml.tree.RandomForest;
import org.superml.multiclass.OneVsRestClassifier;
import org.superml.linear_model.LogisticRegression;
import org.superml.metrics.Metrics;

// Load dataset
var dataset = Datasets.loadIris();
var split = DataLoaders.trainTestSplit(dataset.X, 
    Arrays.stream(dataset.y).asDoubleStream().toArray(), 0.2, 42);

// Train multiclass model
var base = new LogisticRegression();
var classifier = new OneVsRestClassifier(base);
classifier.fit(split.XTrain, split.yTrain);

// Or use tree-based model
var forest = new RandomForest(100, 10);
forest.fit(split.XTrain, split.yTrain);

// Make predictions
double[] predictions = forest.predict(split.XTest);
double[][] probabilities = forest.predictProba(split.XTest);

// Evaluate
double accuracy = Metrics.accuracy(split.yTest, predictions);
System.out.println("Accuracy: " + accuracy);

// Train model
var classifier = new LogisticRegression().setMaxIter(1000);
classifier.fit(split.XTrain, split.yTrain);

// Evaluate
double[] predictions = classifier.predict(split.XTest);
double accuracy = Metrics.accuracy(split.yTest, predictions);
System.out.printf("Accuracy: %.2f%%\n", accuracy * 100);

Start your machine learning journey with SuperML Java today! 🚀