일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 제주 올레 7-1
- 제주 올레
- 올레 13코스
- 카페 우다
- 사우디
- 제주 올레 7
- 신한 레버리지 wti 원유 선물 ETN
- 올레 스테이
- 올레 14-1 코스
- 알고리즘
- 모바일 올레 패스
- 원유
- 이분탐색
- 셀레니움
- 안뜨르
- 트럼프
- 코스피
- 러시아
- 폭락
- 미국 증시
- 수리 키친
- Quant
- 맨드롱국수
- 주식
- 선형분석
- 나스닥
- S&P 500
- 카페 제라
- 산노루
- 코로나 바이러스
- Today
- Total
목록CS (16)
생각이 담아두는 곳
타이타닉 데이터를 가져온다. train과 test를 각각 가져와야 해서 코드말고 다운을 받았다. feature는 위와 같다. 우리가 구하려는 타겟은 Survived , 생존여부 이다. 0또는 1로 나눠져 있다. 즉 분류문제. 테스트 데이터는 위와 같이 타겟 데이터가 없는 것을 알 수 있다. 각 feature의 데이터타입. 데이터 프레임은 다양한 내장함수를 제공한다. 타이타닉 데이터 시각화. null 값이 각 feature 별로 몇 개가 있나 확인. 결측치는 나중에 수정을 해줘야 한다. 테스트 데이터에서도 마찬가지로 수정. 위 feature들은 사용하지 않기로 하셨고 제거했다. 당연하지만, 학습에는 도움이 안되는 feature들. 결측치는 성별에 따른 평균값으로 집어넣음 null 값이 훌륭하게 대체된 모습..
분류란? - 학습 데이터가 주어졌을 때, 해당 학습 데이터들의 독립변수들을 이용해서 클래스를 예측하는 것 클래스란? - 연속된 값이 아닌 특정 그룹들을 상징하는 이산적인 값 일반적으로 클래스를 독립변수들에 대한 함수로 표현하는 모델을 찾아냄 위 표와 같이 골프를 칠 것인지 말 것인지도 분류에 해당한다. 분류 모델을 어떤 것을 쓰느냐에 따라 새로운 데이터가 들어왔을 때, 클래스가 달라질 수 있다. 그렇다면 분류모델의 성능평가는 어떻게 하는가? 일반적으로 분류문제의 경우, 정확도를 기준으로 성능을 평가 정확도 = (클래스를 올바르게 분류한 데이터의 수) / (전체 데이터의 수) 그러나 정확도를 기준으로 판단할 경우, 클래스가 불균등한 문제에서 원치 않은 결과를 초래할 수 있음 위 데이터셋에서 0으로 분류되..
데이터를 불러와보자. 캘리포니아 집값 데이터로, 우리가 집어넣는 독립변수는 평균 침대실 수, 평균 방의 수, 집의 연도 등등 우리가 예측하려는 것은 당연히 집값이다. 우선 Ridge regression 모델을 설계했는데, 넣어주는 alpha 값이 이전에 배운 λ 와 같다. 알파를 0으로 설정해주면 당연히, 단순히 선형회귀분석만을 한 것과 같은 결과가 나온다. 알파를 0.5 로 설정한 경우, 좀 더 많은 계수들이 바뀐 것을 알 수 있다. (굉장히 미비하지만) 다만 Ridge의 경우, Lasso 와 다르게 계수들이 0으로만 가는 것이 아니라 0이 될 수도 있고 부호가 바뀔 수도 있고 계수의 절대값의 크기가 커질수도 있다. 이제 Lasso를 살펴보자. 알파를 높일수록 점차 많은 계수들이 0으로 변하는 것을 확..
우리가 모델을 학습시킬 때, 주어진 훈련 데이터들로 학습을 시키고 여기서 오차를 줄인다는 것은 학습오차를 감소 시킨다는 것. 하지만 우리가 원하는 건, 주어질 수 있는 모든 데이터 중, 임의의 데이터가 주어졌을 때, 성능이 잘 나오는 모델을 설계하는 것이므로 최종적인 목표는 학습오차 보다는 일반화 오차를 줄이려고 함. 따라서 모델의 성능을 평가할 때는, 학습에 사용하지 않은 데이터들인 테스트 데이터(임의로 추출)로 평가해야함. 과적합(overfitting) - 모델이 학습 데이터에 지나치게 맞춰져, 일반화 성능이 떨어지는 경우 과소적합(underfitting) - 학습데이터가 제대로 학습되지 않아, 모델의 성능이 떨어지는 경우 과소적합의 경우, 데이터를 추가하거나, 학습을 더 시키거나 하는 식으로 해결이..
plt.scatter 은 점을 찍을 때(산포 그래프) , 주로 쓴다. 아까 전 불러온 linearregression 모델을 fit 함수를 이용해 학습에 이용한다. -> 단순선형회귀 coef_와 intercept_ 는 각각 전에 배운 선형식(Y= b+ aX)에서 각각 a, b 를 의미한다. 당연하지만, y= 2x+1 이라는 식이므로, 15가 주어지면 결과예측값으로 31을 내뱉는다. predict 함수 안에 굳이 이차 배열로 15라는 값을 넣은 이유는 sklearn 패키지에서 가져온 모델들의 경우, 인자로 이차 배열만을 받는다. (지금은 단순선형분석이라 독립변수가 한 개이지만 보통은 2개 이상이므로 그런 것 같다.) 이런 식으로 나타낼 수 있다. toy data 가 아닌 실제 데이터로 ml을 해보자. 빨간 ..
선형회귀분석이란 독립변수와 종속변수 사이의 관계를 선형의 관계로 가정한 알고리즘이라고 볼 수 있다. 위 사진에서 Y 가 종속변수, X 들이 독립변수라고 할 수 있다. 다만 여기서 독립변수들은 꼭 1차여야 하는 것이 아니다. 단순하게, 양적입력값이 들어가거나 log 나 루트값이 들어가도 되고, n차도 가능하고, 두 변수 사이의 교호작용도 가능하고, 질적인 입력을 위한 dummy 값을 넣을 수도 있다. 양적입력과 질적입력 차이: 가령 예를 들면 우리가 종속변수를 과일의 종류라고 하고 독립변수에 빨강, 노랑, 녹색을 넣는다고 하면, 양적입력은 그대로 색깔을 넣는 경우가 있겠고, 질적입력은 (빨강, 노랑, 녹색) -> (1,0,0) = 빨강 이런식으로 입력을 하는 방법이 되겠다. 질적입력의 경우는 차이를 대수적..
Forecasting 대용량의 데이터를 INPUT으로 주입해, 고차원의 영역에서(여기서 고차원이란, 많은 feature를 다루는 것을 뜻함) 복잡한 수학식을 이용해, 놀라운 결과를 OUTPUT으로 내는 것이다. Forecasting 의 두 가지 분류 공통점은, 아래 둘 다 데이터를 모으고, 정제하고, 모델을 만들고, 실험하고, 결과를 만들어내야 한다는 것이다. 질적예측 - 두가지 통상적인 질문에 대답하고 그들의 답변에 정당성을 부여하며, 이에 대해 수정이나 거부할 수 있는 전문가가 포함된다. 역사적 수명주기(시장), 시장 조사 등이 예시가 될 수 있다. 따라서 전문가의 판단에 의해 주관적인 결과를 내놓을 수 있으므로, 과거 데이터가 존재하지 않을 때 쓰인다. 양적예측 - 과거 수치 데이터가 이용가능할 때..
퀀드 전략을 세우는 절차(Back testing 중심) 1. 데이터를 모으고 정제한다. 2. 유효성이 있는 상관관계나 법칙인지 백테스터를 이용해 검증한다. 3. 가장 좋은 것부터 나쁜 것까지 순위를 매기고 제일 괜찮은 것들을 백테스터를 이용해 검증한다. 가장 고전적인 백테스팅 방법부터 소개하는데 당연하지만, 머신러닝과 유사하다. 일정 기간을 잡고, 그 기간동안의 데이터를 학습시킨 뒤 어떤 로직을 만들어내고 이를 최신기간동안 테스트해봐서 수익을 내는 지 파악한다. 여기서는 학습시킨 방법이 테스트 기간에 효과를 발휘하지 못하면 다른 전략을 세워보고, 두 기간 다 통하는 방법을 찾으면 paper trade 를 먼저 하라는데, 우리나라말로 모의투자인 것 같다. 모의투자에서도 원하는 알파값을 달성하면 서서히 자본..