
مكتبة تعلّم آلي تدفقي للتعلّم التدريجي على تدفقات البيانات، توفّر مُقدِّرات فورية، وكشف الانجراف والشذوذ، وخطوط المعالجة، والمقاييس، ومجموعات بيانات مدمجة للغة Python.
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
تتوفر حزم wheels جاهزة لأنظمة لينكس، وماك، وويندوز. وهذا يعني أنك على الأرجح لن تحتاج إلى بناء 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 تطبيقات عبر الإنترنت لعائلة الخوارزميات التالية:
توفر River أيضًا أدوات أخرى عبر الإنترنت:
اطّلع على الـ API للحصول على نظرة عامة شاملة
ينبغي أن تسأل نفسك إن كنت تحتاج إلى التعلم الآلي عبر الإنترنت. والإجابة غالبًا هي لا. ففي معظم الأحيان، يؤدي التعلم بالدفعات المهام المطلوبة بشكل جيد. لكن قد يكون الأسلوب عبر الإنترنت مناسبًا إذا:
من خصائص River المميزة:
لا تتردد في المساهمة بأي طريقة تحبها، فنحن دائمًا منفتحون على الأفكار والأساليب الجديدة.
يرجى الاطلاع على إرشادات المساهمة إذا كنت تريد إجراء تعديلات على قاعدة الشيفرة.
إذا كان 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 هو برنامج حر ومفتوح المصدر مرخّص بموجب رخصة BSD ثلاثية البنود.