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 都有可用的 wheel 包。这意味着你很可能无需从源码构建 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 提供了以下算法家族的在线实现:

  • 线性模型,配备多种优化器
  • 决策树和随机森林
  • (近似)最近邻
  • 异常检测
  • 漂移检测
  • 推荐系统
  • 时间序列预测
  • 多臂老虎机
  • 因子分解机
  • 不平衡学习
  • 聚类
  • Bagging/boosting/stacking
  • 主动学习

River 还提供了其他在线工具:

  • 特征提取与选择
  • 在线统计与指标
  • 预处理
  • 内置数据集
  • 渐进式模型验证
  • 模型流水线

查看API以获取全面的概览

🤔 我应该使用 River 吗?

你应该问自己是否需要在线机器学习。答案很可能是不需要。大多数情况下,批量学习就能很好地完成工作。如果你符合以下情况,在线方法可能适合你:

  • 你想要一个能够从新数据中学习而无需重新访问过去数据的模型。
  • 你想要一个对概念漂移具有鲁棒性的模型。
  • 你想要以一种更接近生产环境中实际发生情况的方式来开发模型,而生产环境通常是基于事件的。

River 的一些特点包括:

  • 它更注重清晰度和用户体验,而非性能。
  • 它在一次处理一个样本时非常快。试试看,你会明白的。
  • 它与 Python 生态系统的其余部分配合良好。

🔗 实用链接

  • 文档
  • 软件包发布
  • awesome-online-machine-learning
  • 2022 年在 GAIA 上的演讲
  • 在线聚类:算法、评估、指标、应用与基准测试,来自 KDD'22。

👐 贡献

欢迎以任何你喜欢的方式做出贡献,我们始终对新想法和新方法持开放态度。

  • 如果你有任何问题或疑问,请发起讨论。公开提问比给我们发送私人邮件更有用。我们也鼓励在贡献之前先发起讨论,这样大家可以保持一致,避免不必要的工作。
  • 如果你认为发现了 bug 或性能问题,欢迎提交 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-clause BSD 许可证授权。

下载工具