I am new to machine learning and lstm. I am referring this link LSTM for multistep forecasting for Encoder-Decoder LSTM Model With Multivariate Input section.

Here is my dataset description after reshaping the train and test set.

print(train_x.shape, train_y.shape)

(2192, 15)
(1806, 14, 14) (1806, 7, 1)
(364, 15)

In above I have n_input=14, n_out=7.

Here is my lstm model description:

def build_model(train, n_input):
    # prepare data
    train_x, train_y = to_supervised(train, n_input)
    # define parameters
    verbose, epochs, batch_size = 2, 100, 16
    n_timesteps, n_features, n_outputs = train_x.shape[1], train_x.shape[2], train_y.shape[1]
    # reshape output into [samples, timesteps, features]
    train_y = train_y.reshape((train_y.shape[0], train_y.shape[1], 1))
    # define model
    model = Sequential()
    model.add(LSTM(200, activation='relu', input_shape=(n_timesteps, n_features)))
    model.add(LSTM(200, activation='relu', return_sequences=True))
    model.add(TimeDistributed(Dense(100, activation='relu')))
    model.compile(loss='mse', optimizer='adam')
    # fit network
    model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size, verbose=verbose)
    return model

On evaluating the model, I am getting the output as:

Epoch 98/100
 - 8s - loss: 64.6554
Epoch 99/100
 - 7s - loss: 64.4012
Epoch 100/100
 - 7s - loss: 63.9625

According to my understanding: (Please correct me if I am wrong)

Here my model accuracy is 63.9625 (by seeing the last epoch 100). Also, this is not stable since there is a gap between epoch 99 and epoch 100.

Here is my some basic doubt:

1) Please suggest to me how epoch and batch size above defined is related to gaining model accuracy. How its increment and decrement affect model accuracy?

2) Is my above-defined epoch, batch, n_input is correct for the model?

3) How I can increase my model accuracy. Is the above dataset size is good enough for this model?

Please suggest me as I am not able to link all this parameter and kindly help me in understanding how to achieve more accuracy by the above factor. Thanks!!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.