Zacznij terazZacznij za darmo

Podział danych na treningowe i walidacyjne

Stworzysz zbiory danych treningowych i walidacyjnych. Wydzielenie zbioru walidacyjnego i monitorowanie na nim wyników modelu to dobra praktyka, która pomaga unikać przeuczenia (overfittingu).

W tym ćwiczeniu masz do dyspozycji zmienne en_text (zdania w języku angielskim) i fr_text (zdania w języku francuskim).

To ćwiczenie jest częścią kursu

Tłumaczenie maszynowe z Keras

Zobacz kurs

Instrukcje do ćwiczenia

  • Zdefiniuj sekwencję indeksów za pomocą np.arange(), zaczynającą się od 0 i o rozmiarze równym długości en_text.
  • Zdefiniuj train_inds jako pierwsze train_size indeksów z tej sekwencji.
  • Zdefiniuj tr_en i tf_fr, które zawierają zdania znajdujące się pod indeksami określonymi przez train_inds w listach en_text i fr_text.
  • Zdefiniuj v_en i v_fr, które zawierają zdania znajdujące się pod indeksami określonymi przez valid_inds w listach en_text i fr_text.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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])
Edytuj i uruchom kod