본문 바로가기
Computer Science/[21-22] ML & DL

[LSTM] keras.layers.LSTM()의 input_shape

by gojw 2022. 4. 10.

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)

댓글