I am trying to implement Keras LSTM for the airpassenger dataset. It generates the following error.
ValueError: `start_index+length=12 > end_index=11` is disallowed, as no part of the sequence would be left to be used as current step
Here is what I tried. Can you please help me to identify the issue?
import glob
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
from statsmodels.tools.eval_measures import rmse
from keras.preprocessing.sequence import TimeseriesGenerator
from keras.models import Sequential
from keras.layers import Dense
from keras.layers import LSTM
from keras.layers import Dropout
from sklearn.preprocessing import MinMaxScaler
import warnings
warnings.filterwarnings("ignore")
df = pd.read_csv('airline-passengers.csv')
df.Month = pd.to_datetime(df.Month)
df = df.set_index('Month')
train, test = df[-12:], df[:-12]
scaler = MinMaxScaler()
scaler.fit(train)
scaler.transform(train)
scaler.transform(test)
n_input = 12
n_features = 1
generator = TimeseriesGenerator(train, train, length=n_input, batch_size=6)
model = Sequential()
model.add(LSTM(200, activation='relu', input_shape=(n_input, n_features)))
model.add(Dropout(0.15))
model.add(Dense(1))
model.compile(loss='mse',optimizer='adam')
model.fit_generator(generator, epochs=100)