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, kursun bir parçasıdır

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

Kursa Göz Atın

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ı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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