У меня есть набор сообщений о самолетах, в котором есть столбец, который идентифицирует каждый пример самолета:
idaircraft = 1, отметка времени = 340503404, высота = xxxxxx, долгота = xxxxx, широта = xxxxx, Touchdown = 23423554
Смысл в том, чтобы сделать прогноз параметра приземления для новых самолетов. Данные каждого временного ряда различны, например, в idaircraft = 1 у меня 900 сообщений, для самолета 2 у меня 668 сообщений ....
на данный момент я пытаюсь тренировать каждый временной ряд отдельно от остальных в качестве инкрементальной модели, а затем сделайте прогноз на основе всех маршрутов.
Это то, что я сделал:
разделение серии в поезде и тестирование:
367
dftrain=df.loc[df["idaircraft"]<367]
dftest=df.loc[df['idaircraft']>368]
dftrain.head()
и теперь попробуйте сделать данные под наблюдением
from sklearn.preprocessing import MinMaxScaler
# Form dataset matrix
def create_dataset(dataset, previous=1):
dataX, dataY = [], []
for i in range(len(dataset)-previous-1):
a = dataset[i:(i+previous), 0]
dataX.append(a)
dataY.append(dataset[i + previous, 0])
return np.array(dataX), np.array(dataY)
и здесь обучаем модель:
Nmodel = 0
for name, group in dftrain.groupby('idaircraft'):
seleccionX = group
scaler = MinMaxScaler(feature_range=(0, 1))
train = scaler.fit_transform(seleccionX)
#Select full time series with len-10
previous = len(group)-10
X_train, Y_train = create_dataset(train, previous)
X_train = np.reshape(X_train, (X_train.shape[0], 1, X_train.shape[1]))
model = tf.keras.Sequential()
model.add(tf.keras.layers.LSTM(50, input_shape=(1, previous)))
model.add(tf.keras.layers.Dense(1))
model.compile(loss='mse', optimizer='adam')
model.fit(X_train, Y_train, epochs=10, batch_size=128, verbose=2)
modelosRestantes = modelosRestantes +1
if((Nmodel%5) == 0):
model.save(path)
print("Model Saved: ", Nmodel)
print("Ramaining series: ", Nmodel ,"de 367")
Я не уверен, что я делаю это правильно Может кто-нибудь дать мне совет! Потому что я не понимаю, предсказываю ли я переменную, которая мне нужна, «Touchdown», и правильно ли я тренирую модель.