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

Daha iyi duygu sınıflandırması

Bu egzersizde, 1. Bölümde gördüğün duygu sınıflandırması problemine geri dönüyorsun.

Modele daha fazla karmaşıklık ekleyip doğruluğunu artıracaksın. Eğitim kümesinde kelime vektörlerini eğitmek için bir Embedding katmanı ve daha uzun metinleri takip etmek için iki LSTM katmanı kullanacaksın. Ayrıca, çıktıdan önce fazladan bir Dense katmanı ekleyeceksin.

Bu artık basit bir model değil ve eğitim biraz zaman alabilir. Bu nedenle, keras.models.Sequential sınıfının .load_weights() yöntemiyle ağırlıkları yüklenebilen, önceden eğitilmiş bir model hazırlandı. Model 10 epoch ile eğitildi ve ağırlıkları model_weights.h5 dosyasında mevcut.

Ortamda şu modüller yüklüdür: Sequential, Embedding, LSTM, Dropout, Dense.

Bu egzersiz

Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)

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

Egzersiz talimatları

  • Modelin ilk katmanı olarak bir Embedding katmanı ekle.
  • Dizileri döndüren, 64 birimli ikinci bir LSTM katmanı ekle.
  • 16 birimli fazladan bir Dense katmanı ekle.
  • Eğitim kümesi üzerinde doğruluğu yazdırmak için modeli değerlendir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

# Build and compile the model
model = Sequential()
model.add(____(vocabulary_size, wordvec_dim, trainable=True, input_length=max_text_len))
model.add(____(64, return_sequences=____, dropout=0.2, recurrent_dropout=0.15))
model.add(LSTM(64, return_sequences=False, dropout=0.2, recurrent_dropout=0.15))
model.add(____(16))
model.add(Dropout(rate=0.25))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

# Load pre-trained weights
model.load_weights('model_weights.h5')

# Print the obtained loss and accuracy
print("Loss: {0}\nAccuracy: {1}".format(*model.____(X_test, y_test, verbose=0)))
Kodu Düzenle ve Çalıştır