MLOps / أسس التنبؤ والأدلة / الدرس 2
مخططات البيانات وبوابات الجودة
تحقق من المعنى والأهلية عند حدود البيانات دون إخفاء تغييرات السياسة تحت اسم التنظيف.
في هذه الصفحة
أهداف الدرس
- تعريف النوع والوحدات والهوية والمجالات والقيم المفقودة.
- عرض السجلات المرفوضة وأعداد أسباب رفضها.
- تمييز توافق المخطط عن الأدلة المتعلقة بتوزيع البيانات.
يشمل المخطط معنى يتجاوز أنواع الحقول
قد يمثل الحقل العددي دقائق أو ثواني أو معرّفاً أو فئة مرمزة. حدد الأسماء والأنواع والوحدات والقيم المسموحة وسياسة الفقد وهوية المشاهدة ووقت توفر القيمة. يهم ترتيب السمات للمدخلات الموضعية للنموذج حتى عند وجود كل الأسماء. لا يفيد إصدار المخطط كمعرّف إلا إذا أشار فعلاً إلى عقد محفوظ. لا تقبل طلباً لمجرد أنه يحمل رقم إصدار مألوفاً. افحص البنية والبيانات الوصفية الدلالية ذات الصلة، وحدد التصرف عندما يرسل المنتج بيانات غير مدعومة أو ملتبسة.
ترمز قواعد الجودة إلى قرارات الأهلية
لا تلائم قاعدة مدة غير سالبة ومنتهية إلا قياساً يستلزم تعريفه ذلك. قد تمثل القيم السالبة الحقيقية تغيراً ذا إشارة مشروعاً، وقد يمثل الصفر مشاهدة حقيقية لا فقداً. يطبق المثال الأول قاعدة مدة معلنة ويحفظ معرّفات الرفض وأسبابه. لا يستنتج القاعدة من القيم المرصودة. اختر رفض الدفعة كلها أو عزل الصفوف أو سلوكاً آخر مبرراً قبل تفسير نتيجة النموذج. قد يحسن التنظيف الذي يحذف المشاهدات الصعبة بصمت أحد المقاييس، لكنه يغير أيضاً المجتمع الذي يفترض أن يخدمه النموذج.
from math import isfinite
rows = [{"id":"a", "minutes":3.0}, {"id":"b", "minutes":float("nan")},
{"id":"c", "minutes":-1.0}]
accepted, rejected = [], []
for row in rows:
value = row["minutes"]
reasons = []
if not isfinite(value): reasons.append("nonfinite")
elif value < 0: reasons.append("negative")
(rejected if reasons else accepted).append((row["id"], reasons))
print("accepted", [key for key,_ in accepted])
print("rejected", rejected)
accepted ['a']
rejected [('b', ['nonfinite']), ('c', ['negative'])]
تنتج قاعدة المدة المنتهية غير السالبة المعلنة هويات صفوف وأسباباً صريحة؛ ولا تستبدل القياسات المرفوضة بصمت.
احسب التغطية والعيوب كلّاً على حدة
اعرض إجمالي المدخلات والسجلات المقبولة والمرفوضة والمكررات والفقد والعيوب الخاصة بكل قاعدة. قد يخالف سجل واحد عدة قواعد، ولذلك قد يتجاوز مجموع أعداد الأسباب عدد الصفوف المرفوضة. يجب أن يحدد المقام هل يشير إلى صفوف أو كيانات أو أهداف صالحة أو أحداث. حقق في الزيادات المفاجئة بمقارنتها بمجتمعات وفترات جمع قابلة للمقارنة. قد تنتج دفعة صغيرة معدلات غير مستقرة، وقد يخفي متوسط مستقر مصدراً واحداً ذا عيب شديد. احفظ معلومات مصدر تكفي لتحديد الحد المنتج للمشكلة، دون وضع سجلات خام خاصة أو بيانات اعتماد في سجلات عامة أو أمثلة تعليمية.
التوافق علاقة تتضمن الترتيب
يغير المثال الثاني ترتيب السمات ووحداتها مع الحفاظ على الإصدار ومجموعة أسماء السمات. لذلك قد تستهلك دالة تنبؤ موضعية أرقاماً تبدو صالحة ولكن معناها خاطئ. قد يعيد الإصلاح الترتيب بالأسماء وفق خريطة متحقق منها، أو يرفض طلباً يخالف الواجهة المعلنة. وينبغي ألا يخمن من المقادير العددية وحدها. يشمل التوافق أيضاً مفردات الفئات ومعلمات التطبيع وتفسير الزمن والقيم الافتراضية للحقول الاختيارية. اجعل عقدي المنتج والمستهلك قابلين للاختبار بمدخل صغير معلوم تنكشف مخالفته إذا تبادل إحداثيان موضعيهما.
schema = {"features":["booked_seats", "days_remaining"],
"units":["count", "days"], "version":1}
request = {"features":["days_remaining", "booked_seats"],
"units":["days", "count"], "version":1}
print("same version", request["version"] == schema["version"])
print("same ordered contract", request == schema)
print("same feature set", set(request["features"]) == set(schema["features"]))
same version True
same ordered contract False
same feature set True
لا يثبت تطابق الإصدار ومجموعة السمات توافق ترتيبها؛ فالأسماء والمواضع والوحدات والتفسير أجزاء مترابطة من العقد.
تمثل بوابات الجودة أدلة ذات حدود صريحة
يمكن للبوابة إثبات اجتياز البيانات المقدمة الفحوص المنفذة فيها. ولا تثبت صحة الوسوم أو تمثيل المجتمع أو غياب كل مشكلة قياس خفية. تتكامل فحوص المخطط والتوزيع: قد يخالف تبديل الوحدة قاعدة دلالية، بينما يغير موسم مشروع التوزيع دون عيب. سجل إصدار القاعدة وأعداد النتائج وهوية الأثر المحجوب أو المقبول. تتحقق هذه الأمثلة من سجلات اصطناعية في الذاكرة فقط. ولا تفحص بيانات إنتاج أو تشغل منصة تحقق أو تدعي أن عتبة عامة تجعل النموذج جديراً بالثقة.
الأخطاء الشائعة وإصلاحها
اختفت السجلات غير الصالحة دون أثر تدقيق
- لماذا يحدث؟
- غيرت خطوة تنظيف عامة الأهلية بصمت.
- كيف تصلحه؟
- احفظ الأعداد والمعرّفات حيث يسمح بذلك والأسباب وفق السياسة المختارة.
- كيف تتجنب تكراره؟
- راجع قواعد الرفض قبل تقييم نتائج النموذج.
عوملت أسماء الأعمدة المتطابقة كتوافق موضعي
- لماذا يحدث؟
- اختلف الترتيب أو الوحدات أو التحويلات.
- كيف تصلحه؟
- تحقق من العقد المرتب كاملاً أو طبق خريطة صريحة.
- كيف تتجنب تكراره؟
- احفظ مدخلاً مميزاً يكشف تبادل الإحداثيات.
وُصف اجتياز بوابة المخطط بأنه صحة للبيانات
- لماذا يحدث؟
- اختلطت فحوص بنية منفذة بجميع الخصائص الدلالية.
- كيف تصلحه؟
- صرح بما فُحص وقيّم الوسوم ومصدر البيانات بصورة مستقلة.
- كيف تتجنب تكراره؟
- احفظ حدود الفحوص وإصدارات القواعد مع نتائج البوابة.
اختبر فهمك
1. رُفضت ثلاثة سجلات، لكن مجموع أسباب عدم المنتهية وخارج المجال أربعة. هل يلزم وجود تناقض؟
اعرض الحل المشروح
لا. قد يخفق سجل في أكثر من قاعدة فتتداخل أعداد الأسباب. اعرض عدد الصفوف المرفوضة الفريدة منفصلاً عن أعداد كل قاعدة، واحفظ سياسة حتمية للأسباب، وتحقق من أن الصفوف المقبولة والمرفوضة تغطي المدخل كله دون تكرار.
2. غير مصدر مدة الوحدة من ثوانٍ إلى مللي ثانية وأبقى النوع عددياً. ماذا ينبغي أن يحدث؟
اعرض الحل المشروح
حدد تغير معنى الوحدة من وصف المنتج والأمثلة الاختبارية المعروفة، ثم حول بقانون صريح ذي إصدار أو ارفض المدخل غير المتوافق. لا يستطيع فحص النوع العددي كشف المعنى. تحقق من الشرائح المتأثرة واحفظ الأدلة الداعمة لأي تحويل.
أهم ما تعلمته
- تشمل المخططات الوحدات والهوية والترتيب والإتاحة.
- تحدد سياسة الرفض المجتمع المدعوم.
- يثبت اجتياز البوابة فحوصها المعلنة ضمن حدودها.