Benchmark · coding

DS-1000

0 نتائج 0 نماذج

DS-1000 هو معيار قياس يضم 1000 مسألة برمجية حقيقية في علم البيانات جُمعت من Stack Overflow وتغطي سبع مكتبات Python (NumPy وPandas وSciPy وscikit-learn وPyTorch وTensorFlow وMatplotlib)؛ وهو يقيس ما إذا كان النموذج يولّد شيفرة تحل كل مسألة بشكل صحيح، ويُبلَّغ عنه كدقة تنفيذ pass@1.

اقرأ المزيد
مثال
العنصر النموذجي هو سؤال بلغة طبيعية حول كيفية القيام بشيء ما باستخدام مكتبة معينة — مثل تصفية أو إعادة تشكيل DataFrame في Pandas، أو عملية على مصفوفة NumPy، أو رسم بياني في Matplotlib — مصحوبًا بسياق شيفرة ابتدائي يجب على النموذج إكماله (يُقدَّم بصيغتي Completion وInsertion).
طريقة التقييم
المقياس هو دقة التنفيذ pass@1. تُشغَّل كل حلٍّ مُولَّد على حالات اختبار مخفية، ولا يُحتسب محلولًا إلا إذا اجتاز كل الاختبارات واستوفى قيود surface-form (فحوص regex للتأكد من استخدام واجهات API المطلوبة وعدم استخدام الاختصارات الممنوعة). الدرجة هي نسبة المسائل المحلولة من أصل 1000.
التحقق
القبول آلي بالكامل: يُنفَّذ البرنامج المكتمل داخل بيئة معزولة (sandbox) ويُفحَص خرجه للتحقق من صحته الوظيفية مقابل حالات الاختبار، مقترنًا بقيود surface-form. صُمِّم هذا الفحص متعدد المعايير لإبقاء معدّلي القبول الخاطئ والرفض الخاطئ منخفضين، وقد جرى تعديل (perturb) المسائل عن أصولها في Stack Overflow للحد من الحفظ عن ظهر قلب.
لماذا يهم
إنه يعكس احتياجات برمجة علم البيانات الواقعية واليومية بدلًا من الألغاز الاصطناعية، ويغطي سبع مكتبات واسعة الاستخدام، كما أن تقييمه الموثوق القائم على التنفيذ يجعله مقياسًا شائعًا لتقييم نماذج توليد الشيفرة في العمل العملي لعلم البيانات.
مثال محلول
المهمة
المسألة: بمعطى DataFrame من Pandas باسم df يحتوي عمودًا رقميًا 'value'، أنشئ DataFrame يحتوي فقط على الصفوف التي تكون فيها 'value' أكبر من متوسط العمود. <code> import pandas as pd df = pd.DataFrame({'value': [1, 5, 3, 9, 2]}) </code> BEGIN SOLUTION — أسنِد الإجابة إلى result. (لأغراض التوضيح، وليست عنصرًا رسميًا منقولًا حرفيًا.)
الحل
result = df[df['value'] > df['value'].mean()]
الشرح
يُبقي القناع المنطقي (boolean masking) الصفوف التي تتجاوز فيها 'value' القيمة df['value'].mean()؛ يشغّل الإطار (harness) السكربت المكتمل ويقارن result بالـ DataFrame المتوقع (مثلًا عبر أدوات اختبار pandas)، بينما تؤكد قيود surface-form أنه حل حقيقي بـ Pandas. يُقيَّم نجاح/فشل بناءً على التنفيذ.

لا توجد درجات موثّقة لهذا الـ Benchmark بعد.