전화 해지 여부 분류 AI 해커톤

알고리즘 | 정형 | 분류 | 산업 | Macro F1 Score

  • moneyIcon 상금 : 인증서
  • 794명 마감

 

[Public 28위, 0.85509] LightGBM + Feature Engineering

2023.03.28 00:35 737 조회 language

Optuna를 활용해서 적절히 tuning된 LightGBM 모델과 꽤나 많은 feature engineering을 통해서 LB 0.85509를 얻었습니다.

EDA를 하다 보니 "가입일", "음성사서함이용", "주간통화시간", "저녁통화요금" 등과 같이 독립적이어야만 할 것 같은 feature들에서 이상하게 22, 23, 89, 222 등과 같은 숫자들이 빈번하게 발생하는 것을 알 수 있었습니다. (왜 그런지는 모르겠습니다. 데이터에 대체 어떤 비밀이 있는 걸까요?)

아무튼 이런 이상한 특징들이 분류에 도움이 될 수도 있겠다 싶어 수치값들을 단순히 수치로만 보는게 아니라, 문자열로도 생각해보고, 심지어 모든 feature들을 string으로 나타낸 뒤 이어붙인 길이도 feature로 사용해 보고, 소수 부분이 있는 값들은 정수/소수를 나누어서도 feature로 활용해보는 등 다양한 시도들을 해 보았습니다. CV 성능이 조금씩 오르는 걸 확인하니 재미있더군요 :)

시간이 많이 있진 않아서, 최종 결과는 feature engineering 과정 중 제출한 3개 모델(LB 0.85404, 0.85016, 0.85348)의 앙상블로 정했습니다. LB가 0.002 정도 상승했네요!

얼른 AutoML 패키지들 공부해보러 가야겠습니다 ^^

코드
로그인이 필요합니다
0 / 1000
미남홀란드
2023.03.28 09:42

좋은코드네요 참고하겠습니다 ㅎㅎ

따봉캣
2023.03.28 10:24

와우 피쳐 엔지니어링 과정이 되게 섬세하고 멋지군요 열심히 뜯어보며 공부해보겠습니닷 

kseob758
2023.03.28 16:25

멋진 코드 잘 봤습니다!