Top AI Repos โ open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
๐ Online machine learning in Python
| Date | Stars |
|---|---|
| 2026-07-31 | 5896 |
| 2026-08-02 | 5900 |
| 2026-08-06 | 5905 |
Today
+5 stars today
This week
โ stars this week
This month
โ stars this month
Momentum
35.0
growth rate 0.00%/day
<p align="center">
<img height="220px" src="https://github.com/online-ml/river/assets/8095957/64ad5fb6-383c-4bfb-af71-3d055a103a1a" alt="river_logo">
</p>
<p align="center">
<!-- Code quality -->
<a href="https://github.com/online-ml/river/actions/workflows/code-quality.yml">
<img src="https://github.com/online-ml/river/actions/workflows/code-quality.yml/badge.svg" alt="code-quality">
</a>
<!-- Documentation -->
<a href="https://riverml.xyz">
<img src="https://img.shields.io/website?label=docs&style=flat-square&url=https%3A%2F%2Friverml.xyz%2F" alt="documentation">
</a>
<!-- PyPI -->
<a href="https://pypi.org/project/river">
<img src="https://img.shields.io/pypi/v/river.svg?label=release&color=blue&style=flat-square" alt="pypi">
</a>
<!-- PePy -->
<a href="https://pepy.tech/project/river">
<img src="https://static.pepy.tech/badge/river?style=flat-square" alt="pepy">
</a>
<!-- Mypy -->
<a href="http://mypy-lang.org/">
<img src="http://www.mypy-lang.org/static/mypy_badge.svg" alt="mypy">
</a>
<!-- License -->
<a href="https://opensource.org/licenses/BSD-3-Clause">
<img src="https://img.shields.io/badge/License-BSD%203--Clause-blue.svg?style=flat-square" alt="bsd_3_license">
</a>
<!-- Discord -->
<a href="https://discord.gg/qNmrKEZMAn">
<img src="https://img.shields.io/badge/Discord-join%20chat-5865F2?style=flat-square&logo=discord&logoColor=white" alt="discord">
</a>
</p>
</br>
<p align="center">
River is a Python library for <a href="https://www.wikiwand.com/en/Online_machine_learning">online machine learning</a>. It aims to be the most user-friendly library for doing machine learning on streaming data. River is the result of a merger between <a href="https://github.com/MaxHalford/creme">creme</a> and <a href="https://github.com/scikit-multiflow/scikit-multiflow">scikit-multiflow</a>.
</p>
## โก๏ธ Quickstart
As a quick example, we'll train a logistic regression to classify the [website phishing dataset](http://archive.ics.uci.edu/ml/datasets/Website+Phishing). Here's a look at the first observation in the dataset.
```python
>>> from pprint import pprint
>>> from river import datasets
>>> dataset = datasets.Phishing()
>>> for x, y in dataset:
... pprint(x)
... print(y)
... break
{'age_of_domain': 1,
'anchor_from_other_domain': 0.0,
'empty_server_form_handler': 0.0,
'https': 0.0,
'ip_in_url': 1,
'is_popular': 0.5,
'long_url': 1.0,
'popup_window': 0.0,
'request_from_other_domain': 0.0}
True
```
Now let's run the model on the dataset in a streaming fashion. We sequentially interleave predictions and model updates. Meanwhile, we update a performance metric to see how well the model is doing.
```python
>>> from river import compose
>>> from river import linear_model
>>> from river import metrics
>>> from river import preprocessing
>>> model = compose.Pipeline(
... preprocessing.StandardScaler(),
... linear_model.LogisticRegression()
... )
>>> metric = metrics.Accuracy()
>>> for x, y in dataset:
... y_pred = model.predict_one(x) # make a prediction
... metric.update(y, y_pred) # update the metric
... model.learn_one(x, y) # make the model learn
>>> metric
Accuracy: 89.28%
```
Of course, this is just a contrived example. We welcome you to check the [introduction](https://riverml.xyz/dev/introduction/installation/) section of the documentation for a more thorough tutorial.
## ๐ Installation
River is intended to work with **Python 3.11 and above**. Installation can be done with `pip`:
```sh
pip install river
```
There are [wheels available](https://pypi.org/project/river/#files) for Linux, MacOS, and Windows. This means you most probably won't have to build River from source.
River's core online interface (`learn_one` / `predict_one`) has no `pandas` dependency. The mini-batch interface (`learn_many`, `predict_many`, `predict_proba_many`, `transform_many`) is built on `pandas` Excerpt of 8,247 characters
Read on GitHubMax Halford ยท Better Call Max ยท France
2.0k
742
Saulo Martiello Mastelini ยท PhD in Machine Learning ยท Brazil
309
153
119
Adil Zouitine ยท @uma-robots ยท France
95
60
49
47
Walid Gara ยท @Carrefour-Group ยท France
41
40
36
34
30
30
Pieter Gijsbers ยท Eindhoven University of Technology ยท Netherlands
29
22
Cedric Kulbach ยท Swiss National Bank ยท Switzerland
22
22
20
Would you bet a product on this? Bounded 0โ100 and slow moving.
matched fp:d34b012db585d7fd, llm:Repository description and topics: 'Online machine learning in Python', topics include online-learning, streaming, incremental-learning, concept-drift, streaming-data; README states 'Python library for online machine learning' and 'machine learning on streaming data'.
matched fp:d34b012db585d7fd, llm:Repository description and topics: 'Online machine learning in Python', topics include online-learning, streaming, incremental-learning, concept-drift, streaming-data; README states 'Python library for online machine learning' and 'machine learning on streaming data'.
matched fp:d34b012db585d7fd, llm:Repository description and topics: 'Online machine learning in Python', topics include online-learning, streaming, incremental-learning, concept-drift, streaming-data; README states 'Python library for online machine learning' and 'machine learning on streaming data'.