как я могу получить 1dimension к 3dimension изменить форму? - PullRequest
0 голосов
/ 30 мая 2019

вот мой код


def create_dataset(signal_data, look_back=1):
    dataX, dataY = [], []
    for i in range(len(signal_data) - look_back):
        dataX.append(signal_data[i:(i + look_back), 0])
        dataY.append(signal_data[i + look_back, 0])
    return np.array(dataX), np.array(dataY)

look_back = 20
...

train_size = int(len(data) * 0.80)

test_size = len(data) - train_size

train = data[0:train_size]

test = data[train_size:len(data)]

x_train, y_train = create_dataset(train, look_back)

x_test, y_test = create_dataset(test, look_back)

, тогда x_train форма (62796, 20) и y_train форма (62796,)

Я использую эти данные для LSTM

Итак, изменение x_train = np.reshape(x_train, (x_train.shape[0], x_train.shape[1], 1)) сделано

(теперь x_train.shape - это (62796, 20, 1))

, но y_train форма - (62796,) Так, я не могу изменить 1D -> 3D

как я могу y_train изменить 1D -> 3D

Я хочу, чтобы форма y_train была (62796, 20, 1), потому что хочу LSTM return_sequences=True параметр

1 Ответ

1 голос
/ 30 мая 2019

Это то, что вы ищете?

y_train = np.ones(100)
print(y_train.shape) #prints (100,)
y_train = y_train.reshape(-1,1,1)
print(y_train.shape) # prints (100,1,1)

РЕДАКТИРОВАТЬ: окончательное решение после краткого обсуждения в комментариях:

y_train=np.repeat(y_train.reshape(-1,1), 20, axis=1).reshape(-1,20,1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...