2020년 12월 13일 일요일

GRU 테스트

 TensorlowKeras를 활용한 비트코인 가격 예측하기 프로그램이 있어 따라해보았습니다. 2년 전에 프로그램이라 요즘 실행 환경에 차이가 있습니다. 아래 버전을 사용했었고

 

Python 2.7

Tensorflow=1.2.0

Keras=2.1.1

Pandas=0.20.3

Numpy=1.13.3

h5py=2.7.0

sklearn=0.19.1

 

제가 테스트한 환경은 구글의 colab 환경인데 아래 버전입니다.

 

Python 3.6.9

Tensorflow=2.3.0

Keras=2.4.3

Pandas=1.1.5

Numpy=1.18.5

h5py=2.10.0

sklearn=0.0

 

파이썬이 2에서 3으로 바뀌고 업그레이드된  tensorflowKeras 때문에 프로그램 수정이 불가피합니다. 구글의 colab에서 제공하는 Tensorflow은 기본이 v2이지만 v1을 사용해서 수정해야하는 프로그램 양을 줄입니다.

 20181월부터 202011월까지 300초 간격의 비트코인 종가를 새로 구해서 데이터로 사용합니다. 데이터도 구해야 하고 h5py 파일 포맷으로 변경하는 작업이 귀찮으면 제가 올려 놓은 데이터를 그냥 아래 link로 사용할 수 있습니다

bitcoin-2018-2020-93pct.h5    

bitcoin-2018-2020-full.h5  


원래 프로그램  에서는 CNN, LSTM, GRU 등으로 모델을 바꾸어 테스트했지만 여기서는 GRU (activationtanh+ReLU) 하나만 해봅니다.

 

그리고 위 프로그램에서는 전체 데이터를 training데이터와 validation 데이터 8:2로만 나누어 학습시키고 학습 후에 검증할 데이터는 없어 보입니다.

 

#split training validation

training_size = int(0.8* datas.shape[0])

training_datas = datas[:training_size,:]

training_labels = labels[:training_size,:,0]

validation_datas = datas[training_size:,:]

validation_labels = labels[training_size:,:,0]

 

저는 93% 데이터로 학습시켜 weight를 구한 다음 7%를 포함시켜 검증을 해보았습니다.  첫번째 그림은 원래 프로그램 대로이고 

두번째 그림은 학습에 포함되지 않는 7%로 검증한 결과인데 큰 차이는 없습니다

테스트에 사용한 프로그램은 github  에 있습니다. 



댓글 없음:

댓글 쓰기