Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

FeedsKontaktDatenschutz© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
river — Streaming-Machine-Learning-Bibliothek für inkrementelles Lernen auf Datenströmen, die Online-Schätzer, Drift- und Anomalieerkennung, Pipelines, Metriken und integrierte Datensätze für Python bereitstellt. | Kitploit
Tools/GitHubGitHub/online-ml/river
Dienstprogramme & FrameworksMaschinelles LernenAnomalieerkennungTop in Anomalieerkennung Nr.10
GitHubonline-ml/river

river

Streaming-Machine-Learning-Bibliothek für inkrementelles Lernen auf Datenströmen, die Online-Schätzer, Drift- und Anomalieerkennung, Pipelines, Metriken und integrierte Datensätze für Python bereitstellt.

Repository anzeigen
6.1k83395vor 1 TagVon Kitploit geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Webseite

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River ist eine Python-Bibliothek für Online-Machine-Learning. Sie möchte die benutzerfreundlichste Bibliothek für Machine Learning auf Streaming-Daten sein. River ist das Ergebnis einer Fusion von creme und scikit-multiflow.

⚡️ Schnellstart

Als kurzes Beispiel trainieren wir eine logistische Regression zur Klassifizierung des Website-Phishing-Datensatzes. Hier ist ein Blick auf die erste Beobachtung im Datensatz.

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

Nun lassen wir das Modell in Streaming-Manier auf dem Datensatz laufen. Wir verschachteln sequenziell Vorhersagen und Modell-Updates. Währenddessen aktualisieren wir eine Leistungsmetrik, um zu sehen, wie gut das Modell abschneidet.

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

Natürlich ist dies nur ein konstruiertes Beispiel. Wir laden Sie ein, den Abschnitt Einführung der Dokumentation für ein ausführlicheres Tutorial zu besuchen.

🛠 Installation

River ist für Python 3.11 und höher ausgelegt. Die Installation kann mit pip erfolgen:

pip install river

Es gibt Wheels für Linux, MacOS und Windows. Das bedeutet, dass Sie River höchstwahrscheinlich nicht aus dem Quellcode bauen müssen.

Die zentrale Online-Schnittstelle von River (learn_one / predict_one) hat keine pandas-Abhängigkeit. Die Mini-Batch-Schnittstelle (learn_many, predict_many, predict_proba_many, transform_many) basiert auf pandas und ist optional:

pip install "river[pandas]"

Sie können die neueste Entwicklungsversion von GitHub wie folgt installieren:

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

Diese Methode erfordert, dass Cython und Rust auf Ihrem Rechner installiert sind.

🔮 Funktionen

River bietet Online-Implementierungen der folgenden Algorithmusfamilien:

  • Lineare Modelle mit einer breiten Palette von Optimierern
  • Entscheidungsbäume und Random Forests
  • (Approximative) Nächste-Nachbarn-Verfahren
  • Anomalieerkennung
  • Drift-Erkennung
  • Empfehlungssysteme
  • Zeitreihenprognose
  • Bandits
  • Factorization Machines
  • Lernen bei unausgewogenen Daten
  • Clustering
  • Bagging/Boosting/Stacking
  • Aktives Lernen

River bietet außerdem weitere Online-Werkzeuge:

  • Merkmalsextraktion und -auswahl
  • Online-Statistiken und -Metriken
  • Vorverarbeitung
  • Integrierte Datensätze
  • Progressive Modellvalidierung
  • Modell-Pipelines

Werfen Sie einen Blick auf die API für einen umfassenden Überblick

🤔 Sollte ich River verwenden?

Sie sollten sich fragen, ob Sie Online-Machine-Learning benötigen. Die Antwort ist wahrscheinlich nein. In den meisten Fällen erledigt Batch-Learning die Aufgabe vollkommen ausreichend. Ein Online-Ansatz könnte passen, wenn:

  • Sie ein Modell möchten, das aus neuen Daten lernen kann, ohne auf vergangene Daten zurückgreifen zu müssen.
  • Sie ein Modell möchten, das robust gegenüber Concept Drift ist.
  • Sie Ihr Modell so entwickeln möchten, dass es näher an dem ist, was in einem Produktionskontext geschieht, der üblicherweise ereignisbasiert ist.

Einige Besonderheiten von River sind:

  • Der Fokus liegt auf Klarheit und Benutzererfahrung, mehr noch als auf Leistung.
  • Es ist sehr schnell bei der Verarbeitung einer einzelnen Stichprobe. Probieren Sie es aus, Sie werden es sehen.
  • Es spielt gut mit dem restlichen Python-Ökosystem zusammen.

🔗 Nützliche Links

  • Dokumentation
  • Paketveröffentlichungen
  • awesome-online-machine-learning
  • Präsentation 2022 bei GAIA
  • Online Clustering: Algorithms, Evaluation, Metrics, Applications and Benchmarking von KDD'22.

👐 Mitwirken

Fühlen Sie sich frei, auf jede Art und Weise beizutragen, die Ihnen gefällt – wir sind immer offen für neue Ideen und Ansätze.

  • Eröffnen Sie eine Diskussion, wenn Sie irgendeine Frage oder Anfrage haben. Es ist nützlicher, Ihre Frage öffentlich zu stellen, anstatt uns eine private E-Mail zu senden. Es wird auch empfohlen, vor einem Beitrag eine Diskussion zu eröffnen, damit alle auf dem gleichen Stand sind und unnötige Arbeit vermieden wird.
  • Fühlen Sie sich willkommen, ein Issue zu eröffnen, wenn Sie glauben, einen Fehler oder ein Leistungsproblem entdeckt zu haben.
  • Unsere Roadmap ist öffentlich. Fühlen Sie sich frei, an allem zu arbeiten, das Ihnen ins Auge fällt, oder Vorschläge zu machen.

Bitte lesen Sie die Beitragsrichtlinien, wenn Sie Änderungen am Code vornehmen möchten.

🤝 Zugehörigkeiten

Tool herunterladen