Trainings- und Validierungsdaten aufteilen
Du wirst Trainings- und Validierungsdatensätze erstellen. Es ist eine gute Idee, einen Validierungsdatensatz zu haben und die Leistung des Modells daran zu checken, um Überanpassung zu vermeiden.
Für diese Übung hast du die folgenden Texte bekommen: en_text
(Sätze auf Englisch) und fr_text
(Sätze auf Französisch).
Diese Übung ist Teil des Kurses
Maschinelle Übersetzung mit Keras
Anleitung zur Übung
- Definiere eine Folge von Indizes mit „
np.arange()
“, die bei 0 anfängt und die Größe „en_text
“ hat. - Definieren wir „
train_inds
“ als die erste „train_size
“-Gruppe von Indizes aus der Indizes-Sequenz. - Definiere „
tr_en
“ und „tf_fr
“, die die Sätze enthalten, die unter den Indizes „train_inds
“ in den Listen „en_text
“ und „fr_text
“ gefunden wurden. - Definiere „
v_en
“ und „v_fr
“, die die Sätze enthalten, die unter den Indizes „valid_inds
“ in den Listen „en_text
“ und „fr_text
“ gefunden wurden.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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])