LSTM의 첫번째 layer에는 input_shape를 넣어줘야한다. LSTM 모델의 input은 항상 3D이다.
= (# of samples, timestep, # of features)
3D로 넣어주기 위해서 기존 데이터를 형식에 맞게 reshape해줘야 한다.
예를 들어서 train.shape가 (1558080, 13) test.shape가 (733080, 13)일 때
train = train.reshape(int(len(train)/60), 60, 13)
test = test.reshape(int(len(test)/60), 60, 13)
print(f'train reshape: {train.shape}')
print(f'test reshape: {test.shape}')
# train reshape: (25968, 60, 13)
# test reshape: (12218, 60, 13)
input_shape에는 (timestep, # of features) 를 넣어준다. 위의 경우 input_shape=(60, 13)
'Computer Science > [21-22] ML & DL' 카테고리의 다른 글
[FE] 시계열 데이터 lag feature 추가하기 (0) | 2022.04.15 |
---|---|
[LSTM] LSTM unit, cell, layer에 대한 이해 (0) | 2022.04.13 |
[DL] Andrew Ng 교수님의 논문 읽는 법 (0) | 2022.01.05 |
[cv] LOOCV vs K-Fold and bias-variance trade-off (0) | 2021.11.22 |
[EDA] Pandas.skew() 가 skewness를 계산하는 방법 (0) | 2021.11.19 |
댓글