Benchmark · coding
DS-1000
DS-1000 एक बेंचमार्क है जिसमें Stack Overflow से एकत्र किए गए 1000 वास्तविक डेटा-साइंस कोडिंग प्रश्न शामिल हैं और जो सात Python लाइब्रेरीज़ (NumPy, Pandas, SciPy, scikit-learn, PyTorch, TensorFlow, Matplotlib) को कवर करते हैं; यह मापता है कि क्या कोई मॉडल ऐसा कोड बनाता है जो प्रत्येक समस्या को सही ढंग से हल करे, और इसे pass@1 execution accuracy के रूप में रिपोर्ट किया जाता है।
और पढ़ें
- उदाहरण
- एक प्रतिनिधि आइटम किसी विशिष्ट लाइब्रेरी से कुछ करने के बारे में प्राकृतिक भाषा में पूछा गया प्रश्न होता है — जैसे किसी Pandas DataFrame को फ़िल्टर या पुनर्आकार देना, किसी NumPy array पर संगणना, या कोई Matplotlib प्लॉट — साथ में एक शुरुआती कोड-संदर्भ जिसे मॉडल को पूरा करना होता है (Completion और Insertion दोनों फ़ॉर्मैट में दिया जाता है)।
- स्कोरिंग
- मेट्रिक pass@1 execution accuracy है। प्रत्येक उत्पन्न समाधान को छिपे हुए टेस्ट केसों पर चलाया जाता है और तभी हल माना जाता है जब वह सभी टेस्ट पास करे और surface-form बाधाओं को पूरा करे (regex जाँच कि आवश्यक API इस्तेमाल हुए और निषिद्ध शॉर्टकट नहीं)। स्कोर 1000 में से हल हुई समस्याओं का अनुपात है।
- सत्यापन
- स्वीकृति पूरी तरह स्वचालित है: पूर्ण किए गए प्रोग्राम को एक सैंडबॉक्स में चलाया जाता है और उसके आउटपुट की कार्यात्मक शुद्धता को टेस्ट केसों के विरुद्ध, surface-form बाधाओं के साथ मिलाकर जाँचा जाता है। यह बहु-मानदंड जाँच इस तरह डिज़ाइन की गई है कि गलत-स्वीकृति और गलत-अस्वीकृति की दरें कम रहें, और memorization घटाने के लिए समस्याओं को उनके Stack Overflow मूल से बदला (perturb) गया है।
- यह क्यों मायने रखता है
- यह सिंथेटिक पहेलियों के बजाय वास्तविक, रोज़मर्रा की डेटा-साइंस कोडिंग ज़रूरतों को दर्शाता है, सात व्यापक रूप से उपयोग होने वाली लाइब्रेरीज़ को कवर करता है, और इसका विश्वसनीय execution-आधारित मूल्यांकन इसे व्यावहारिक DS कार्य पर कोड-जनरेशन मॉडलों के मूल्यांकन का एक सामान्य मानदंड बनाता है।
हल किया गया उदाहरण
कार्य
समस्या: एक Pandas DataFrame 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()]
व्याख्या
बूलियन मास्किंग उन पंक्तियों को रखती है जहाँ 'value', df['value'].mean() से अधिक है; हार्नेस पूर्ण किए गए स्क्रिप्ट को चलाता है और result की तुलना अपेक्षित DataFrame से करता है (उदाहरण के लिए pandas के टेस्ट यूटिलिटीज़ से), जबकि surface-form बाधाएँ पुष्टि करती हैं कि यह एक वास्तविक Pandas समाधान है। निष्पादन के आधार पर pass/fail के रूप में मूल्यांकित।
इस benchmark के लिए अभी तक कोई सत्यापित स्कोर रिपोर्ट नहीं किया गया है।