الوصف
يوفر Dask-ML إمكانيات تعلم آلة قابلة للتوسع ضمن نظام بايثون البيئي، مصمم للعمل بسلاسة مع المكتبات الشائعة مثل Scikit-Learn و XGBoost وغيرها. إنه يمكّن المستخدمين من معالجة مهام تعلم الآلة التي تتضمن مجموعات بيانات كبيرة أو نماذج معقدة قد تتجاوز الأدوات القياسية.
يعالج الإطار بعدين أساسيين لتحديات التوسع. الأول هو توسيع حجم النموذج، حيث تصبح خطوات التدريب أو التنبؤ أو التقييم مكثفة حسابيًا بسبب تعقيد النموذج أو حجمه. يساعد Dask-ML من خلال السماح للمستخدمين بالاستمرار في استخدام المجموعات المألوفة مثل NumPy ndarrays أو pandas DataFrames أو XGBoost DMatrix، ثم موازاة هذه الأعباء عبر Dask Cluster. يمكن تحقيق هذه الموازاة من خلال الواجهة الخلفية لـ joblib الخاصة بـ Dask لـ Scikit-Learn أو محسنات المعلمات الفائقة الخاصة بـ Dask-ML.
يتضمن تحدي التوسع الثاني مجموعات البيانات الكبيرة جدًا بحيث لا يمكن احتواؤها في ذاكرة الوصول العشوائي. في مثل هذه السيناريوهات، يصبح حتى تحميل البيانات إلى NumPy أو pandas مستحيلاً. يعالج Dask-ML هذا من خلال تمكين استخدام مجموعات Dask عالية المستوى، مثل Dask Array أو Dask DataFrame أو Dask Bag، بالاقتران مع المقدرات المتخصصة لـ Dask-ML. على سبيل المثال، يمكن للمستخدمين استخدام Dask Array مع مقدرات المعالجة المسبقة من `dask_ml.preprocessing` أو طرق التجميع من `dask_ml.ensemble`.
يسعى Dask-ML للحفاظ على واجهة موحدة مألوفة لمستخدمي NumPy و Pandas و Scikit-Learn. تضمن فلسفة التصميم هذه أن الأفراد المعتادين بالفعل على واجهة برمجة تطبيقات Scikit-Learn يمكنهم الانتقال إلى Dask-ML بأقل منحنى تعلم. علاوة على ذلك، يتكامل Dask-ML مع المكتبات الموزعة الأخرى، مثل XGBoost، من خلال تسهيل إعداد البيانات باستخدام سير عمل Dask قبل تسليم البيانات للتدريب الموزع مع المكتبة الشريكة.
من المهم ملاحظة أن ليس كل مهام تعلم الآلة تتطلب حلولاً قابلة للتوسع. Dask-ML هو الأنسب للسيناريوهات التي تشكل فيها الموارد الحسابية أو حجم البيانات اختناقات كبيرة. بالنسبة للعديد من المهام الشائعة، قد تكون الطرق التقليدية أو تقنيات أخذ العينات كافية. Dask-ML هو مشروع مفتوح المصدر، وتتوفر وثائقه بسهولة.
الميزات الأساسية لـ Dask-ML
تعلم آلة قابل للتوسع لبايثون
يتكامل مع Scikit-Learn و XGBoost ومكتبات أخرى
يعالج تحديات أحجام النماذج الكبيرة
يتعامل مع مجموعات البيانات التي تتجاوز ذاكرة الوصول العشوائي المتاحة
يوازي أعباء العمل عبر Dask Clusters
يدعم واجهات برمجة التطبيقات المألوفة مثل NumPy و Pandas و Scikit-Learn
يوفر محسنات للمعلمات الفائقة للضبط الموزع
يقدم مقدرات معالجة مسبقة لمجموعات Dask
يمكّن طرق التجميع الموزعة
يسهل التكامل مع مكتبات تعلم الآلة الموزعة الأخرى
واجهة موحدة لمهام علم البيانات الموزعة
البدء مع Dask-ML
التثبيت: قم بتثبيت Dask-ML باستخدام مدير حزم مثل pip أو conda.
التكوين: قم بإعداد Dask Cluster لإدارة الموارد الموزعة.
إعداد البيانات: استخدم مجموعات Dask (Array، DataFrame، Bag) لمعالجة البيانات خارج الذاكرة.
تدريب النموذج: استخدم مقدرات Dask-ML أو Scikit-Learn مع الواجهة الخلفية لـ joblib الخاصة بـ Dask للتدريب المتوازي.
التنبؤ: قم بإنشاء تنبؤات على مجموعات بيانات كبيرة باستخدام إمكانيات التنبؤ الموزعة لـ Dask-ML.
التقييم: قم بتقييم أداء النموذج على مجموعات البيانات الموزعة.
التحسين: استخدم محسنات المعلمات الفائقة لـ Dask-ML لضبط النموذج بكفاءة.
حالات استخدام Dask-ML
- تدريب نماذج واسعة النطاق
- ضبط المعلمات الفائقة الموزع
- المعالجة المسبقة للبيانات خارج الذاكرة
- إنشاء تنبؤات متوازية
- طرق التجميع على البيانات الضخمة
- Scikit-Learn على البيانات الموزعة
- XGBoost مع Dask



