प्रशिक्षण और वैलिडेशन डेटा को विभाजित करना
आप प्रशिक्षण और वैलिडेशन डेटासेट बनाएँगे। वैलिडेशन डेटासेट अलग रखना और उस पर मॉडल के परफॉर्मेंस की निगरानी करना, overfitting से बचने के लिए एक अच्छी प्रैक्टिस है।
इस अभ्यास के लिए आपको en_text (अंग्रेज़ी वाक्य) और fr_text (फ़्रेंच वाक्य) दिए गए हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
Keras के साथ Machine Translation
अभ्यास निर्देश
np.arange()का उपयोग करके 0 से शुरू होने वाला,en_textके आकार जितना इंडेक्स क्रम परिभाषित करें.train_indsको उस इंडेक्स क्रम से पहलेtrain_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 size of en_text
inds = np.____(len(____))
np.random.shuffle(inds)
# Define train_inds as first train_size indices
train_inds = inds[:____]
valid_inds = inds[train_size:train_size+valid_size]
# Define tr_en (train EN sentences) and tr_fr (train FR sentences)
tr_en = [en_text[ti] for ti in ____]
tr_fr = [____[____] for ti in ____]
# Define v_en (valid EN sentences) and v_fr (valid FR sentences)
v_en = [en_text[____] for vi in ____]
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])