Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
river — Bibliothèque d'apprentissage automatique en flux pour l'apprentissage incrémental sur des flux de données, fournissant des estimateurs en ligne, la détection de dérive et d'anomalies, des pipelines, des métriques et des jeux de données intégrés pour Python. | Kitploit
Outils/GitHubGitHub/online-ml/river
Utilitaires et FrameworksApprentissage AutomatiqueDétection d'AnomaliesTop en Détection d'Anomalies n°10
GitHubonline-ml/river

river

Bibliothèque d'apprentissage automatique en flux pour l'apprentissage incrémental sur des flux de données, fournissant des estimateurs en ligne, la détection de dérive et d'anomalies, des pipelines, des métriques et des jeux de données intégrés pour Python.

Voir le dépôt
6.1k83395il y a 1 jourVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Site web

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River est une bibliothèque Python pour l'apprentissage automatique en ligne. Elle vise à être la bibliothèque la plus conviviale pour faire de l'apprentissage automatique sur des données en flux. River est le résultat de la fusion entre creme et scikit-multiflow.

⚡️ Démarrage rapide

Comme exemple rapide, nous allons entraîner une régression logistique pour classifier le jeu de données de phishing de sites web. Voici un aperçu de la première observation du jeu de données.

>>> 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

Maintenant, exécutons le modèle sur le jeu de données de manière streaming. Nous entrelaçons séquentiellement les prédictions et les mises à jour du modèle. Pendant ce temps, nous mettons à jour une métrique de performance pour voir comment le modèle se comporte.

>>> 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%

Bien sûr, ce n'est qu'un exemple artificiel. Nous vous invitons à consulter la section introduction de la documentation pour un tutoriel plus complet.

🛠 Installation

River est conçu pour fonctionner avec Python 3.11 et versions supérieures. L'installation peut se faire avec pip :

pip install river

Des wheels sont disponibles pour Linux, MacOS et Windows. Cela signifie que vous n'aurez très probablement pas à compiler River depuis les sources.

L'interface en ligne principale de River (learn_one / predict_one) n'a pas de dépendance à pandas. L'interface mini-batch (learn_many, predict_many, predict_proba_many, transform_many) est construite sur pandas et est optionnelle :

pip install "river[pandas]"

Vous pouvez installer la dernière version de développement depuis GitHub comme ceci :

pip install git+https://github.com/online-ml/river --upgrade
pip install git+ssh://[email protected]/online-ml/river.git --upgrade  # using SSH

Cette méthode nécessite d'avoir Cython et Rust installés sur votre machine.

🔮 Fonctionnalités

River fournit des implémentations en ligne des familles d'algorithmes suivantes :

  • Modèles linéaires, avec un large éventail d'optimiseurs
  • Arbres de décision et forêts aléatoires
  • Plus proches voisins (approximatifs)
  • Détection d'anomalies
  • Détection de dérive
  • Systèmes de recommandation
  • Prévision de séries temporelles
  • Bandits
  • Machines à factorisation
  • Apprentissage déséquilibré
  • Clustering
  • Bagging/boosting/stacking
  • Apprentissage actif

River fournit également d'autres utilitaires en ligne :

  • Extraction et sélection de caractéristiques
  • Statistiques et métriques en ligne
  • Prétraitement
  • Jeux de données intégrés
  • Validation progressive de modèles
  • Pipelines de modèles

Consultez l'API pour un aperçu complet

🤔 Devrais-je utiliser River ?

Vous devriez vous demander si vous avez besoin d'apprentissage automatique en ligne. La réponse est probablement non. La plupart du temps, l'apprentissage par lots fait très bien le travail. Une approche en ligne pourrait convenir si :

  • Vous voulez un modèle qui peut apprendre à partir de nouvelles données sans avoir à revisiter les données passées.
  • Vous voulez un modèle qui est robuste à la dérive conceptuelle.
  • Vous voulez développer votre modèle d'une manière plus proche de ce qui se produit dans un contexte de production, qui est généralement basé sur les événements.

Quelques spécificités de River sont que :

  • Elle se concentre sur la clarté et l'expérience utilisateur, plus que sur la performance.
  • Elle est très rapide pour traiter un échantillon à la fois. Essayez-la, vous verrez.
  • Elle s'intègre bien avec le reste de l'écosystème Python.

🔗 Liens utiles

  • Documentation
  • Versions du paquet
  • awesome-online-machine-learning
  • Présentation 2022 à GAIA
  • Online Clustering: Algorithms, Evaluation, Metrics, Applications and Benchmarking de KDD'22.

👐 Contribution

N'hésitez pas à contribuer de la manière que vous souhaitez, nous sommes toujours ouverts aux nouvelles idées et approches.

  • Ouvrez une discussion si vous avez une question ou une demande quelle qu'elle soit. Il est plus utile de poser votre question en public plutôt que de nous envoyer un email privé. Il est également encouragé d'ouvrir une discussion avant de contribuer, afin que tout le monde soit aligné et que le travail inutile soit évité.
  • N'hésitez pas à ouvrir une issue si vous pensez avoir repéré un bug ou un problème de performance.
  • Notre feuille de route est publique. N'hésitez pas à travailler sur tout ce qui attire votre attention, ou à faire des suggestions.

Veuillez consulter les directives de contribution si vous souhaitez apporter des modifications à la base de code.

Télécharger l’outil