- Background
- Steps
- Dataset
- Hyper-parameter search
- Stump tree์ ๊ฐฏ์์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๋ณํ
- Result
- AdaBoost
- classifier์ accuracy๋ฅผ ํฅ์์ํค๊ธฐ ์ํด ๋ค์์ weak classifier๋ฅผ ๊ฒฐํฉ์ํด
- weak classifier(learner) : ๋๋ค ๋ชจ๋ธ์ ๋นํด ์ฝ๊ฐ์ ์ฑ๋ฅ ํฅ์์ด ์๋ ๋ชจ๋ธ
- ์ค๋ฅ ๋ฐ์ดํฐ์ ๊ฐ์ค์น๋ฅผ ๋ถ์ฌํ๋ฉฐ boosting์ ์ํํ๋ ๋ํ์ ์๊ณ ๋ฆฌ์ฆ
- AdaBoost๋ ๋ค์์ weighted training
- Step 1 : ๋ฐ์ดํฐ์ ์์ฑ ๋๋ ๋ถ๋ฌ์ค๊ธฐ
- Step 2 : Model fit (AdaBoostClassifier ์์ฑ)
- Step 3 : ๊ฒฐ๊ณผ๊ฐ ์์ธก
- (Step 4 : ๊ฒฐ๊ณผ ์๊ฐํ)
- make_classification ํจ์ ์ด์ฉํ์ฌ ์์์ ๋ฐ์ดํฐ์ ์์ฑ
- Email Spam Classification Dataset (csv) download
- breast_cancer
- base_estimator : ensemble์ ํ model. ํ์ต์ ์ฌ์ฉํ๋ ์๊ณ ๋ฆฌ์ฆ
- n_estimators : ์์ฑํ ์ฝํ ํ์ต๊ธฐ ๊ฐฏ์ ์ง์ (default = 50)
- learning_rate : ํ์ต์ ์งํํ ๋๋ง๋ค ์ ์ฉํ๋ ํ์ต๋ฅ (0~1)/weak learner๊ฐ ์์ฐจ์ ์ผ๋ก ์ค๋ฅ๊ฐ์ ๋ณด์ ํด๋๊ฐ ๋ ์ ์ฉํ๋ ๊ณ์ (default = 1.0)
- random_state : ์คํ์ ๋์ผํ ๋๋ค ์ซ์๊ฐ์ด ๋์ค๋๋ก ์ค์
- max_feature : ๊ฐ๊ฐ์ base estimator์์ ์ถ์ถํ๋ feature ์
- ์ด๋ฒ์๋ stump tree์ ๊ฐฏ์๊ฐ ๋ฌ๋ผ์ง์ ๋ฐ๋ผ ์ด๋ป๊ฒ ์ฑ๋ฅ ๋ณํ๊ฐ ์ผ์ด๋๋์ง ์ดํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
decision tree์์ 1๊ฐ์ node์ 2๊ฐ์ leaf๋ฅผ ๊ฐ์ง๋ ๋ชจ์์ ์๋ฏธํฉ๋๋ค. stump๋ 1๊ฐ์ node๋ฅผ ๊ฐ์ง๊ธฐ์ ์ค์ง ํ๋์ ๋ณ์๋ง์ ์ฌ์ฉํ๋ค๊ณ ๋ณผ ์ ์์ผ๋ฉฐ weak learner ๋ผ๊ณ ํ ์ ์์ต๋๋ค.
AdaBoost๋ ๊ฐ ํธ๋ฆฌ๋ณ ์ค์๋์ ์์ด ์ฐจ์ด๊ฐ ๋๋ค๋ ํน์ง์ด ์์ต๋๋ค. ํ๋จ์ ๊ทธ๋ฆผ์ ์ฐธ๊ณ ํ์ฌ ๋ณด์๋ฉด ๊ฐ stump์ ํฌ๊ธฐ๊ฐ ๋ค๋ฅธ ๊ฒ์ ํ์ธํ ์ ์๊ณ , boosting์ ํน์ง์ ๋ฐ๋ผ ์ด์ stump์ ์ ๋ณด๋ฅผ ์ฐธ๊ณ ํ๋ฉฐ ์ข ์์ ์ด๊ณ sequentialํ๊ฒ ๋ชจ๋ธ์ ์์ฑํ๊ฒ ๋ฉ๋๋ค.
- make_classification
- Email Spam Classification
- Hyper-parameter search
- Stump tree์ ๊ฐฏ์์ ๋ฐ๋ฅธ ์ฑ๋ฅ ๋ณํ
Stump | 1 | 5 | 10 | 100 | 1000 |
---|---|---|---|---|---|
Accuracy | 0.895 | 0.959 | 0.971 | 0.982 | 0.977 |
- ์ฅ์
- overfitting์ ๋น๊ต์ ๋ ์ทจ์ฝํจ
- bias์ variance๋ฅผ ์ค์ด๋๋ฐ ๋์์ ์ค
- ํด๋น ๋ฐฉ๋ฒ๋ก ์ ํตํด weak classifier์ accuracy๊ฐ ํฅ์๋ ์ ์์
- ์ฌ์ฉ์ด ๋น๊ต์ ์ฌ์
- ๋จ์
- ์์ง์ ๋ฐ์ดํฐ์ ์ด ํ์ํจ
- outlier์ noise์ ๋ฏผ๊ฐํจ
- XGBoost๋ณด๋ค ๋๋ฆฐ ์๋