शुरू करेंमुफ़्त में शुरू करें

डेटा को प्रशिक्षण और वैलिडेशन सेट में बाँटना

आपने सीखा कि केवल प्रशिक्षण डेटा का उपयोग करना और वैलिडेशन डेटासेट न रखना एक समस्या पैदा करता है जिसे overfitting कहते हैं. Overfitting होने पर मॉडल प्रशिक्षण इनपुट्स पर तो बहुत सटीक भविष्यवाणी करता है, लेकिन अनदेखे डेटा पर बहुत खराब जनरलाइज़ करता है. इसका मतलब मॉडल बहुत उपयोगी नहीं रहेगा, क्योंकि यह सामान्यीकरण नहीं कर पाता. इससे बचने के लिए आप वैलिडेशन डेटासेट का उपयोग कर सकते हैं.

इस अभ्यास में, आप अपने डेटासेट से प्रशिक्षण और वैलिडेशन सेट बनाएँगे (जैसे en_text जिसमें 1000 अंग्रेजी वाक्य हैं और fr_text जिसमें वही 1000 फ़्रेंच वाक्य हैं). आप 80% डेटासेट को प्रशिक्षण डेटा और 20% को वैलिडेशन डेटा के रूप में उपयोग करेंगे.

यह अभ्यास पाठ्यक्रम का हिस्सा है

Keras के साथ Machine Translation

पाठ्यक्रम देखें

अभ्यास निर्देश

  • np.arange() का उपयोग करके 0 से शुरू होने वाला और en_text के आकार जितना लंबा इंडेक्स क्रम परिभाषित करें.
  • valid_inds को इंडेक्स क्रम के आखिरी valid_size इंडेक्स के रूप में परिभाषित करें.
  • tr_en और tf_fr परिभाषित करें, जिनमें क्रमशः लिस्ट en_text और fr_text से train_inds इंडेक्स पर मौजूद वाक्य हों.
  • v_en और v_fr परिभाषित करें, जिनमें क्रमशः लिस्ट en_text और fr_text से valid_inds इंडेक्स पर मौजूद वाक्य हों.

इंटरैक्टिव व्यावहारिक अभ्यास

इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।

train_size, valid_size = 800, 200
# Define a sequence of indices from 0 to len(en_text)
inds = ____.____(len(_____))
np.random.shuffle(inds)
train_inds = inds[:train_size]
# Define valid_inds: last valid_size indices
valid_inds = inds[____]
# Define tr_en (train EN sentences) and tr_fr (train FR sentences)
tr_en = [en_text[____] for ti in ____]
tr_fr = [____ for ti in ____]
# Define v_en (valid EN sentences) and v_fr (valid FR sentences)
v_en = [____ for vi in valid_inds]
v_fr = [____ for vi in ____]
print('Training (EN):\n', tr_en[:3], '\nTraining (FR):\n', tr_fr[:3])
print('\nValid (EN):\n', v_en[:3], '\nValid (FR):\n', v_fr[:3])
कोड संपादित करें और चलाएँ