앙상블 기법
- 앙상블은 전통적으로 Voting, Bagging, Boosting, Staging 등으로 나눔
- 보팅과 배깅은 여러 개의 분류기가 투표를 통해 최종 예측 결과를 결정하는 방식
- 보팅과 배깅의 차이점은 보팅은 각각 다른 분류기, 배깅은 같은 분류기를 사용
- 대표적인 배깅 방식이 랜덤 포레스트
부스팅의 개요
![](https://velog.velcdn.com/images/tim0902/post/60086e16-ed8b-49ed-a83f-b682e0479aff/image.png)
Adaboost
- step 1
![](https://velog.velcdn.com/images/tim0902/post/76d3e9f0-e828-42c9-9c20-967722970410/image.png)
- step 2
![](https://velog.velcdn.com/images/tim0902/post/c28de7f1-a174-4309-b1ad-0b486840b436/image.png)
- step 3
![](https://velog.velcdn.com/images/tim0902/post/ec40032f-2e32-4eea-b911-faa9e3856ebf/image.png)
- step 4
![](https://velog.velcdn.com/images/tim0902/post/e1234437-ff32-40d0-91c6-3599c3e7ddc4/image.png)
부스팅 기법
![](https://velog.velcdn.com/images/tim0902/post/9267c71e-ca32-49ee-8125-9fc80cecc9b2/image.png)
Bagging = Boostrap AGGreganING
![](https://velog.velcdn.com/images/tim0902/post/4b1c54f5-180a-479e-9287-2021fa3cd66a/image.png)
배깅과 부스팅의 차이
![](https://velog.velcdn.com/images/tim0902/post/0989f6be-aa24-4f3a-9055-ef5cb69ea57d/image.png)
![](https://velog.velcdn.com/images/tim0902/post/00320af5-ed2c-4e2a-b021-7e8501c1cc25/image.png)
Wine data
![](https://velog.velcdn.com/images/tim0902/post/8ba2f846-7cc8-4f22-a102-216c91222e67/image.png)
pipeline이 아니라 직접 StandarScaler를 적용
![](https://velog.velcdn.com/images/tim0902/post/afc89c09-a7bf-46bb-963f-9e37a70bf0e4/image.png)
Scaler 적용후 데이터 나누기
- 이 상태에서 cross-validation을 한다면 X_train만 대상이 된다.
![](https://velog.velcdn.com/images/tim0902/post/7cbf79ba-c807-4806-9763-bf52174eb046/image.png)
모든 컬럼의 히스토그램 조사
![](https://velog.velcdn.com/images/tim0902/post/d4df845b-607e-43e4-8daf-aa77ca2cb8d1/image.png)
잘 분포되어 있는 컬럼이 좋을 때가 많다.
![](https://velog.velcdn.com/images/tim0902/post/284bb985-19f9-4224-9982-d9fc0037e893/image.png)
quality 별 다른 특성이 어떤지 확인
![](https://velog.velcdn.com/images/tim0902/post/3a52253d-bf63-4580-943d-a04b19215e6b/image.png)
![](https://velog.velcdn.com/images/tim0902/post/2ea77c58-e630-49dc-869a-2cf50cf71b0d/image.png)
quality에 대한 나머지 특정들의 상관관계
![](https://velog.velcdn.com/images/tim0902/post/8b105b93-cd25-4317-9e34-2f7f75101a25/image.png)
taste 컬럼의 분포
![](https://velog.velcdn.com/images/tim0902/post/f08c443b-c0dc-48bc-9d9a-e9d975d745a9/image.png)
다양한 모델을 한번에 테스트
![](https://velog.velcdn.com/images/tim0902/post/4dcbba93-b0e8-4d5e-8e0f-87bf5f4da717/image.png)
결과를 저장하기 위한 작업
![](https://velog.velcdn.com/images/tim0902/post/96dee483-61e2-42d7-a5cc-76c78e9d6d50/image.png)
cross-validation 결과를 확인
![](https://velog.velcdn.com/images/tim0902/post/c1bb47b2-7c51-4cde-a948-f12836b35a10/image.png)
RandomForest가 유리해 보인다
![](https://velog.velcdn.com/images/tim0902/post/3eb5ef7d-db9f-46c9-8e2f-3b32d4e7df9e/image.png)
테스트 데이터에 대한 평가 결과
![](https://velog.velcdn.com/images/tim0902/post/c8666f66-7dd8-4fcf-af88-2cba766b7c52/image.png)