Las incrustaciones mejoran el rendimiento.
¿La capa de incrustación mejora la precisión del modelo? Veámoslo en los mismos datos de IMDB.
El modelo ya se había entrenado con 10 épocas, al igual que en el modelo anterior con una celda de tipo « simpleRNN ». Para comparar los modelos, hay disponible un conjunto de prueba (X_test, y_test) en el entorno, así como el modelo antiguo simpleRNN_model. La precisión del modelo antiguo se carga en la variable acc_SimpleRNN.
Todos los módulos y funciones necesarios cargados en el entorno: Sequential() desde keras.models, Embedding y Dense desde keras.layers y SimpleRNN desde keras.layers.
Este ejercicio forma parte del curso
Redes neuronales recurrentes (RNN) para el modelado del lenguaje con Keras
Instrucciones del ejercicio
- Añade la capa de incrustación al modelo.
- Calcula la precisión del modelo y guárdala en la variable
acc_embeddings. - Imprime la precisión de los modelos antiguo y nuevo.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# 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, ____))