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