Skip to main content
QUICK REVIEW

[论文解读] River: machine learning for streaming data in Python

Jacob Montiel, Max Halford|arXiv (Cornell University)|Dec 8, 2020
Machine Learning and Data Classification参考文献 3被引用 159
一句话总结

River 是一个用于流式/在线机器学习的 Python 库,融合 Creme 和 scikit-multiflow,具有统一架构、管道和多样任务基准。

ABSTRACT

River is a machine learning library for dynamic data streams and continual learning. It provides multiple state-of-the-art learning methods, data generators/transformers, performance metrics and evaluators for different stream learning problems. It is the result from the merger of the two most popular packages for stream learning in Python: Creme and scikit-multiflow. River introduces a revamped architecture based on the lessons learnt from the seminal packages. River's ambition is to be the go-to library for doing machine learning on streaming data. Additionally, this open source package brings under the same umbrella a large community of practitioners and researchers. The source code is available at https://github.com/online-ml/river.

研究动机与目标

  • 在流数据上启用机器学习,并具备持续学习能力。
  • 提供一个灵活、统一的体系结构,支持多种学习任务(分类、回归、聚类、预测、异常检测)。
  • 提供变换器、流水线和性能评估器,以促进可重复的流数据实验。
  • 将 River 与现有流式库进行基准比较,以评估准确性和速度。
  • 通过将工具整合到一个开源包中,促进可访问性和社区采用。

提出的方法

  • 具有面向任务的混入(mixins)的体系结构设计,以确保在各种学习任务(分类、回归、聚类等)中的兼容性。
  • 用于实例增量学习的核心学习接口 learn_one 和 predict_one(及相关方法);通过 learn_many/predict_many 支持批量增量学习。
  • 流水线用于连接变换器和估计器,在学习器之前实现预处理(例如 StandardScaler)。
  • 使用字典为基础的数据容器,具备由 Cython 支撑的高效操作,以实现快速特征处理和特征演化。
  • 面向实例的增量学习和受限的批量增量学习方法,用于实时处理流数据。
  • 在 Elec2 数据集上与现有库(GNB、LR、Hoeffding Tree)进行基准测试,比较准确性和处理时间。

实验结果

研究问题

  • RQ1在像 Elec2 这样的标准流评测中,River 的准确性与 scikit-learn、Creme 和 scikit-multiflow 相比如何?
  • RQ2在速度和可扩展性方面,River 的 learn_one/predict_one 与 learn_many/predict_many 相对于不同模型的性能比较如何?
  • RQ3在关键流任务(分类、回归、聚类、预测、异常检测)中,River 是否在保持有竞争力的准确性的同时提供可比或更高的速度?
  • RQ4哪些架构特性(mixins、流水线、字典式数据容器)在流式上下文中最有效地支持模型可扩展性和特征演化?

主要发现

  • 在 Elec2 基准测试中,River 在高斯朴素贝叶斯、逻辑回归和 Hoeffding Tree 的准确性方面与其他流式库相当。
  • 在 Elec2 数据集上,River 通常提供比竞争库更快的 learn 和 predict 时间,表明强大的运行时性能。
  • 在 Elec2 基准测试中,River 的准确性与评估模型在 scikit-learn、Creme 和 scikit-multiflow 上的表现接近,展示了具有竞争力的预测性能。
  • 该架构强调灵活性、易用性,以及面向实例增量学习和受限批量增量学习的统一界面,支持多样化的流场景。
  • 基准结果表明 River 有能力成为用于流式机器学习的首选库,具备广泛的支持任务和高效性能。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。