본문 바로가기
반응형

XGBoost4

반응형
참조 그림 Python Machine Learning을 이용한 Lotto 번호 생성 프로그램 - (1) 이번에 파이썬을 이용하여 Lotto 번호 6자리를 뽑아내는 프로그램을 만들어 보았다. 많은 사람들이 Lotto 번호를 만드는 프로그램을 만들었으며 대부분은 random() 함수를 이용하여 난수를 생성한다. 그러나 여기서는 Machine Learning 중 XGBoost 알고리즘을 이용하고 그동안의 Lotto 번호 통계를 바탕으로 6개의 숫자를 뽑는 프로그램을 구현해 보았다. Lotto 는 45개의 숫자 중 순서에 상관없이 6개의 숫자가 모두 맞아야 하기 때문에 그 확률은 1/8,145,060 이 된다. 또한, 이전 차수까지 많이 나온 숫자가 앞으로도 많이 나온다거나 아니면 앞으로는 적게 나온다거나 하지 않으므로 Lotto 1등 번호를 예측하기란 사실상 불가하다고 볼 수 있다. (어떻게 보면 다른 사람들이.. 2020. 12. 13. 17:57
참조 그림 XGBoost를 이용한 주식 예측 - (3) 3부에서는 앞에서 알아본 XGBoost와 time series 데이터를 supervised learning problem으로 변형한 것을 종합하여 간단히 다음날의 주식 종가를 예측하는 프로그램을 만들어 보겠다. [1. 입력 모듈] 프로그램 실행을 위해 입력하는 모듈들은 아래와 같다. 위에서 마지막에 import 하는 것은 yahoo에서 주식 데이터를 불러오기 위해서 사용한다. [2. 예측을 위한 입력 데이터 수 결정] 훈련된 모델에 오늘 날짜의 종가부터 몇 개의 이전 날짜 종가 데이터를 입력한다. 여기에서는 위와 같이 30일 치의 데이터를 입력으로 하고 다음날 하루의 종가 정보를 예측한다. 얼마큼의얼마 큼의 데이터를 입력으로 하는지에 따라 예측 종가가 바뀐다. 얼마 큼의 데이터를 입력하여야 좀 더 정확한.. 2020. 11. 8. 12:28
참조 그림 XGBoost를 이용한 주식 예측 - (2) 1부에서는 XGBoost의 기본적인 사용법에 대해서 알아봤다. 2부에서는 주식 데이터와 같은 시계열 (Time Series) 데이터를 통해 예측을 하는 방법에 대해 알아보겠다. Time series 데이터는 시간의 index 순으로 나열되어 있는 숫자들이라 할 수 있다. 이러한 time series 데이터는 supervised learning problem의 형태로 바꾸어 이전의 시간 데이터를 통해 다음번 시간의 데이터를 예측하게 된다. 아래의 그림은 이를 표현한 예 이다. 위의 supervised learning problem 형태를 살펴보면, X는 입력이고 Y를 출력이라 할 때에 이전 시간의 입력 X가 다음번 시간의 출력 Y 인 형태가 된다. 이렇게 supervised learning problem .. 2020. 10. 25. 10:52
참조 그림 XGBoost를 이용한 주식 예측 - (1) 평소에 관심만 갖고 있었던 Python을 통해 주식 종가를 예측하는 프로그램을 공부해 보고자 한다. Python을 잘 쓰는 편이 아니고 AI나 Machine Learning을 전공한 것도 아니기 때문에 깊이 있는 내용을 다루지는 못할 것이며 여기저기, 그때그때 자료를 찾아 내가 이해한 수준에서 정리해 보고자 한다. 주식 종가 예측을 위해 Python이 지원하는 많은 Machine Learning 중 XGBoost 알고리즘을 이용하고자 한다. 먼저 XGBoost에 대해서 간단히 알아보면 다음과 같다. XGBoost는 여러 개의 Decision Tree를 조합해서 사용하는 Ensemble 알고리즘이며 Ensemble은 여러 개의 모델을 조합해서 그 결과를 뽑아내어 정확도를 높이는 방법이다. 이 Ensembl.. 2020. 10. 17. 23:13