So, I'm trying to build a LSTM model to classify multiclass text label. The goal is to make a prediction about user rating (1, 2, 3, 4, 5) based on their review.
My hyperparameter is like this:
# set hyperparameter vocab_size = 5000 # make the top list of words (common words) embedding_dim = 32 max_length = 354 oov_tok = '<OOV>' # OOV = Out of Vocabulary
model = Sequential() model.add(Embedding(vocab_size, embedding_dim)) model.add(Dropout(0.5)) model.add(Bidirectional(LSTM(embedding_dim))) model.add(Dense(1, activation='softmax')) model.summary()
model.compile( loss='categorical_crossentropy', optimizer='Adam', metrics=['accuracy'] )
Then, the result I get:
I only get 50% accuracy and I think it's not a good result. Any idea how can I improve the accuracy? Here's the collab: Collab's