월간 데이콘 천체 유형 분류 대회

알고리즘 | 정형 | 분류 | 과학 | LogLoss

  • moneyIcon Prize : 154만원
  • 1,221명 마감

 

대회 진행과정 및 Public 8위 Private 10위 코드 공유합니다.

2020.03.01 00:54 9,059 Views language

'2주~3주간 처음으로 참여한 천체관측 대회가 마무리 됐네요.
모두 수고 많으셨고 별거 아니지만 대회 진행과정 공유합니다.

저도 못했지만 캐글처럼 활발한 지식 공유가 이루어지면 좋겠습니다.
다른분들도 후기 남겨주시면 보고 배우겠습니다 ㅎㅎ



모델
처음에는 lgbm, xgboost, catboost 세가지의 모델의 결과의 앙상블을 통해 순위를 조금씩 올렸습니다. 

최종적으로는 lgbm 단일모델로 하이퍼 파라미터를 조율하며 마무리했습니다.

그리고 다중 분류 방법 중 one verse all 기법을 이용해보고 싶었는데 좋은 자료를 찾지못해 포기한점이 아쉽습니다.
lgbm에서는 objective = 'multicalssova'을 이용하면 쉽게 사용할 수 있는데 제경우에는 overfitting이 심해져 포기했습니다.



변수 
초반에는 fiberID를 이용해 1000개의 모델을 만들어보려고 했는데 학습 데이터를 나누면 train label과 validation label이 달라 학습되지 않는 부분이 해결되지 않아 포기했습니다.
validation 없이 진행 해서 적용해보았지만 결과가 좋지 못했습니다.
하지만 이과정에서 QSO만 관측한 fiberID를 찾아낼 수 있었고 이 fiberID들의 결과를 모두 QSO로 확정한것이 미세하게 점수를 올리는데 도움된것 같습니다.


FEATURE Engineering
 파장별, 관측법 별 mean, std를 구하고 변수별로 pca를 적용했습니다. 
mean과 std에도 pca를 적용했는데 std의 pca 변수가 모델의 feature importance의 상위권에 올라져 있는 이유를 아직도 모르겠습니다.

도메인 지식을 이용하기 위해 논문 검색을 통해 새로운 변수(파장끼리의 차)를 생성할 수 있었습니다. 



하이퍼 파라미터
하이퍼 파라미터는 베이지안 옵티마이제이션을 이용해 적절한 변수를 찾고 최종적으로 num_leaves와 max_depth, learning_rate를 조절하며 최선의 하이퍼파라미터를 찾았습니다.'

Code
로그인이 필요합니다
0 / 1000
최정명
2020.03.01 17:01

안녕하세요 lgbm모델의 파리미터 튜닝은 어떤식으로 진행하셨나요??

호구너
2020.03.02 02:41

하이퍼옵트 라이브러리 이용하고
max_depth, num_leaves, learning_rate는 후보군을 만들어서  돌려봤습니다.

Liberalism
2020.03.07 23:36

감사합니다 !