awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
online-ml avatar

online-ml/river

0
View on GitHub↗
5,853 stars·635 forks·Python·BSD-3-Clause·23 viewsriverml.xyz↗

River

River is a Python framework for online machine learning, designed to train and evaluate models on streaming data. It enables incremental learning by updating model parameters one observation at a time, eliminating the need to store full training datasets in memory.

The library distinguishes itself through a dedicated concept drift detection system that monitors changes in data distributions to trigger model adaptation. It also provides a progressive validation framework that simulates real-time deployment by testing models on samples before using them for training.

The system covers a broad range of streaming capabilities, including real-time feature engineering, time series forecasting, and online anomaly detection. It supports unsupervised learning via incremental clustering and decision trees, as well as ensemble aggregation and bandit policies for model selection.

The project includes utilities for streaming data ingestion from sources such as CSV files and APIs, as well as tools for computing running statistics and memory-efficient data sketches.

Features

  • Incremental Model Training - Implements incremental learning by updating model parameters one observation at a time to eliminate the need for storing full training datasets.
  • Online Learning - Provides a framework for training and updating machine learning models on streaming data one observation at a time.
  • Incremental Model Updating - Updates model weights one observation at a time to enable learning without storing full datasets in memory.
  • Incremental Training - Fits models to data streams by processing observations one by one to eliminate the need for full dataset storage.
  • Model Performance Evaluators - Performs progressive validation to test model performance on a stream by comparing predictions against ground truth labels.
  • Model Pipelines - Merges multiple preprocessing and modeling steps into a single sequence to process data streams.
  • Progressive Stream Validators - Simulates real-time deployment by testing each observation before using it for model training.
  • Stochastic Gradient Optimizers - Updates model weights using stochastic optimization algorithms such as Adam, SGD, and RMSProp.
  • Streaming Feature Engineering - Converts raw streaming data into meaningful representations using categorical encoding and interaction analysis.
  • Time Series Forecasting - Predicts future values in sequential data streams by learning from historical observations in real time.
  • Drift Detection - Identifies changes in the underlying distribution of a data stream to trigger model retraining or alerts.
  • Input Distribution Drift - Includes a dedicated system for monitoring input distribution drift to trigger model adaptation or alerts.
  • Streaming Preprocessing Pipelines - Chains preprocessing and estimation steps into sequential workflows for transforming raw streaming features.
  • Distribution Monitoring - Detects concept drift by comparing data distributions between recent and historical sliding windows.
  • Online Running Statistics - Offers utilities for calculating running statistics and memory-efficient data sketches under fixed memory constraints.
  • Streaming Data Sketches - Maintains memory-efficient sketches of data streams to track unique elements, heavy hitters, and histograms.
  • Progressive Model Evaluation - Tests model accuracy on a stream using progressive validation to simulate real-world deployment.
  • Anomaly Detection - Provides algorithms and tools for identifying outliers or unusual patterns in data streams.
  • Filter-Based Feature Selection - Implements filter-based feature selection using statistical tests and variance thresholds to improve model efficiency on streaming data.
  • Streaming Bandit Selectors - Implements bandit policies to balance exploration and exploitation for selecting the best model or action in streaming scenarios.
  • Imbalanced Stream Resampling - Adjusts class distributions of incoming streaming data through resampling to prevent bias in imbalanced datasets.
  • Incremental Decision Tree Learners - Grows decision trees incrementally using the Hoeffding bound to ensure statistical significance of splits.
  • Ensemble Learning - Implements ensemble methods like bagging and boosting to improve predictive performance and robustness on streaming data.
  • Model Ensembling - Combines multiple incremental models through bagging, boosting, or stacking to improve overall predictive performance.
  • Stochastic Gradient Descent - Optimizes model parameters using iterative updates based on the gradient of individual samples.
  • Mini-Batch Processing - Handles small groups of observations using data frames to balance batch efficiency with online learning requirements.
  • Anomaly Detection - Identifies unusual observations in live data streams by scoring samples based on evolving distributions.
  • Feature Scaling and Transformations - Scales numeric values and encodes categories in real time to ensure data compatibility with algorithms.
  • Streaming Data Sketches - Implements memory-efficient probabilistic structures to track statistics of high-volume data streams.
  • Personalized Ranking Optimizers - Provides algorithms for maximizing the posterior probability of user preferences to sort items for recommendation tasks.
  • Streaming Data Clustering - Groups incoming observations into clusters incrementally without storing the full dataset.
  • General Machine Learning - Framework for general-purpose online machine learning.
  • Incremental Learning - Online machine learning.
  • Online Machine Learning - Library for online machine learning.

