As incorporações melhoram o desempenho
A camada de incorporação melhora a precisão do modelo? Vamos dar uma olhada nos mesmos dados do IMDB.
O modelo já foi treinado com 10 épocas, como no modelo anterior com uma celul simpleRNN. Para comparar os modelos, tem um conjunto de testes (X_test, y_test) disponível no ambiente, além do modelo antigo simpleRNN_model. A precisão do modelo antigo é carregada na variável acc_SimpleRNN.
Todos os módulos e funções necessários carregados no ambiente: Sequential() de keras.models, Embedding e Dense de keras.layers e SimpleRNN de keras.layers.
Este exercício faz parte do curso
Redes Neurais Recorrentes (RNNs) para Modelagem de Linguagem com Keras
Instruções do exercício
- Adicione a camada de incorporação ao modelo.
- Calcule a precisão do modelo e guarde na variável
acc_embeddings. - Imprima a precisão dos modelos antigo e novo.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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, ____))