월간 데이콘 생체 광학 데이터 분석 AI 경진대회

코드공유(최종점수:0.8286)

2020.06.30 03:45 6,390 조회 language

참고 문헌 및 관련 논문을 많이 찾아 적용하려고 하였으나 정작 효과가 있는 것은 beer-lambert 법칙의 가장 단순한 모델 뿐이었고 나머지 다른 복잡한 수식들은 효과가 없었습니다. beer-lambert 법칙으로 hhb, hbo2, ca, na의 coefficient를 퍼셉트론으로 계산하여 역으로 hhb, hbo2, ca, na의 농도를 환산하는 방식을 사용해봤지만 효과적이 못했습니다.  단순하게 스펙트럼 분석 시 사용되는 기법만 활용하여 전처리를 진행한 것이 가장 효과가 좋았으며 틈틈히 짬내서  하다 보니 딥러닝으로 돌려보지 못한게 아쉽네요. 베이스라인 코드 및 코드공유에 올라와 있는 jamm님과 김탱님 자료도 참고하였습니다.

dst컬럼과  beer-lambert 법칙으로 만든 ratio컬럼의 보간 전처리는 참고문헌에서 사용된 brain의 scattering coefficient 및 hhb, hbo2, ca, na의 coefficient를 퍼셉트론으로 도출하는 방법 등 사용하였으나 효과가 전혀 없었고 -inf와 inf를 모두 np.nan으로 처리하고 interpolate의 methods 마다 특별한 차이가 없어 심플하게 linear로 보간하였고 보간이 안되는 남은 자리에 대해 비례상수와 bias 등의 hyperparameter를 적용해보았으나 향상되지 않았습니다. 빈 상태로 두는거 보단 단순하게 오른쪽 컬럼과 동일한 값으로 모두 처리한 것이 더 좋았습니다.

히트맵을 통해서 가장 상관성이 높은 전처리 columns을 추가하였고 LGBM의 hyperparameter tuning은 램덤 방식을 통해 정하였습니다. LGBM objective에서 regression_l1, huber, fair, poisson 등 다양하게 써봤지만 regression이 가장 좋았습니다. 가장 잘나온 데이터 두개를 합 평균 ensemble하여 최종 결과로 제출하였습니다.

코드