Я пытаюсь предсказать температуру для данной области (ее целое число от 1 до 142) для данной даты и времени.
Проблема в том, что у меня CSV со следующими столбцами:
DateTime, AreaID, Temperature
Как перефразировать фрейм данных для LSTM (извиняюсь, что я новая пчела для LSTM)?
Для информации у меня есть данные в течение двух месяцев с измерением по периоду каждые 5 минут.
Я кодировал LSTM для Input DateTime. Но я хочу включить AreaID тоже. для прогнозирования температуры.
Набор данных, созданный для наборов обучения и тестирования, использует следующий блок кода:
dataset = dataset.temperature.values #numpy.ndarray
dataset = dataset.astype('float32')
dataset = np.reshape(dataset, (-1, 1))
scaler = MinMaxScaler(feature_range=(0, 1))
dataset = scaler.fit_transform(dataset)
train_size = int(len(dataset) * 0.80)
test_size = len(dataset) - train_size
train, test = dataset[0:train_size,:], dataset[train_size:len(dataset),:]
def create_dataset(dataset, look_back=1):
X, Y = [], []
for i in range(len(dataset)-look_back-1):
a = dataset[i:(i+look_back), 0]
X.append(a)
Y.append(dataset[i + look_back, 0])
return np.array(X), np.array(Y)
look_back = 30
X_train, Y_train = create_dataset(train, look_back)
X_test, Y_test = create_dataset(test, look_back)
# reshape input to be [samples, time steps, features]
X_train = np.reshape(X_train, (X_train.shape[0], 1, X_train.shape[1]))
X_test = np.reshape(X_test, (X_test.shape[0], 1, X_test.shape[1]))
Перед этим пример кода отсортировал фрейм данных на основе DateTime, например :
dataset.sort_values('timestamp', inplace=True, ascending=True)
Я хочу изменить LSTM на два входа 1. DateTime 2. AreaID
& Один выход: 1. Температура
Как кодировать LSTM для этого требования? (Пожалуйста, помогите мне, я новая пчела в области нейронной сети)