<회귀> Polynomial Features
Data Analyticsㅤ/ㅤMachine Learningㅤ

<회귀> Polynomial Features

Polynomial Features

- 다항식의 계수간 상호작용을 통해 새로운 feature를 생성한다

- 불필요한 피쳐를 제거하는 것도 중요하고, 중요한 피쳐들을 뽑아서 직접 상호작용을 일으켜 영향을 확인하고 모델을 향상시키는 것도 중요한 기법이다

- (Eg) [a, b] 2개의 feature가 존재한다고 가정하고, degree=2로 설정하면, polynomial features 는 [1, a, b, a^2, ab, b^2] 가 된다

- degree (default=2)가 높을수록 더 많은 피쳐를 생성한다

 

Step

- 파이프라인 이용해보자

from sklearn.preprocessing import PolynomialFeatures

# 파이프라인 이용해보자
poly_pipeline = make_pipeline(
    PolynomialFeatures(degree=2, include_bias=False),
    StandardScaler(),
    ElasticNet(alpha=0.1, l1_ratio=0.2)
)

# 예측
poly_pred = poly_pipeline.fit(x_train, y_train).predict(x_test)

# 평가 함수는 자체적으로 만듦
mse_eval('Poly ElasticNet', poly_pred, y_test)

$\quad\rightarrow$ 다른 모델보다 poly를 썼을 때 (이 데이터셋 한정) 더 좋은 성능을 보임을 확인하였다