اختبار مسار البيانات اختباراً وحدياً
تحقّق باستخدام pytest من الأشكال والأنواع والنطاقات.
اختبار مسار البيانات اختباراً وحدياً درس مجاني في MLOps Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في MLOps Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة MLOps Academy 4 دروس في المجموع.
اختبروا البيانات، لا النموذج فقط
تختبئ معظم أخطاء تعلّم الآلة في مسار البيانات لا في النموذج. ويمكن لبعض اختبارات الوحدات البسيطة على بياناتكم أن تكشف المشكلات قبل التدريب بوقت طويل. 🧪
ما الذي يقدمه pytest
تكتبون الاختبارات على شكل دوال عادية، وتتركون لـpytest مهمة اكتشافها وتشغيلها. ويؤدي فشل أي assert إلى تقرير فشل واضح وسهل القراءة.
بنية اختبار البيانات
يحمّل اختبار البيانات عينة، ثم يستدعي عملية التحويل، وبعد ذلك يتحقق من توقع. والأداة الأساسية هي عبارة assert التي تحدد النجاح أو الفشل.
def test_no_nulls(df):
assert df["age"].notna().all()تحققوا من الشكل
قد تحذف مسارات البيانات أعمدة أو تضيفها بصمت. ثبّتوا الشكل حتى لا يمر إطار من 10 أعمدة على أنه إطار من 9 أعمدة دون ملاحظة.
def test_shape(df):
assert df.shape[1] == 10تحققوا من أنواع الأعمدة
قد يؤدي تفسير رقم على أنه نص إلى تعطيل التدريب بصمت. ثبّتوا نوع البيانات لكل عمود حتى يؤدي أي انحراف في النوع إلى فشل الاختبار بدلًا من النموذج.
def test_dtype(df):
assert df["price"].dtype == "float64"تحققوا من النطاقات المعقولة
احموا أنفسكم من القيم المستحيلة. يمنع فحص النطاق وصول عمر سالب أو احتمال نسبته 300% إلى نموذجكم.
def test_range(df):
assert df["age"].between(0, 120).all()اكتشفوا القيم الفارغة
تُعد القيم المفقودة أكثر أخطاء البيانات شيوعًا. تحققوا من أن الأعمدة المهمة لا تحتوي على قيم فارغة، أو من بقاء القيم الفارغة تحت حد معروف.
استخدموا بيانات اختبار صغيرة
ينبغي أن تعمل الاختبارات خلال أجزاء من الثانية. تنشئ fixture في pytest إطارًا صغيرًا مُعدًا يدويًا، فتظل الاختبارات سريعة ولا تلمس البيانات الحقيقية أبدًا.
import pytest
@pytest.fixture
def df():
return load_sample()اختبروا كل عملية تحويل منفردة
اختبروا خطوة واحدة في كل مرة حتى تشير حالات الفشل إلى السبب الدقيق. هذا هو اختبار الوحدات: صغير ومعزول وسهل التصحيح.
شغّلوا مجموعة الاختبارات
يشغّل أمر واحد كل الاختبارات ويطبع ملخصًا باللون الأخضر أو الأحمر. شغّلوا pytest محليًا، ثم شغّلوه مرة أخرى في CI عند كل عملية دفع.
# in your terminal
pytest -qاختبروا الحالات الطرفية عمدًا
مرّروا إطارًا فارغًا، أو صفًا واحدًا، أو إدخالًا مكوّنًا بالكامل من قيم فارغة. تثبت اختبارات الحالات الطرفية الجيدة أن مسار البيانات يفشل بوضوح لا بصمت.
تحقق سريع
أي فحص يحمي بأفضل شكل من قراءة عمود بنوع خاطئ؟
مراجعة: الاختبارات تكتشف أخطاء البيانات
أصبحتم الآن تختبرون البيانات بوحدات باستخدام pytest: إذ تتحققون من الشكل والأنواع والنطاقات والقيم الفارغة في بيانات اختبار صغيرة، بحيث تتسبب البيانات السيئة في فشل عملية البناء لا في إزعاج المستخدمين. ✅
تعلم Python مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «اختبار مسار البيانات اختباراً وحدياً» مجاني؟
نعم — نص درس «اختبار مسار البيانات اختباراً وحدياً» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة MLOps Academy، انتقل إلى CoddyKit PRO. تتضمن دورة MLOps Academy 4 دروس في المجموع.
ماذا ستتعلم في «اختبار مسار البيانات اختباراً وحدياً»؟
تحقّق باستخدام pytest من الأشكال والأنواع والنطاقات. تتمرن على MLOps Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ MLOps Academy؟
لا تُشترط خبرة سابقة. MLOps Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «اختبار مسار البيانات اختباراً وحدياً»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس MLOps Academy هذا؟
نعم. كل درس في MLOps Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- اختبار مسار البيانات اختباراً وحدياً
- اختبارات سلوكية للنماذج
- تعيين بوابات الجودة والعتبات
- التحقق من البيانات باستخدام Great Expectations