본문 바로가기

DeepLearning

딥러닝으로 걷는 시계열 예측 [CH06] 회귀 모델 총정리

앙상블에서 나올 수 있는 4가지 구조로 진행. 다:1, 다:다, 1:다 형태로 모델을 만들 것이다.

모델들끼리 앙상블되는 구조들을 주의해서 확인하자!

 

전체 데이터들은 train과 test로 분리하고, 각 데이터의 train은 각 7개, test는 각 3개, predict용 데이터는 각 3개를 이용한다. (train_test_split을 이용한 데이터 자르는 작업, 전처리 작업은 생략. test, validation은 test셋으로 함께 진행)

 

1. Sequential 모델

1) Sequential 1:1 모델

코드 내용은 깃허브 주석 참고!

🚀 트러블 슈팅 🚀

30번 라인에서 

x_predict = np.array([11, 12, 13])

TypeError: array() takes from 1 to 2 positional arguments but 3 were given

오류가 발생해서 기존 코드에서 배열 형식으로 변경하니까 해결되었다!

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_1.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

2) Sequential 다:다 모델

입력과 출력에 컬럼이 2개 이상인 데이터를 사용하는 Sequential 모델 생성하기.

1~7까지의 데이터와 11~17데이터로 훈련을 시킨 다음, 8,9,10과 18,19,20을 이용해 평가, 그리고 21,22,23과 31,32,33이 잘 예측되는 지 확인하는 모델 만들기

 

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_2.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

3) Sequential 다:1 모델

여러 개의 컬럼이 입력되어 1개의 값이 출력되는 Sequential 모델 생성하기.

일반적으로 가장 많이 나오는 모델! 

1~7까지의 데이터와 11~17데이터로 훈련을 시킨 다음, 8,9,10과 18,19,20을 이용해 평가, 그리고 21,22,23과 31,32,33이 잘 예측되는 지 확인하는 모델 만들기

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_3.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

4) Sequential 1:다 모델

한 개의 컬럼이 입력되어 여러 개의 값이 출력되는 Sequential 모델 생성하기.

(자주 나오는 모델은 아님)

1~7까지의 데이터와 11~17데이터로 훈련을 시킨 다음, 8,9,10과 18,19,20을 이용해 평가, 그리고 21,22,23과 31,32,33이 잘 예측되는 지 확인하는 모델 만들기

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_4.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

2. 함수형 모델

1) 함수형 1:1 모델

함수형 모델로 모델 생성하기

1~7까지의 데이터를 머신에게 훈련을 시킨 다음, 8,9,10로 평가하고,11,12,13으로 잘 훈련이 되었는지 예측하는 모델 만들기

원데이터 11,12,13과 비교해서 거의 정확하게 맞아 떨어진 것을 볼 수 있다.

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_5.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

2) 함수형 다:다 모델

입력과 출력에 2개 이상인 데이터를 사용하는 함수형 모델 만들기 (편의상 컬럼은 2개로 구성)

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_6.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

3) 함수형 다:1 모델

여러개의 칼럼이 입력되어 1개의 값이 출력되는 모델 만들기

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_7.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

4) 함수형 1:다 모델

1개의 칼럼이 입력되어 여러개의 값이 출력되는 모델 만들기 (자주 나오는 모델은 아님)

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_8.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

3. 앙상블 및 기타 모델(분기 모델)

1) 앙상블 다:다 모델 [1]

2개의 모델이 합쳐져서 2개의 모델로 출력되는(다:다) 모델 구현 (앙상블은 여러 모델을 합티는 모델로 1:1모델은 없음)

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_9.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

2) 앙상블 다:다 모델 [2]

2개의 앙상블이 입력되어 3개의 모델이 출력되는 앙상블 2:3 모델 구현

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_10.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

3) 앙상블 다:1 모델

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_11.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

+) 분기모델 

1개의 모델이 입력되어 여러 개의 모델로 나뉘어지는 분기 모델

concatenate 사용하지 않고 분기만 사용하면 됨

https://github.com/yenyen31/Artificial-Intelligence-in-Finance/blob/main/CH06/ch06_12.py

 

GitHub - yenyen31/Artificial-Intelligence-in-Finance: Artificial-Intelligence-in-Finance

Artificial-Intelligence-in-Finance. Contribute to yenyen31/Artificial-Intelligence-in-Finance development by creating an account on GitHub.

github.com

 

 

 

 

반응형