значения даты и времени для прогнозирования - PullRequest
0 голосов
/ 29 апреля 2019

Я работаю над проектом для прогнозирования значений от -1 до 1 по дате и времени. У меня есть набор данных из 100 прогнозируемых значений, и я разделяю данные на 70 тренировочных наборов и 30 тестовых наборов. данные содержат: дату и время (2019-04-25 21:00:00) и прогноз (от -1 до 1 значения)

Когда я пытаюсь позвонить fit_transform на наборе поезда, я получаю сообщение об ошибке:

"ValueError: Ожидаемый двумерный массив, вместо него получен одномерный массив: array = [- 1. -1. 1. -1. -1. -1. -1. -1. -1. -1. -1. -1. -1. 1. -1. 1. -1. 1. 1. -1. 1. -1. -1. -1. -1. -1. -1. 1. -1. -1. -1. 1. -1. -1. -1. -1. -1. -1. 1. -1. -1. -1. -1. -1. -1. -1. 1. -1. -1. -1. 1. -1. -1. -1. -1. -1.]. Измените ваши данные, используя array.reshape (-1, 1), если ваши данные имеют одну функцию, или array.reshape (1, -1), если содержит один образец. "

   df = pd.read_csv(file_to_read)
   df['Date']=pd.to_datetime(df['Date'])
   df=df.set_index(['Date'],drop=True)
   print(df.head(size))

   #Index for prediction 
   pred_index=int((size*30)/100)
   from_specific_time=df.index[pred_index]

   split_date=pd.Timestamp(from_specific_time)
   df=df['Predict']
   train=df.loc[split_date:]
   test=df.loc[:split_date]

   plt.figure(figsize=(10,6))
   ax=train.plot()
   test.plot(ax=ax)
   plt.legend(['train','test'])

   scaler=MinMaxScaler(feature_range=(-1,1))
   train_scaler=scaler.fit_transform(train)
   test_scaler=scaler.transform(test)

Я хочу создать временной ряд по точному времени в CSV, а затем предсказать значения теста ... и я не уверен, что я делаю неправильно ... Кстати, я следую учебнику: https://towardsdatascience.com/an-introduction-on-time-series-forecasting-with-simple-neura-networks-lstm-f788390915b

Спасибо!

1 Ответ

0 голосов
/ 29 апреля 2019

Ошибка гласит, что ей нужен 2D-массив.Поэтому попробуйте преобразовать массив в 2D,

train = ([train])
train_scaler = scaler.fit_transform(train)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...