BaşlayınÜcretsiz Başlayın

Veriyi eğitim ve doğrulama kümelerine ayırma

Yalnızca eğitim verisini kullanıp bir doğrulama veri kümesi kullanmamanın, aşırı uyum (overfitting) denen bir soruna yol açtığını öğrendin. Aşırı uyum olduğunda model, eğitim girdileri için çok iyi tahmin yapar, ancak görülmemiş veriye çok kötü geneller. Bu da modelin pek kullanışlı olmayacağı anlamına gelir, çünkü genelleyemez. Bunu önlemek için bir doğrulama veri kümesi kullanabilirsin.

Bu egzersizde, elindeki veri kümesinden (yani 1000 İngilizce cümle içeren en_text ve 1000 Fransızca cümle içeren fr_text) bir eğitim ve bir doğrulama kümesi oluşturacaksın. Veri kümesinin %80'ini eğitim, %20'sini doğrulama verisi olarak kullanacaksın.

Bu egzersiz

Keras ile Machine Translation

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • 0'dan başlayan ve boyutu en_text kadar olan bir indeks dizisini np.arange() ile tanımla.
  • valid_inds'i, indeks dizisinin son valid_size indeksleri olacak şekilde tanımla.
  • en_text ve fr_text listelerinde, train_inds indekslerinde bulunan cümleleri içeren tr_en ve tf_fr'yi tanımla.
  • en_text ve fr_text listelerinde, valid_inds indekslerinde bulunan cümleleri içeren v_en ve v_fr'yi tanımla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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])
Kodu Düzenle ve Çalıştır