Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
river — データストリーム上でのインクリメンタル学習のためのストリーミング機械学習ライブラリ。Python向けにオンライン推定器、ドリフトおよび異常検知、パイプライン、メトリクス、組み込みデータセットを提供します。 | Kitploit
ツール/GitHubGitHub/online-ml/river
ユーティリティとフレームワーク機械学習異常検知異常検知 第10位
GitHubonline-ml/river

river

データストリーム上でのインクリメンタル学習のためのストリーミング機械学習ライブラリ。Python向けにオンライン推定器、ドリフトおよび異常検知、パイプライン、メトリクス、組み込みデータセットを提供します。

リポジトリを見る
6.1k833951日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

river_logo

code-quality documentation pypi pepy mypy bsd_3_license discord


River はオンライン機械学習のための Python ライブラリです。ストリーミングデータに対して機械学習を行うための、最もユーザーフレンドリーなライブラリを目指しています。River は creme と scikit-multiflow が統合されて生まれました。

⚡️ クイックスタート

簡単な例として、ウェブサイトフィッシングデータセットを分類するロジスティック回帰を学習させます。以下はデータセットの最初の観測値です。

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

次に、データセット上でモデルをストリーミング方式で実行してみましょう。予測とモデルの更新を順番に交互に行います。同時に、パフォーマンス指標を更新してモデルの出来栄えを確認します。

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

もちろん、これは単なる作り込んだ例です。より詳細なチュートリアルについては、ドキュメントのはじめにセクションを参照してください。

🛠 インストール

River は Python 3.11 以上での動作を想定しています。インストールは pip で行えます:

pip install river

Linux、MacOS、Windows 用のホイールが用意されています。そのため、ほとんどの場合 River をソースからビルドする必要はありません。

River のコアとなるオンラインインターフェース(learn_one / predict_one)は pandas に依存していません。ミニバッチインターフェース(learn_many、predict_many、predict_proba_many、transform_many)は pandas 上に構築されており、オプトイン方式です:

pip install "river[pandas]"

最新の開発版は GitHub から次のようにインストールできます:

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

この方法では、マシンに Cython と Rust がインストールされている必要があります。

🔮 機能

River は以下のアルゴリズムファミリーのオンライン実装を提供しています:

  • 線形モデル(多種多様なオプティマイザ付き)
  • 決定木とランダムフォレスト
  • (近似)最近傍法
  • 異常検知
  • ドリフト検知
  • レコメンダーシステム
  • 時系列予測
  • バンディット
  • 因子分解機
  • 不均衡学習
  • クラスタリング
  • バギング/ブースティング/スタッキング
  • 能動学習

River はその他のオンラインユーティリティも提供しています:

  • 特徴量抽出と選択
  • オンライン統計と指標
  • 前処理
  • 組み込みデータセット
  • 漸進的モデル検証
  • モデルパイプライン

包括的な概要についてはAPIをご覧ください

🤔 River を使うべきか?

オンライン機械学習が必要かどうかを自問してみてください。答えはおそらく「いいえ」でしょう。ほとんどの場合、バッチ学習で十分に事足ります。オンラインアプローチが適しているのは、次のような場合です:

  • 過去のデータを再参照することなく、新しいデータから学習できるモデルが欲しい。
  • コンセプトドリフトに頑健なモデルが欲しい。
  • 通常イベントベースである本番環境のコンテキストに近い形でモデルを開発したい。

River のいくつかの特徴は次のとおりです:

  • パフォーマンスよりも、明快さとユーザー体験に重点を置いています。
  • 一度に1サンプルを処理するのが非常に高速です。試してみてください、わかるはずです。
  • Python エコシステムの他の部分とうまく連携します。

🔗 便利なリンク

  • ドキュメント
  • パッケージリリース
  • awesome-online-machine-learning
  • 2022年 GAIA でのプレゼンテーション
  • Online Clustering: Algorithms, Evaluation, Metrics, Applications and Benchmarking(KDD'22 より)

👐 コントリビューション

どんな形でも自由に貢献してください。新しいアイデアやアプローチをいつでも歓迎します。

  • 質問や問い合わせがあれば、ディスカッションを開いてください。個別のメールを送るよりも、公開の場で質問する方が役に立ちます。また、貢献する前にディスカッションを開くことを推奨します。そうすることで全員の認識が揃い、不要な作業を避けられます。
  • バグやパフォーマンスの問題を見つけたと思ったら、issue を開いてください。
  • 私たちのロードマップは公開されています。目に留まったものに自由に取り組んだり、提案をしたりしてください。

コードベースに変更を加えたい場合は、コントリビューションガイドラインをご確認ください。

🤝 所属

affiliations

💬 引用

River が役に立ち、科学論文で引用したい場合は、JMLR に掲載された論文を参照してください:

@article{montiel2021river,
  title={River: machine learning for streaming data in Python},
  author={Montiel, Jacob and Halford, Max and Mastelini, Saulo Martiello
          and Bolmier, Geoffrey and Sourty, Raphael and Vaysse, Robin and Zouitine, Adil
          and Gomes, Heitor Murilo and Read, Jesse and Abdessalem, Talel and others},
  year={2021}
}

📝 ライセンス

River は3条項BSDライセンスの下でライセンスされた、フリーでオープンソースのソフトウェアです。

ツールをダウンロード