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許可證許可的免費和開源軟件。