더북(TheBook)

쉽게 이해하기 위해, 총 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)
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.