Star history

Star history chart for online-ml/riverStar history chart for online-ml/river

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to River

Similar open-source projects, ranked by how many features they share with River.
  • rasbt/python-machine-learning-bookrasbt avatar

    rasbt/python-machine-learning-book

    12,614View on GitHub↗

    This project is an educational resource providing practical code examples and implementations of machine learning algorithms using the Python language. It serves as a guide for constructing predictive pipelines, clustering models, and dimensionality reduction within the Scikit-Learn ecosystem. The repository includes comprehensive demonstrations for supervised and unsupervised learning, as well as detailed examples for implementing neural networks and deep architectures. It also provides practical guidance on exporting model parameters to JSON and wrapping trained models in web APIs for produ

    Jupyter Notebook
    View on GitHub↗12,614
  • alan-turing-institute/sktimealan-turing-institute avatar

    alan-turing-institute/sktime

    9,810View on GitHub↗

    sktime is a machine learning framework designed for time series analysis. It provides a unified interface for performing time series forecasting, classification, and anomaly detection, integrating these capabilities into a standardized toolkit compatible with the scikit-learn API. The framework allows for the construction of complex analysis workflows through model pipelining and ensemble-based aggregation. It uses adapter-based integration to wrap external time series libraries, providing a single entry point for diverse algorithmic implementations. Its capabilities cover temporal data tran

    Python
    View on GitHub↗9,810
  • akramz/hands-on-machine-learning-with-scikit-learn-keras-and-tensorflowAkramz avatar

    Akramz/Hands-on-Machine-Learning-with-Scikit-Learn-Keras-and-TensorFlow

    1,041View on GitHub↗

    This project serves as an educational and practical resource for mastering machine learning workflows using Python. It provides a comprehensive collection of code examples and exercises designed to guide users through the implementation of predictive systems, ranging from fundamental algorithms to deep learning architectures. The repository distinguishes itself by offering a structured approach to both classical machine learning and neural network training. It covers the full lifecycle of model development, including the orchestration of reusable data transformation pipelines, advanced ensemb

    Jupyter Notebookartificial-intelligencedeep-learningmachine-learning
    View on GitHub↗1,041
  • pycaret/pycaretpycaret avatar

    pycaret/pycaret

    9,811View on GitHub↗

    PyCaret is a Python AutoML platform and MLOps lifecycle manager designed to automate machine learning workflows. It functions as a low-code environment that leverages a scikit-learn native engine to execute preprocessing, training, and evaluation for tabular data. The platform distinguishes itself as an LLM-powered ML copilot, using large language model agents to analyze datasets, design experiment configurations, and explain model results. It also serves as a Kubernetes ML orchestrator and model registry, enabling the versioning of trained pipelines and their promotion to production API endp

    Pythonanomaly-detectionautomlclassification
    View on GitHub↗9,811
See all 30 alternatives to River→

Frequently asked questions

What does online-ml/river do?

River is a Python framework for online machine learning, designed to train and evaluate models on streaming data. It enables incremental learning by updating model parameters one observation at a time, eliminating the need to store full training datasets in memory.

What are the main features of online-ml/river?

The main features of online-ml/river are: Incremental Model Training, Online Learning, Incremental Model Updating, Incremental Training, Model Performance Evaluators, Model Pipelines, Progressive Stream Validators, Stochastic Gradient Optimizers.

What are some open-source alternatives to online-ml/river?

Open-source alternatives to online-ml/river include: rasbt/python-machine-learning-book — This project is an educational resource providing practical code examples and implementations of machine learning… alan-turing-institute/sktime — sktime is a machine learning framework designed for time series analysis. It provides a unified interface for… akramz/hands-on-machine-learning-with-scikit-learn-keras-and-tensorflow — This project serves as an educational and practical resource for mastering machine learning workflows using Python. It… pycaret/pycaret — PyCaret is a Python AutoML platform and MLOps lifecycle manager designed to automate machine learning workflows. It… haifengl/smile — Smile is a comprehensive JVM machine learning library and statistical computing toolkit. It provides a suite of… vowpalwabbit/vowpal_wabbit — Vowpal Wabbit is an open-source machine learning system designed for online learning, where models update…