River是用于在线机器学习的Python图书馆。它旨在成为用于在流数据上进行机器学习的最用户友好的库。河流是Creme和Scikit-Multiflow之间合并的结果。
作为一个快速示例,我们将训练逻辑回归以对网站网络钓鱼数据集进行分类。这是数据集中的第一个观察结果。
>>>从pprint导入pprint >>>从河流导入数据集>>>数据集= datasets.phishing()>>> for x,y在数据集中: ... pprint(x) ...打印(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,0.5,'long_url':long_url':1.0,pop_wip_window': :0.0,'request_from_other_domain':0.0} true
现在,让我们以流方式在数据集上运行模型。我们依次交织预测和模型更新。同时,我们更新了性能指标,以了解模型的表现如何。
>>>从河口进口>>>从河口进口linear_model >>>从河口进口指标>>>从河口进口预处理>>>模型= compose.pipeline(Pipeline)( ...预处理。standardscaler(), ... linear_model.logisticRegress() ...)>>> metric = metrics.Accuracy()>>>对于x,y在数据集中: ... y_pred = model.predict_one(x)#做一个预测...吨... :89.28%
当然,这只是一个人为的例子。我们欢迎您检查文档的介绍部分,以进行更详尽的教程。
River旨在与Python 3.8及以上合作。可以使用pip
进行安装:
PIP安装河
有适用于Linux,MacOS和Windows的车轮。这意味着您很可能不必从源头建造河流。
您可以从GitHub安装最新的开发版本:
pip安装git+https://github.com/online-ml/river-- upgrade pip安装git+ssh://[email protected]/online-ml/river.git-- upgrade#使用ssh
此方法需要在机器上安装Cython和Rust。
River提供以下算法家庭的在线实现:
线性模型,具有广泛的优化器
决策树和随机森林
(大约)最近的邻居
异常检测
漂移检测
推荐系统
时间序列预测
土匪
分解机
学习不平衡
聚类
装袋/提升/堆叠
积极学习
河还提供其他在线公用事业:
特征提取和选择
在线统计和指标
预处理
内置数据集
渐进模型验证
模型管道
查看API以获取全面概述
您应该问自己是否需要在线机器学习。答案可能是否定的。大多数时候,批处理学习都可以完成工作。如果以下方式,在线方法可能适合该法案
您需要一个可以从新数据中学习的模型,而无需重新访问过去的数据。
您想要一个可用于概念漂移的模型。
您想以更接近生产环境中发生的方式来开发模型,这通常是基于事件的。
河流的一些特殊性是:
它专注于清晰度和用户体验,而不是性能。
一次处理一个样本非常快。试试看,您会看到的。
它在Python的其余生态系统中表现出色。
文档
包装版本
令人敬畏的在线计算学习
2022年盖亚的演讲
在线聚类:KDD'22的算法,评估,指标,应用程序和基准测试。
随意以您喜欢的任何方式做出贡献,我们总是对新的想法和方法开放。
如果您有任何疑问或询问,请进行讨论。在公开场合询问您的问题而不是向我们发送私人电子邮件更有用。还鼓励在贡献之前开设讨论,以便每个人都保持一致并避免不必要的工作。
如果您认为自己发现了错误或性能问题,欢迎您打开一个问题。
我们的路线图是公开的。随意处理任何吸引您的眼睛或提出建议的事情。
如果您想为代码库带来修改,请查看贡献指南。
如果River对您有用,并且您想在科学出版物中引用它,请参阅JMLR上发表的论文:
@Article {Montiel2021River,title = {河:python中流式数据的机器学习,作者= {Montiel,Jacob和Halford,Max和Mastelini,Max和Mastelini,Saulo Martiello和Saulo Martiello和Bolmier,Geoffrey,Geoffrey and Sourty and Sourty,Raphael和Vaysse,Robin和vaysse,Robin and adiline,adiline,adiline,adiline,adiline,adil,adiline,adiline,adil,还有戈麦斯(Gomes),穆里洛(Heitor Murilo)和阅读,杰西(Jesse)和阿卜杜勒姆(Abdessalem),塔勒尔(Talel)等人},年= {2021}}
River是根据3条规定BSD许可证许可的免费和开源软件。