일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 데이터 사이언티스트
- 하이퍼 파라미터
- 판다스
- 대학원
- 주식데이터
- 랜덤포레스트
- 퀀트
- 사이킷런
- 경력 기술서
- 하이퍼 파라미터 튜닝
- 머신러닝
- 주요 파라미터
- sklearn
- 데이터사이언티스트
- 데이터분석
- 이력서 첨삭
- 퀀트 투자 책
- 주가데이터
- 경력기술서 첨삭
- 베이지안 최적화
- 자기소개서
- 데이터 사이언스
- pandas
- 코딩테스트
- 커리어전환
- 데이터사이언스
- 파이썬
- AutoML
- 데이터사이언스학과
- 파라미터 튜닝
- Today
- Total
목록분류 전체보기 (119)
GIL's LAB
이번 포스팅에서는 지도 학습 모델을 만들때 필수적인 단계인 하이퍼 파라미터 튜닝에 대해 소개한다. 하이퍼 파라미터와 하이퍼 파라미터 튜닝이란? 머신러닝에서 하이퍼 파라미터란 쉽게 생각해서 사용자의 입력값, 혹은 설정 가능한 옵션이라고 볼 수 있다. 모든 데이터와 문제에 대해 가장 좋은 하이퍼 파라미터 값이 있으면 좋겠지만, 아래 그림과 같이 데이터에 따라 좋은 하이퍼 파라미터라는 것이 다르다. 그래서 데이터마다 좋은 입력값을 설정해주는 노가다 작업이 필요한데, 이를 하이퍼 파라미터 튜닝이라고 한다. 예를 들어서, k-최근접 이웃에서 k를 3으로도 해보고, 5로도 해보고, 10으로도 해 본 다음 그 가운데 가장 좋은 k를 찾는 과정이다. 하이퍼 파라미터 튜닝을 노가다라고 표현한 이유는 해보기 전까진 3이 ..
이번 포스팅에서는 이전 포스팅에서 설명한 이전 종가를 가지고 미래 종가를 예측하는 파이썬 코드를 설명한다. 실험 결과 및 백테스팅 결과는 다음 포스팅에서 정리하도록 한다. 먼저 실험에 필요한 모듈을 다음과 같이 임포트한다. import os import pandas as pd import numpy as np from sklearn.metrics import mean_absolute_percentage_error as MAPE from sklearn.tree import DecisionTreeRegressor as DTR from sklearn.linear_model import LinearRegression as LR from sklearn.ensemble import RandomForestRegres..
이제 ADP 실기 시험까지 일주일 남았다. 필기때는 쓸데없이 외울게 조금 많아서 공부를 했지만, 이번 실기에는 오픈북 자료만 열심히 만들었다. 설마 이러다 떨어지지는 않겠지? 아무튼 이번 시험에 사용하기 위해 만든 오픈북 자료를 공유한다. 누구나 볼 수 있도록 만든 자료는 아니라서, 거의 공식 문서 수준이라서 이 자체로는 크게 도움이 안 될수도 있으니 참고만 했으면 좋겠다.
개요 이번 실험에서는 모든 코스피 종목에 대해, 이전 종가를 가지고 미래 종가를 예측했을 때의 오차를 측정한다. 애초에 좋은 결과를 기대하는 실험이 아니기에 오히려 더 기대된다. 준비물 종목별 종가 데이터 (기간: 2016년 9월 1일 ~ 2021년 8월 31일): 실험 목표 이전 종가로 미래 종가 예측이 어느정도 가능해보이는 종목을 파악한다. 종목별로 적절한 예측 모델이 무엇인지 파악한다. 종목별로 적절한 lag를 파악한다. lag는 결국 아래 그림과 같이 입력 변수를 몇 개로 할 것인지와 직결된다. 비교 대상 lag (L): {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} model (f) - 모든 하이퍼파라미터는 sklearn의 default를 사용 Linear Regressor Decis..
이번 포스팅에서는 이전 포스팅에서 소개한 Cybos Plus를 가지고 일별 코스피/코스닥 데이터를 수집하는 방법을 소개한다. 이 방법을 바탕으로 수집한 데이터는 다양한 퀀트 실험에 활용할 예정이다. 가장 먼저, Cybos Plus를 실행해서 로그인한다. 그리고나서 주피터를 32bit 환경에서 관리자권한으로 실행한다. 즉, 아나콘다 프롬프트를 관리자권한으로 실행한 뒤, 아래 명령어를 순차적으로 입력하여 주피터를 실행한다. set CONDA_FORCE_32BIT=1 conda activate py36_32 jupyter notebook 당연하지만, 이전 포스팅에서 py36_32 환경을 구축하고 그 환경에 주피터 노트북을 설치해야만 위 명령어가 정상적으로 작동한다. 이제 본격적으로 Cybos Plus를 사용해..
이 포스팅에서는 "대신증권"이라는 증권사에서 제공하는 오픈 API인 CybosPlus를 이용하여 주식 데이터를 수집하기 위한 환경 설정 방법을 설명한다. 이전에는 네이버 금융에서 크롤링해서 사용했었는데, 네이버에서 크롤링을 차단하는 바람에 퀀트 투자를 위해서는 증권 API를 사용하는 것이 강제되었다. 증권 API를 사용하는 것이 데이터 수집은 더 쉬우나, 사용하기까지 절차가 조금 복잡하다. 실제로 필자도 수 많은 try & error를 거쳐서 성공했고, 그 과정에서 파이썬 재설치를 몇번은 했다. Step 1. 대신증권 계좌, ID, 공동인증서 만들기 당연하지만, 대신증권 계좌가 없으면 해당 오픈 API를 사용할 수 없다. 요즘에는 휴대폰으로 비대면 계좌개설이 워낙 잘되어 있기 때문에, 계좌 만드는게 어렵..
아나콘다를 설치하고 주피터 노트북을 사용하면, 기본 경로가 "C:\Users\사용자ID"로 설정되어 있고, 주피터가 실행되는 브라우저는 익스플로러로 설정되어 있다. 이 포스팅에서는 주피터 노트북의 기본 경로와 브라우저를 바꾸는 방법을 소개하고, 이 과정에서 발생하는 오류 해결 방법을 단계별로 소개한다. (1) 아나콘다 프롬프트 (anaconda prompt (anaconda3))를 실행하고, 아래와 같이 jupyter notebook --generate-config를 입력한다. 이 명령어는 주피터의 환경을 설정할 수 있는 config 파일을 생성한다. (2) C:\Users\사용자ID\.jupyter에 생성된 jupyter_notebook_config.py를 메모장으로 연다. (3) 경로 설정 메모장에서..
1. 클래스 불균형 비율 클래스 불균형 문제가 있는지를 탐색하는 가장 직관적이고 쉬운 방법은 클래스 불균형 비율(imbalance ratio, IR)을 계산하는 것이다. 클래스 불균형 비율은 다음과 같이 계산할 수 있다. 위 식에서 NM은 다수 클래스 샘플 수를, Nm은 소수 클래스 샘플 수를 나타낸다. 일반적으로 이 비율이 9이상이면 클래스 불균형 문제가 심각하다고 하며, 4이상 9이하면 클래스 불균형 문제가 있다고 하고, 4미만이면 클래스 불균형 문제가 없다고 한다. 파이썬을 이용한 클래스 불균형 비율 계산 이제 파이썬을 이용하여 클래스 불균형 비율을 직접 계산해보자. 클래스 불균형 비율을 계산하는 방법은 여러가지지만, 여기서는 Pandas의 value_counts()를 활용한다. 가장 먼저 데이터를..
1. 들어가며: 정확도 99.99%의 암환자 판별 모델 간단한 생체 정보만 입력하면 암 보유 여부를 99.99%의 정확도로 판별하는 인공지능 모델이 개발되었다고 하자. 이 모델을 평가할 때 사용했던 혼동 행렬(confusion matrix)은 아래 표와 같다. 과연 이 인공지능 모델이 상용화되어 실제로 암을 판별하는데 사용될 수 있을까? 당연히도 정답은 “그렇지 않다”이다. 왜 그런지 이 혼동 행렬을 다시 한번 자세히 살펴보자. 이 모델은 평가 샘플로 사용된 1만 명 모두를 “정상”이라고 분류했다. 즉, 이 모델은 정확도가 99.99%에 달하지만, 어떠한 생체 정보가 입력되더라도 “정상”이라고 밖에 이야기하지 못하는 완전히 무가치한 모델이다. 본 장에서는 이처럼 편향된 모델을 학습하게 하는 클래스 불균형..