Я работаю над проектом для прогнозирования значений от -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
Спасибо!