Embedding'ler performansı artırır
Gömme (embedding) katmanı modelin doğruluğunu artırır mı? Hadi aynı IMDB verisiyle kontrol edelim.
Model, simpleRNN hücreli önceki modelde olduğu gibi 10 epoch ile zaten eğitildi. Modelleri karşılaştırmak için ortamda bir test kümesi (X_test, y_test) ve eski model simpleRNN_model hazır. Eski modelin doğruluğu acc_SimpleRNN değişkenine yüklenmiş durumda.
Gerekli tüm modül ve fonksiyonlar ortamda yüklü: keras.models içinden Sequential(), keras.layers içinden Embedding ve Dense, ayrıca keras.layers içinden SimpleRNN.
Bu egzersiz
Keras ile Dil Modellemesi için Yinelenen Sinir Ağları (RNN)
kursunun bir parçasıdırEgzersiz talimatları
- Modele embedding katmanını ekle.
- Modelin doğruluğunu hesapla ve
acc_embeddingsdeğişkeninde sakla. - Eski ve yeni modellerin doğruluğunu yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create the model with embedding
model = Sequential(name="emb_model")
model.add(____(input_dim=max_vocabulary, output_dim=wordvec_dim, input_length=max_len))
model.add(SimpleRNN(units=128))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
# Load pre-trained weights
model.load_weights('embedding_model_weights.h5')
# Evaluate the models' performance (ignore the loss value)
_, ____ = model.evaluate(X_test, y_test, verbose=0)
# Print the results
print("SimpleRNN model's accuracy:\t{0}\nEmbeddings model's accuracy:\t{1}".format(acc_simpleRNN, ____))