쉽게 이해하기 위해, 총 10일차까지의 데이터만 있다고 가정해 봅시다. 먼저 1일차부터 3일차까지를 뽑아서 x_data에 넣고, 그다음 4일차를 y_data에 넣는 것이죠. 그리고 2일차부터 4일차까지를 뽑아서 x_data에 넣고, 그다음 5일차를 y_data에 넣으면 됩니다. 이 과정을 총 7번 하면 됩니다. 이러한 과정을 통해 10일치의 데이터를 우리가 원하는 형태로 바꿀 수 있습니다. 이제 여러 날의 데이터를 변환할 수 있는 함수를 만들어 보겠습니다. 파이썬 문법에서 학습한 함수의 개념을 사용합니다.
잠깐만요
왜 함수를 만드는 것인가요?
우리가 프로그래밍할 때 함수를 만드는 이유는 동일한 프로그래밍을 반복하지 않기 위함입니다. 프로그래밍에서 특정 작업을 반복할 경우에 함수를 만들면 더 쉽게 코딩할 수 있습니다. 지금 함수를 만드는 이유도 이와 같습니다. 함수를 만들면 10일치의 확진자 데이터가 아니라 20일치, 30일치, 혹은 150일치의 확진자 데이터가 들어 왔을 때에도 데이터를 손쉽게 변환할 수 있습니다.
이 과정을 프로그래밍하면 다음과 같습니다.
def create_dataset(dataset, look_back): x_data = [] y_data = [] for i in range(len(dataset)-look_back-1): data = dataset[i:(i+look_back), 0] x_data.append(data) y_data.append(dataset[i + look_back, 0]) return np.array(x_data), np.array(y_data)