인구 데이터 기반 소득 예측 AI 해커톤

정형 | Accuracy

  • moneyIcon 상금 : 참가시 최소 50 XP, 특별상 데이콘 후드
  • 496명 마감

 

Tree Based Modeling

2022.04.23 20:15 1,700 조회 language

[현 0.86949, 20등]
안녕하세요
그 동안 열심히 공부하고 처음으로 대회를 임하고 있습니다
더 이상 성능이 향상되지 않는데 조언 부탁드립니다!

0. 변수 제거
race, sex, native.country는 target과 연관성을 보이지 않아 제거하였습니다.

1. 결측값
workclass have 1836 na values
occupation have 1843 na values
workclass와 occupation은 1836개의 공통 결측 sample을 보유
따라서 1843개의 결측 sample을 제거

2. 전처리
2-1. 수치형 데이터: log scaling을 통해 통계적 안정성
2-2. 범주형 데이터: target과의 비율을 통해 난이도 변수 생성
2-3. 범주형 데이터: Label Encoding

3. Modeling
5 fold cross validation
- Lightgbm: 86.461663 +- 0.004204
- XGBoost: 85.892425 +- 0.003456
- CatBoost: 86.563838 +- 0.006179

4. Tuning
- Bayesian Optimization
- n_estimators: 100~200
- learning_rate: 0.1~0.01

5. Ensemble
- Voting: 'soft' > 'hard'
- Stacking: final - Random Forest
- voting이 더 좋은 성능을 보여 제출하였습니다

6. 결과 분석
- Light GBM을 이용하여 feature importance 시각화
- Light GBM을 이용하여 confusion matrix 시각화
- Precision>Recall: FN에 대한 조치가 필요해 보임
- target=1 데이터 보충(SMOTE) -> 성능이 오히려 떨어지네요...ㅠㅠ

코드
로그인이 필요합니다
0 / 1000
동마스
2022.04.23 23:18

코드 잘 봤습니다. SMOTE가 성능을 떨어드렸다니 아쉽네요 ㅠㅠ

승민이
2022.04.24 13:53

보고 참고하여 적용해 보았는데 아쉽습니다 ㅠㅠ

동마스
2022.04.24 17:40

저는 SMOTE를 통해 데이터를 추가시킨 후에 target 1을 가진 데이터를 절반 삭제 시켜주니 성능이 조금 더 상승했네요! 참고하시면 좋을 것 같아요!

승민이
2022.04.24 20:46

아 이게 너무 많아서 오버피팅이 된 것일 수 있겠네요
참고해서 다시 시도해보겠습니다!