파이썬 40

금융 분석을 위한 파이썬 프로그래밍 - 02. 차트 시각화, 시계열 분해, 자기상관분석

Step 1. 데이터 불러오기 이제 데이터 불러오는 것은 어렵지 않습니다. yfinance 라이브러리를 사용해 테슬라(TSLA) 주가 정보를 가져오겠습니다. stocks 인스턴스를 생성했고, 객체 내에 내장된 history() 함수로 2010년부터 최근 데이터까지 가져왔습니다. (작성 시점: 2022-07) ​ Step 2. 차트 시각화 파이썬에서 사용하는 대표적인 시각화 라이브러리는 matplotlib과 seaborn이 있습니다. 여기서는 matplotlib을 사용해 차트를 그리는 법을 배워보겠습니다. 참고로 seaborn은 matplotlib을 기반으로 더 다양한 색상과 통계 차트를 제공하고 있으니, 검색해 보시길 권장 드립니다. 처음 보는 라이브러리를 사용하게 되면 어떻게 구현되어 있는지 깃허브 등..

Google Firestore로 경제 매크로 데이터 올리기

Step 0. 파이어스토어 서비스 계정 생성 파이어스토어는 구글에서 제공하는 클라우드 기반 NoSQL 데이터베이스다. 따라서 구글 클라우드 계정이 있어야 하며, 만약 처음이라면 GCP에 접속 후 IAM 관리자에서 서비스 계정을 생성해 준다. 계정을 생성하면 자동으로 인증키 파일(.json)이 다운로드 된다. 해당 파일을 가지고 아래와 같이 인증 후 데이터베이스 객체를 생성해 주자. ​ Step 1. 데이터 전송하기 먼저, 파이어스토어에 전송할 데이터를 확인한다. 이제 데이터를 전송할텐데, 파이어스토어에 데이터가 저장되는 방식은 다음과 같다. 데이터베이스 최상단(루트)에 collection을 생성할 수 있고, 각 collection에는 문서를 집어넣는다. 문서 안에는 필드-필드값 쌍으로 이루어진 데이터를 ..

파이썬 이더리움 가격 예측 - 회귀모형

많은 딥러닝 입문 도서, 유튜브 콘텐츠 등에서 주가 예측을 소재로 삼고 있다. 자극적이고, 흥미로울 뿐 아니라 예측 결과는 경이로울 정도로 정확해 보여서 주식에 관심 있는 많은 사람들의 관심을 받게 된다. 다음과 같이 'AI가 예측한 주가'라고 하는 시뮬레이션 결과를 보신 적이 있지 않은가? 위 결과는 실제로 모델을 학습시켜 예측한 결과물이며, 심지어 복잡한 딥러닝이 아닌 기본적인 단순 통계모델인 회귀 모형을 사용했다. 딥러닝을 잠깐 접해본 분들은 이 그래프를 보고 '에이, over-fitting 됐네'라거나, '미래 데이터를 학습에 사용했네'라고 지적할 수 있다. 하지만 해당 모델은 over-fitting이 생길 만큼 복잡한 모델을 쓰거나 loss를 과하게 줄이지 않았으며(단순 회귀모형 사용), 위에 ..

Elastic Stack을 활용한 글로벌 경제 매크로 대시보드 구축

Step 0. 파이프라인 Elastic Stack은 Elastic Search를 중심으로 Beats, Logstash, Kibana를 활용해 데이터 파이프라인을 구축하는 일련의 설계 방식이다. 파이프라인의 구성은 다음과 같다. 구성 : Beats : 데이터 수집 및 전송 Logstash : 데이터 전처리(필터링) Elasticsearch : 데이터 저장 및 관리 Kibana : 데이터 시각화 다음은 파이프라인의 동작 방식이다. 동작 : Yahoo Finance에서 각 주요 국가의 시장지수와 금, 은, 유가 등의 각종 매크로 데이터를 추출한다. 추출한 데이터를 Beats로 읽어들여 Logstash로 보내 문자열 처리를 거친 다음, Elastic search로 적재하고, Kibana로 대시보드를 그린다. 먼..

sklearn - classification_report()

