기본 콘텐츠로 건너뛰기

라벨이 RidgeCV인 게시물 표시

[matplotlib]quiver()함수

[data analysis] Elasticnet 모델

Elasticnet 모델 Ridge 와 Lasso 회귀모델 의 차이는 패널티항으로 각각 L2norm과 L1norm을 적용한다는 점입니다( 정규화 참조 ). 이 차이를 결합한 모형을 Elastcnet 모델이라하며 MSE 는 식 1과 같이 계산됩니다. 이 식의 미분에 의해 회귀계수 β를 결정할 수 있습니다. \begin{align}\tag{식 1}\text{MSE}&=(y-X\beta)^T(y-X\beta)+\alpha \left(\lambda \Vert{\beta}\Vert+\frac{1-\lambda}{2}\Vert{\beta}\Vert^2\right)\\ &\alpha:\,\text{소멸계수} \\ &\lambda:\,\text{L1 또는 L2 norm 조정계수}\begin{cases}1&\text{Lasso 모델}\\0&\text{Ridge 모델} \end{cases}\end{align} sklearn.linear_model.ElasticNet() 클래스를 사용하여 모델을 생성할 수 있습니다. 또한 교차검정으로 적정한 α와 L1ration(λ)를 결정하여 모델을 생성하는 ElasticNetCV() 를 사용할 수 있습니다. 예 1) 코스피지수(kos), 코스탁지수(kq), kodex 레버리지(kl), kodex 인버스(ki), 그리고 원달러환율(WonDol)의 일일 시가, 고가, 저가, 종가(o,h,p,c)들을 설명변수로 사용하여 삼성전자(sam)의 일일 종가를 추정하는 Elastic 회귀모델을 생성합니다. import numpy as np import pandas as pd from sklearn.linear_model import ElasticNet, ElasticNetCV from sklearn.datasets import make_regression import yfinance as yf import matplotlib.pyplot as plt st=pd.Timestamp(2023,1, 10) ...