본문 바로가기
Artificial Intelligence/Deep Learning

[딥러닝] Windowed Dataset 구성 옵션 ( Tensorflow 시계열 데이터 분석) / 딥러닝 미래 예측하기

by EunjiBest 2022. 2. 22.

Windowed Dataset Tensorflow 시계열 데이터 분석

window size (윈도우 구성)

[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

라는 데이터들이 있을 때
첫 번째부터 다섯번째의 데이터,
즉 0, 1, 2, 3, 4를 가지고
6번째 데이터 5의 값을 예측할 수 있다.

이 때 window_size = 5라고 한다.


shift


위에서
shift = 1
이라는 옵션을 주면

[ 0, 1, 2, 3, 4 ] -> 5
[ 1, 2, 3, 4, 5 ] -> 6
[ 2, 3, 4, 5, 6 ] -> 7
[ 3, 4, 5, 6, 7 ] -> 8
[ 4, 5, 6, 7, 8 ] -> 9

이런식으로 예측하게 된다.

shift = 2 라면,

[ 0, 1, 2, 3, 4 ] -> 5
[ 2, 3, 4, 5, 6 ] -> 7
[ 4, 5, 6, 7, 8 ] -> 9

이렇게 한 칸을 건너 뛰어 계산이 된다.


정리를 하자면 묶어준
5개의 데이터는 학습데이터(x)가된다.

그럼 나머지는 저절로
예측데이터(y)가 될 것이다.

즉, 과거 5개의 데이터를 넣어주면
미래 값을 쉽게 예측할 수 있게된다.



drop_remainder

[ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]

window_size = 5
라고 하면
데이터 셋 구성이

[ 0, 1, 2, 3, 4 ]
[ 1, 2, 3, 4, 5 ]
[ 2, 3, 4, 5, 6 ]
[ 3, 4, 5, 6, 7 ]
[ 4, 5, 6, 7, 8 ]
[ 5, 6, 7, 8, 9 ]
[ 6, 7, 8, 9 ]
[ 7, 8, 9 ]
[ 8, 9 ]
[ 9 ]

이렇게 된다.

[ 0, 1, 2, 3, 4 ]
[ 1, 2, 3, 4, 5 ]
[ 2, 3, 4, 5, 6 ]
[ 3, 4, 5, 6, 7 ]
[ 4, 5, 6, 7, 8 ]
[ 5, 6, 7, 8, 9 ]

딱 5개까지만 깔끔하게 끊길 수 있도록 해주는 옵션이
drop_remainder를 True로 하면 된다.

drop_remainder = True


shuffle_buffer


데이터셋에 shuffle을 주는데
여기에 buffer도 함께 준다.

buffer를 주는 이유는
데이터가 방대할 때 시간이 덜 걸리기 때문이다.

만약 전체 데이터가 3만개라면
3만개를 지정하지 않고
1천개만 지정을 해준다.

0~999까지 shuffle해서 내보내고,
999~1999까지 shuffle해서
3만개까지 나누어 shuffle해주는 방식이다.












반응형

댓글