Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 빅데이터 분석 기사
- 알고리즘
- 빅분기
- 오라클
- 튜닝
- 실습
- 코딩테스트
- Python
- R
- oracle
- sklearn
- 데이터 분석
- matplotlib
- SQL
- seaborn
- Oracel
- 파이썬
- 프로그래머스
- pandas
- python3
- level 2
- level 1
- 실기
- Numpy
- 카카오
- 머신러닝
- Kaggle
Archives
- Today
- Total
라일락 꽃이 피는 날
[Sklearn] 앙상블 (Ensemble) - Stacking, Weighted Blending 본문
728x90
Stacking
개별 모델이 예측한 데이터를 기반으로 final_estimator 종합하여 예측을 수행한다.
성능을 극으로 끌어올릴 때 활용하기도 한다.
데이터셋이 적은 경우, 과대적합을 유발할 수 있다.
from sklearn.ensemble import StackingRegressor
stack_models = [
('elasticnet', poly_pipeline),
('randomforest', rfr),
('gbr', gbr),
('lgbm', lgbm)
]
stack_reg = StackingRegressor(stack_models, final_estimator=xgb, n_jobs=-1)
stack_reg.fit(x_train, y_train)
stack_pred = stack_reg.predict(x_test)
Weighted Blending
각 모델의 예측값에 대하여 weight를 곱하여 최종 output을 계산한다.
모델에 대한 가중치를 조절하여 최종 output을 산출한다.
가중치의 합은 1.0이 되도록 한다.
final_outputs = {
'elasticnet' : poly_pred,
'randomforest' : rfr_pred,
'gbr' : gbr_pred,
'xgb' : xgb_pred,
'lgbm' : lgbm_pred,
'stacking' : stack_pred
}
final_prediction=\
final_outputs['elasticnet'] * 0.1\
+final_outputs['randomforest'] * 0.1\
+final_outputs['gbr'] * 0.2\
+final_outputs['xgb'] * 0.2\
+final_outputs['lgbm'] * 0.2\
+final_outputs['stacking'] * 0.2\
728x90
'데이터 분석 > Python' 카테고리의 다른 글
[Sklearn] Hyperparameter 튜닝 (0) | 2021.05.17 |
---|---|
[Sklearn] Cross Validation (0) | 2021.05.17 |
[Sklearn] 앙상블 (Ensemble) - 부스팅 (Boosting) (0) | 2021.05.17 |
[Sklearn] 앙상블 (Ensemble) - 보팅 (Voting), 배깅 (Bagging) (0) | 2021.05.17 |
[Sklearn] 파이프라인 (pipeline) (0) | 2021.05.14 |