online-ml/river

🌊 Online machine learning in Python

解决的问题

River 解决了在流式数据上训练机器学习模型的问题。与传统的批量学习(在固定数据集上训练模型)不同,River 允许模型逐个从新数据点中学习,无需重新访问过去的数据。这使得它特别适用于数据持续到达且模型需要对“概念漂移”(数据分布随时间的变化)具有鲁棒性的场景。

工作原理

River 实现了一个在线学习接口(learn_one / predict_one),按顺序处理样本。它提供了广泛的算法——包括线性模型、决策树和异常检测——这些算法设计为基于单个观测值更新参数。它还通过可选的 pandas 依赖支持小批量处理,适用于需要以小组形式处理数据的用户。

适用人群

它专为需要在基于事件的生产环境中实现机器学习,或希望模型能够适应新数据而无需从头重新训练的开发者和数据科学家设计。

亮点

  • 全面的算法套件:包括线性模型、随机森林、最近邻、异常和漂移检测以及推荐系统。
  • 用户友好的 API:注重清晰性和用户体验,提供类似于 scikit-learn 的模型流水线系统。
  • 在线工具:提供内置数据集、在线统计、指标和专门用于流式数据的预处理工具。
  • 轻量级核心:核心接口不依赖 pandas,使得单样本处理速度更快。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目