1. परिचय

पिछले अपडेट की तारीख: 10-05-2024
Kaggle क्या है?
Kaggle, एआई और एमएल की सबसे बड़ी कम्यूनिटी है. यह डेटा साइंस और मशीन लर्निंग में दिलचस्पी रखने वाले लोगों के लिए सबसे बेहतरीन प्लैटफ़ॉर्म है. यहां वे नई तकनीकों और टेक्नोलॉजी के बारे में जान सकते हैं. अपने अगले प्रोजेक्ट को शुरू करने के लिए, डेटासेट, नोटबुक, और पहले से ट्रेन किए गए मॉडल की बड़ी रिपॉज़िटरी एक्सप्लोर करें. प्रतियोगिताओं में हिस्सा लें, कोर्स से सीखें, और दुनिया भर के 1.8 करोड़ से ज़्यादा उपयोगकर्ताओं की अलग-अलग कम्यूनिटी से जुड़ें. चाहे आपने अभी-अभी डेटा साइंस के क्षेत्र में काम करना शुरू किया हो या आप एक अनुभवी पेशेवर हों, Kaggle आपकी स्किल्स को बेहतर बनाने, नए ट्रेंड के साथ अपडेट रहने, और बेहतरीन प्रोजेक्ट पर मिलकर काम करने के लिए सबसे अच्छा प्लैटफ़ॉर्म है.
आपको क्या बनाने को मिलेगा
इस कोडलैब में, Kaggle कॉम्पिटिशन बनाया, कॉन्फ़िगर किया, और लॉन्च किया जाएगा. आपको यह पता चलेगा कि प्रतिस्पर्धी को कैसा अनुभव मिलता है. साथ ही, आपको दिलचस्प प्रतियोगिता आयोजित करने के सबसे सही तरीकों के बारे में जानकारी मिलेगी.
आपको क्या सीखने को मिलेगा
- जानें कि होस्ट के तौर पर, Kaggle प्रतियोगिता कैसे बनाई और मैनेज की जाती है
- एक्सप्लोर करने से लेकर सबमिट करने तक, प्रतिस्पर्धी के अनुभव के बारे में जानें
- दिलचस्प प्रतियोगिता आयोजित करने के सबसे सही तरीके जानें
इस कोडलैब में, तेज़ी से प्रतियोगिता बनाने पर फ़ोकस किया गया है. साथ ही, इसमें Kaggle की बढ़ती हुई प्रतियोगिता लाइब्रेरी का इस्तेमाल किया गया है.
आपको इन चीज़ों की ज़रूरत होगी
- हाल ही का वेब ब्राउज़र
- Python की बुनियादी जानकारी
2. सेट अप करना
Kaggle खाता बनाना
Kaggle की वेबसाइट (https://www.kaggle.com/) पर जाएं और बिना किसी शुल्क के खाता बनाने के लिए, "Register" पर क्लिक करें.
अपने खाते की पुष्टि करना
- पेज के सबसे ऊपर दाएं कोने में मौजूद, अपनी प्रोफ़ाइल इमेज पर क्लिक करें
- "आपकी प्रोफ़ाइल" पर क्लिक करें
- प्रोफ़ाइल कॉन्टेंट के दाईं ओर मौजूद, "सेटिंग" बटन पर क्लिक करें
- "फ़ोन से पुष्टि करना" सेक्शन में जाकर, अपने खाते की पुष्टि करने के लिए दिए गए निर्देशों का पालन करें
3. अपनी पहली प्रतियोगिता बनाना
पेश है एआई से जनरेट किए गए प्रतियोगिता के टेंप्लेट
एआई से जनरेट की गई प्रतियोगिताएं, Kaggle पर एक नई सुविधा है. इसकी मदद से उपयोगकर्ता, मशीन लर्निंग की प्रतियोगिताएं तेज़ी से और आसानी से बना सकते हैं. यह एआई का इस्तेमाल करके, सिंथेटिक डेटासेट जनरेट करता है. ये डेटासेट, मौजूदा डेटासेट की सांख्यिकीय प्रॉपर्टी की नकल करते हैं. हालांकि, इनमें व्यक्तिगत पहचान से जुड़ी कोई जानकारी शामिल नहीं होती.
यह इस तरह से काम करता है:
- कोई टेंप्लेट चुनें: मशीन लर्निंग के अलग-अलग टास्क (जैसे, क्लासिफ़िकेशन, रिग्रेशन) के आधार पर, टेंप्लेट की सूची में से कोई टेंप्लेट चुनें.
- एआई एक डेटासेट जनरेट करता है: Kaggle का एआई, आपके चुने गए टेंप्लेट के आधार पर आपकी प्रतियोगिता के लिए एक नया डेटासेट बनाता है. यह डेटासेट, ओरिजनल डेटासेट की तरह ही होता है. हालांकि, इसमें सुविधाओं के सबसेट का इस्तेमाल किया जाता है और सुविधाओं का डिस्ट्रिब्यूशन थोड़ा अलग होता है.
- मुकाबले को अपनी पसंद के मुताबिक बनाएं: बुनियादी जानकारी डालें. जैसे, मुकाबले का नाम, ब्यौरा, और समयसीमा. आपके पास अपने प्रतिस्पर्धियों के लिए भी निजता सेटिंग चुनने का विकल्प होता है.
- लॉन्च करें: जानकारी को फ़ाइनल करने और लॉन्च सेट करने के बाद, प्रतियोगिता को लॉन्च किया जा सकता है.
इस सुविधा से, प्रतियोगिता बनाने की प्रोसेस आसान हो जाती है. इससे ज़्यादा लोग इस सुविधा का इस्तेमाल कर पाते हैं. साथ ही, वे डेटासेट तैयार करने के बजाय, मशीन लर्निंग के पहलुओं पर ध्यान दे पाते हैं.
कोई प्रतियोगिता बनाना
https://www.kaggle.com/competitions/new पर जाएं. इसके बाद, "New AI Generated Competition" को चुनें

"Regression with a Crab Age Dataset" Competition को चुनें.
प्रतियोगिता की जानकारी

पूरी जानकारी देने वाला नाम और सबटाइटल डालें. उदाहरण के लिए, टाइटल के तौर पर ‘<Your Names> की केकड़े पकड़ने की प्रतियोगिता' और सबटाइटल के तौर पर ‘यह देखने के लिए कि यह कैसे काम करती है, मैंने अपनी पहली प्रतियोगिता बनाई' का इस्तेमाल किया जा सकता है. ध्यान दें कि टाइटल के आधार पर, प्रतियोगिता का यूआरएल अपने-आप भर जाता है.
दिखने की स्थिति और ऐक्सेस
अब हमें प्रतियोगिता के लिए, दिखने और ऐक्सेस करने की सेटिंग सेट करनी होगी.
किसको दिखे
- सार्वजनिक: आपकी प्रतियोगिता को Kaggle पर कोई भी देख सकता है. यह खोज के नतीजों में दिखेगा, ताकि दिलचस्पी रखने वाला कोई भी व्यक्ति इसमें शामिल हो सके.
- निजी: इस सेटिंग को चुनने पर, आपके प्रतिस्पर्धियों को सार्वजनिक तौर पर नहीं दिखाया जाता. यह खोज के नतीजों में नहीं दिखेगा. साथ ही, सिर्फ़ वे लोग इसमें शामिल हो सकते हैं जिन्हें आपने खास तौर पर न्योता दिया है.
कौन शामिल हो सकता है
- कोई भी व्यक्ति: यह ओपन डोर पॉलिसी की तरह है. Kaggle पर मौजूद कोई भी व्यक्ति, आपकी प्रतियोगिता में शामिल हो सकता है.
- सिर्फ़ वे लोग जिनके पास लिंक है: यह ज़्यादा एक्सक्लूसिव है. आपको एक खास लिंक जनरेट करना होगा. सिर्फ़ वे लोग शामिल हो सकते हैं जिनके पास यह लिंक है.
- पाबंदी वाली ईमेल सूची: यह सबसे ज़्यादा कंट्रोल वाला विकल्प है. आपको कुछ ईमेल पतों या डोमेन (जैसे, @yourschool.edu) की सूची देनी होती है. सिर्फ़ उन पतों वाले लोग ही शामिल हो सकते हैं.
हम नोटबुक और मॉडल चालू करें सेटिंग के बारे में बाद में ज़्यादा जानकारी देंगे. फ़िलहाल, पक्का करें कि यह सुविधा चालू हो. उदाहरण के तौर पर, हमने अपनी प्रतियोगिता के लिए इन सेटिंग को निजी और सिर्फ़ लिंक वाले लोग पर सेट किया है.
नियम और शर्तें पढ़ें और उनसे सहमत हों. इसके बाद, "कॉम्पिटिशन बनाएं" पर क्लिक करें.
4. अपने प्रतिस्पर्धियों को समझना और उन्हें कॉन्फ़िगर करना
हमने पर्दे के पीछे, एक यूनीक डेटासेट के साथ बिलकुल नई प्रतियोगिता बनाई है. चलिए, प्रतियोगिता की सेटिंग की तुरंत समीक्षा करते हैं.
होस्ट टैब
होस्ट टैब में, होस्ट के तौर पर आपको अपने टूर्नामेंट को सही तरीके से कॉन्फ़िगर करने के लिए ज़रूरी सभी चीज़ें मिलेंगी. खास तौर पर, पेज के दाईं ओर मौजूद पेज की सूची देखें:

बुनियादी जानकारी
इस सेक्शन में ये शामिल हैं:
- सामान्य
- निजता, ऐक्सेस, और संसाधन
- टाइमलाइन
- स्कोरिंग और टीमें
हमने प्रतियोगिता लॉन्च करते समय, सामान्य और निजता सेक्शन को कवर किया था.
टाइमलाइन
कॉम्पिटिशन खत्म होने की तारीख, टाइमज़ोन के हिसाब से तय होती है.

स्कोरिंग और टीम
'स्कोरिंग और टीम' सेक्शन में जाकर, यह कंट्रोल किया जा सकता है कि कितने लोग किसी टीम में शामिल हो सकते हैं, वे हर दिन कितनी बार सबमिट कर सकते हैं, और उन्हें फ़ाइनल आकलन के लिए कितने सबमिशन चुनने होंगे.

इमेज
इमेज की मदद से, प्रतियोगिता के लिए बैनर और थंबनेल को पसंद के मुताबिक बनाया जा सकता है. इससे प्रतियोगिता के होम पेज के साथ-साथ, प्रतियोगिता के लिए आपकी लिस्टिंग एंट्री पर भी असर पड़ेगा.

होस्ट
यहां, Kaggle के अन्य उपयोगकर्ताओं को अपनी प्रतियोगिता के होस्ट के तौर पर जोड़ा जा सकता है. अन्य होस्ट के पास, आपकी प्रतियोगिता का पूरा ऐक्सेस होगा. इसमें प्रतियोगिता लॉन्च करना भी शामिल है.

परफ़ॉर्मेंस का आकलन करने वाली मेट्रिक
'आकलन मेट्रिक' टैब, प्रतियोगिता का मुख्य हिस्सा होता है. शुरुआत से कोई प्रतियोगिता बनाते समय, आपको यह तय करना होगा कि आकलन (या स्कोरिंग) के लिए कौनसी मेट्रिक का इस्तेमाल करना है. इसके बाद, आपको अपनी समाधान फ़ाइल अपलोड करनी होगी, सार्वजनिक/निजी टेस्ट स्प्लिट तय करना होगा, और सबमिट करने के लिए एक सैंपल देना होगा. हालांकि, हमने जनरेट किए गए कॉम्पिटिशन का इस्तेमाल किया है. इसलिए, हमें इनमें से कोई भी काम करने की ज़रूरत नहीं है!
स्कोरिंग मेट्रिक
इससे यह तय होता है कि सबमिट किए गए जवाब को, समाधान वाली फ़ाइल के हिसाब से कैसे स्कोर किया जाए. हर मेट्रिक के लिए दस्तावेज़ और असल कोड उपलब्ध है.
समाधान वाली फ़ाइल
हम जनरेट किए गए कॉम्पिटिशन का इस्तेमाल कर रहे हैं. इसलिए, यह फ़ाइल सिर्फ़ आपके कॉम्पिटिशन के लिए यूनीक है!

सॉल्यूशन सैंपलिंग की मदद से, यह तय किया जा सकता है कि प्रतियोगिता (सार्वजनिक लीडरबोर्ड) के दौरान सबमिट किए गए समाधानों को स्कोर करने के लिए, समाधान फ़ाइल के कितने हिस्से का इस्तेमाल किया जाए. साथ ही, यह भी तय किया जा सकता है कि फ़ाइनल लीडरबोर्ड तय करने के लिए कितनी लाइनों का इस्तेमाल किया जाए. कॉम्पिटिशन के दौरान, उपयोगकर्ताओं को यह चुनने की अनुमति होगी कि उनके कौनसे सबमिशन का इस्तेमाल फ़ाइनल लीडरबोर्ड (इसे यहां प्राइवेट लीडरबोर्ड कहा जाता है) के लिए किया जाए. यह अनुमति, स्कोर किए गए प्राइवेट सबमिशन की सेटिंग के आधार पर दी जाएगी.
इस प्रोसेस से यह पक्का किया जाता है कि प्रतिस्पर्धियों को ओवरफ़िटिंग या बहुत ज़्यादा सबमिशन करने के लिए इनाम न दिया जाए.
सैंडबॉक्स सबमिशन
इनसे प्रतियोगिता के होस्ट यह पक्का कर पाते हैं कि स्कोरिंग उम्मीद के मुताबिक हो रही है. साथ ही, वे प्रतिस्पर्धियों के लिए "बेंचमार्क" सबमिशन सेट कर पाते हैं, ताकि वे उनकी तुलना कर सकें. ये बेंचमार्क सबमिशन, लीडरबोर्ड पर दिखेंगे.
टीम और सबमिशन
इस सुविधा की मदद से, होस्ट को प्रतियोगिता के दौरान सभी स्कोर डाउनलोड करने के साथ-साथ टीमों को मैनेज करने की सुविधा मिलती है. कॉम्पिटिशन शुरू होने से पहले, यह खाली होता है.
लॉन्च करने से जुड़ी चेकलिस्ट
इसके बारे में अगले सेक्शन में बताया जाएगा!
5. आपकी प्रतियोगिता लॉन्च की जा रही है
प्रतियोगिता वाले पेज पर सबसे ऊपर, "लॉन्च करने से पहले की जाने वाली कार्रवाइयों की सूची" बटन पर क्लिक करें.
लॉन्च करने से जुड़ी चेकलिस्ट
लॉन्च करने से पहले की जाने वाली कार्रवाइयों की सूची में, प्रतियोगिता लॉन्च करने से पहले किए जाने वाले ज़रूरी चरण दिखाए जाते हैं. हमने प्रतियोगिता के टेंप्लेट से शुरुआत की है. इसलिए, इनमें से ज़्यादातर चरण पहले ही पूरे हो चुके हैं! सिर्फ़ दो टास्क बाकी हैं: समयसीमा सेट करना और प्रतियोगिता के नियमों को अपडेट करना.

टास्क पूरा करने की आखिरी तारीख सेट करना
सबसे पहले, 'समयसीमा सेट करें' के बगल में मौजूद ऐरो पर क्लिक करें. आम तौर पर, प्रतियोगिताएं कम से कम दो महीने तक चलती हैं. कोई प्रतियोगिता ज़्यादा से ज़्यादा एक साल तक चल सकती है.
नियमों में बदलाव करें
लॉन्च करने से पहले, आपको डिफ़ॉल्ट टेंप्लेट से प्रतियोगिता के नियमों को अपडेट करना होगा. अगर आपको किसी क्लास या ग्रुप के लिए यह प्रतियोगिता करानी है, तो यहां उम्मीदों के बारे में कोई भी जानकारी दी जा सकती है.
लॉन्च करें
हम लॉन्च करने के लिए तैयार हैं! आगे बढ़ें और अपनी प्रतियोगिता लॉन्च करें! अब आपके प्रतिस्पर्धी शामिल होने के लिए तैयार हैं!
6. प्रतिस्पर्धी का अनुभव
अब जब आपने प्रतियोगिता लॉन्च कर दी है, तो आइए देखते हैं कि प्रतिस्पर्धी को कैसा अनुभव मिलेगा. हम इस बारे में जानकारी देंगे कि प्रतियोगिता में कैसे शामिल हों और सबमिशन कैसे सबमिट करें. इसके लिए, Google IO Demo Competition में यहां शामिल हों: https://www.kaggle.com/competitions/google-io-demo-competition
प्रतियोगिता में शामिल होना
प्रतियोगिता के होम पेज पर जाने के बाद, सबसे ऊपर दाईं ओर मौजूद "प्रतियोगिता में शामिल हों" बटन पर क्लिक करें. इसके बाद, नियम पढ़ें और उन्हें स्वीकार करें.
पहली बार सबमिट करना
कोड टैब पर जाएं और "नई नोटबुक" पर क्लिक करें. इससे एक नोटबुक खुलेगी. इस नोटबुक को प्रतियोगिता में सबमिट किया जा सकेगा.
सबसे पहले, हम ट्रेनिंग और टेस्ट डेटा को पढ़ेंगे
# read the test and train data
train = pd.read_csv('/kaggle/input/google-io-demo-competition/train.csv')
test = pd.read_csv('/kaggle/input/google-io-demo-competition/test.csv')
आइए, डेटा पर एक नज़र डालते हैं.
# take a look at some of the data
train.head()
चलिए, ट्रेनिंग के लिए डेटा तैयार करते हैं. इस मामले में, हम सेक्स को हटा देते हैं, क्योंकि यह संख्यात्मक वैल्यू नहीं है. (अहम जानकारी: इसे शामिल करने का तरीका जानने से, आपके मॉडल की परफ़ॉर्मेंस बेहतर हो सकती है).
# drop out the results from the test data
data = train.drop(columns=[‘Age', ‘Sex'])
answers = train[‘Age']
इसके बाद, हम एक मॉडल बनाते हैं. इस मामले में, हम रैंडम फ़ॉरेस्ट मॉडल का इस्तेमाल कर रहे हैं.
मॉडल के लिए# इंपोर्ट
from sklearn.model_selection import train_test_split
from sklearn.ensemble import RandomForestRegressor
from sklearn.metrics import mean_absolute_error
model = RandomForestRegressor()
# train the model
model.fit(data, answers)
सबमिट किया जाने वाला डेटा बनाना:
predictions = model.predict(test.drop(columns=[‘Sex']))
submission = pd.DataFrame({‘id': test[‘id'], ‘Age': predictions})
submission.to_csv(‘submission.csv', index=False)
इसके बाद, दाईं ओर मौजूद मेन्यू में "प्रतियोगिता में सबमिट करें" को चुनकर, प्रतियोगिता में हिस्सा लिया जा सकता है.

बेहतरीन प्रतियोगिता आयोजित करने के बारे में सलाह
- पक्का करें कि आपने एक स्टार्टर नोटबुक शामिल की हो, जो बुनियादी सबमिशन करती हो
- कॉम्पिटिशन की शुरुआत में ही, चर्चाओं में हिस्सा लेने और नोटबुक शेयर करने के लिए बढ़ावा दें
- आनंद लें!