sklearn.metrics.classification_report reference : scikit-learn.org, sklearn.metrics.classification_report, document scikit-learn.org,sklearn.metrics.f1_score, document stackoverflow, How to interpret classification report of scikit-learn?,LaSul Answered Accuracy(정확도), Recall(재현율), Precision(정밀도), 그리고 F1 Score, eunsukimme Document : sklearn.metrix.classification_report(y_true, y_pred, *, Labels=N..

pandas - corr()

df.corr(method='s') reference document : pandas.DataFrame.corr 비선형 상관관계 : 스피어만 상관계수, 켄달타우 pandas 데이터프레임 객체에 대해 corr()함수를 사용할 수 있다. corr()은 누락값을 제외하고 전체(dataframe) 컬럼들 간의 상관도를 계산한다. 계산에 사용되는 상관계수의 default값은 pearson 상관계수로, 모든 변수가 연속형이고 정규분포를 띄는 경우 사용할 수 있다. 만약 정규분포를 따르지 않는 변수가 포함되어 있다면 보편적으로 spearman 상관계수를 사용한다. spearman 상관계수는 비모수적 방법 (모수를 특정 분포로 가정하여 접근하는 방법론) 으로써 값에 순위를 매기고 순위에 대해 상관계수를 구하는 방식이다..

statsmodels - ols

OLS - Regression reference 선형회귀분석 및 OLS document : Ordinary Least Squares Python 기초 통계 - 회귀분석 실시하기 회귀분석은 파이썬에서 제공하는 대표적인 통계 분석 패키지 statsmodels를 불러와 간단히 사용할 수 있다. import statsmodels.api as sm model = sm.OLS(y, X) # y : 종속 변수(시리즈), X : 독립 변수 집합(데이터프레임) result = model.fit() result.summary() 혹은, 함수 식 표현을 활용할 수도 있다. import statsmodels.api as sm model = sm.OLS.from_formula('y ~ x1+x2+x3', data=df) res..

CycleGAN vs StarGAN

background Conditional GAN - latent vector(random)와 함께 Condition(y)을 받을 수 있다(무작위가 아닌 목표로 하는 이미지를 생성) pix2pix - 이미지(X, Condition)를 받아서 이미지를 돌려준다. y(label, condition)를 따로 받는 것은 아니지만 X 자체를 Condition으로 입력 받아 목표로하는 이미지를 생성하기 때문에 Conditional GAN에 기반을 둔다고 볼 수 있다. CycleGAN , StarGAN은 모두 Conditional GAN 기반의 pix2pix 구조를 사용한다. CycleGAN은 이미지를 받아서 이미지를 돌려주고, StarGAN은 이미지와 y(도메인 Vector)를 추가로 받아서 y에 맞는 이미지를 돌려..

GAN

GAN - Basic Concept reference : GAN의 활용 사례와 발전 방향 ConditionalGAN(CGAN) 생성적 적대 신경망 논문으로 본 적대적 생성 신경망 GAN NEVER Engineering | 1시간만에 GAN(Generative Adversarial Network) 완전 정복하기 GAN(Generative Adversarial Network)은 특정 정보를 생성(Generative)하는 항과 이와 대립(Adversarial)하는 항으로 이루어진 망(Network)을 뜻한다. Training 생성자 모델 G(Generative)는 훈련 데이터 X 분포를 흉내내도록 훈련한다 판별자 모델 D(Discriminator, Adversarial)는 생성자 모델 G가 생성한 데이터가 진..

LGBM

LGBM(Light Gradient Boosting Machine) LightGBM's documentation LightGBM 주요 파라미터 정리 LightGBM이란? LGBM은 'Light'(==fast)하고 또 'Light'(==low memory)하다. 그만큼 또 예민하다는 단점이 있다. 예민하다는 것은 과적합(Overfitting)되기 쉽다는 것이며 1만 개 이하의 적은 데이터셋을 다루기에는 적합하지 않은 모델이다. LGBM을 사용할 때에는 과적합에 특히 유의해야 하며 아래의 하이퍼파라미터들을 통해 학습을 조절할 필요가 있다. max_depth Tree의 깊이가 깊을 수록 당연하게도 train set에 더 가까운 가중치를 학습하게 된다. 다른 모델을 사용할 때보다 현저하게 max_depth를 줄..

1 2 3 4