Dask Examples

From binaryoption
Jump to navigation Jump to search
Баннер1

أمثلة Dask: دليل للمبتدئين في الحوسبة المتوازية

موجز: Dask

مقدمة

Dask هي مكتبة حوسبة متوازية مرنة في بايثون. تتيح لك Dask تسريع تحليل البيانات و التعلم الآلي عن طريق توزيع المهام على نوى متعددة أو حتى على مجموعة من أجهزة الكمبيوتر. هذه المقالة هي دليل للمبتدئين لاستكشاف بعض الأمثلة الأساسية لكيفية استخدام Dask. سنغطي هنا كيفية استخدام Dask مع NumPy، و Pandas، و عمليات الحوسبة المخصصة.

لماذا نستخدم Dask؟

تقليديًا، غالبًا ما يتم تنفيذ عمليات تحليل البيانات في بايثون باستخدام حلقات التكرار. يمكن أن تكون هذه العمليات بطيئة جدًا لمجموعات البيانات الكبيرة. Dask يوفر حلاً عن طريق:

  • التوازي: تقسيم المهام إلى أجزاء أصغر وتنفيذها بالتوازي.
  • التقييم الكسول: تأجيل الحسابات حتى تكون النتائج مطلوبة بالفعل، مما يوفر الذاكرة.
  • القياس: القدرة على التعامل مع مجموعات بيانات أكبر من ذاكرة الوصول العشوائي (RAM) المتاحة.

Dask مع NumPy

Dask يمكنه تسريع عمليات NumPy عن طريق تقسيم المصفوفات الكبيرة إلى أجزاء أصغر.

مثال 1: جمع مصفوفات كبيرة

```python import dask.array as da import numpy as np

  1. إنشاء مصفوفة NumPy كبيرة

x = np.random.random((10000, 10000))

  1. تحويلها إلى مصفوفة Dask

dask_x = da.from_array(x, chunks=(1000, 1000))

  1. إجراء عملية جمع

result = dask_x.sum()

  1. حساب النتيجة

print(result.compute()) ```

في هذا المثال، نقوم بتحويل مصفوفة NumPy إلى مصفوفة Dask باستخدام `da.from_array`. تحدد وسيطة `chunks` حجم الأجزاء التي سيتم تقسيم المصفوفة إليها. ثم نقوم بإجراء عملية الجمع باستخدام `dask_x.sum()`. لاحظ أن `result` هو كائن Dask مؤجل؛ لا يتم إجراء الحساب الفعلي حتى نستخدم `result.compute()`. هذا يتيح لـ Dask تحسين التنفيذ. يمكنك استكشاف تحسين الأداء لتسريع العمليات.

مثال 2: العمليات الحسابية

يمكن تطبيق عمليات NumPy القياسية على مصفوفات Dask، مثل الضرب والطرح. على سبيل المثال، `dask_x * 2` سيضرب كل عنصر في المصفوفة في 2.

Dask مع Pandas

Dask يوفر أيضًا دعمًا قويًا لـ Pandas. يمكن لـ Dask DataFrame التعامل مع مجموعات بيانات أكبر بكثير من Pandas DataFrame التقليدية.

مثال 3: قراءة ملف CSV كبير

```python import dask.dataframe as dd import pandas as pd

  1. قراءة ملف CSV باستخدام Dask

ddf = dd.read_csv('large_file.csv')

  1. إجراء بعض العمليات

mean_value = ddf['column_name'].mean()

  1. حساب النتيجة

print(mean_value.compute()) ```

هنا، نستخدم `dd.read_csv` لقراءة ملف CSV كبير. يعمل Dask على تقسيم الملف إلى أجزاء أصغر وتحميلها في الذاكرة حسب الحاجة. ثم نقوم بحساب متوسط قيمة عمود معين باستخدام `ddf['column_name'].mean()`. مرة أخرى، يتم تأجيل الحساب حتى نستخدم `mean_value.compute()`. هذا مفيد بشكل خاص عند التعامل مع بيانات ضخمة. يمكنك أيضًا استخدام تحليل البيانات الاستكشافية مع Dask.

مثال 4: تصفية البيانات

```python

  1. تصفية البيانات

filtered_ddf = ddf[ddf['column_name'] > 10]

  1. حساب عدد الصفوف في DataFrame المصفى

print(filtered_ddf.count().compute()) ```

يسمح لك هذا المثال بتصفية البيانات بناءً على شرط معين. تعتبر عمليات التصفية هذه فعالة للغاية مع Dask لأنها يمكن أن يتم تنفيذها بالتوازي. يمكنك أيضًا استخدام التحليل الإحصائي مع Dask DataFrame.

Dask مع العمليات الحسابية المخصصة

يمكنك أيضًا استخدام Dask لتسريع العمليات الحسابية المخصصة.

مثال 5: استخدام `dask.delayed`

```python import dask from dask import delayed

@delayed def inc(x):

   return x + 1

@delayed def add(x, y):

   return x + y
  1. إنشاء مهام Dask

a = inc(1) b = inc(2) c = add(a, b)

  1. حساب النتيجة

print(c.compute()) ```

في هذا المثال، نستخدم `dask.delayed` لتأخير تنفيذ الدوال `inc` و `add`. يقوم Dask بإنشاء رسم بياني للمهام ثم يقوم بتنفيذها بالتوازي. هذا مفيد بشكل خاص للعمليات الحسابية المعقدة. يمكنك أيضًا استخدام البرمجة الوظيفية مع Dask.

الموارد الإضافية

الخلاصة

Dask هي أداة قوية لتسريع تحليل البيانات والتعلم الآلي في بايثون. من خلال استخدام Dask، يمكنك التعامل مع مجموعات بيانات أكبر وتنفيذ العمليات بشكل أسرع. توفر الأمثلة المذكورة أعلاه نقطة انطلاق جيدة لاستكشاف إمكانات Dask.

ابدأ التداول الآن

سجل في IQ Option (الحد الأدنى للإيداع $10) افتح حساباً في Pocket Option (الحد الأدنى للإيداع $5)

انضم إلى مجتمعنا

اشترك في قناة Telegram الخاصة بنا @strategybin للحصول على: ✓ إشارات تداول يومية ✓ تحليلات استراتيجية حصرية ✓ تنبيهات باتجاهات السوق ✓ مواد تعليمية للمبتدئين

Баннер