분석시각화 대회 코드 공유 게시물은
내용 확인 후
좋아요(투표) 가능합니다.
월간 데이콘 생체 광학 데이터 분석 AI 경진대회
Public 2등 팀 솔루션 공유
항상 재밌는 대회 열어주셔서 감사합니다.
저희 팀은 이번에 팀으로 진행하면서 많은걸 배웠는데, 저희 팀의 솔루션을 공유하고자 합니다.
마지막까지 잘하시는 분들이 많으셔서 힘들었는데 많이 배웠습니다. 감사합니다
* 주의 : 저희가 사용한 도메인 지식은 실제 과학적 사실과 다를 수도 있습니다.
- dst/src( 투과도 피쳐 생성), log(src/dst)/rho (농도와 비례하는 피쳐생성) -> 자세한 내용은 비어 램버트 법칙 참고
- 10 단위로 이루어진 파장별 데이터 노이즈를 줄여주기 위해 binning 한후 피쳐생성 또한 진행(10, 20, 30, 40, 50, 100 사이즈로 binning)
- dst NaN값은 어떤방식으로 값을 채워도 성능하락 하기에( dst의 양은 흡광도와 비례하고, 이는 다시 농도와 직결되기에 잘못된 추정을 하게 되었을거라 생각) , 대신 파장끼리 rolling mean을 하여 주변 파장의 평균으로 missing data를 채우는 효과를 내봄(window size = 3, 5)
- 파장대 별로 absorbance 피크를 살펴보면 피크의 intensity 가 다르고, 샘플마다 피크의 양상 또한 다름 .
파장대 별로 피크 intensity가 다른 이유는 물질마다 반응하는 에너지가 다르고 에너지는 파장과 반비례하기에, 파장별로 빛의흡수량이 달라지는 것.
즉 피크의 intensity는 빛의 흡수량에 따라 달라지고, 빛의 흡수량은 물질의 농도에 의해 결정됨.
-> 따라서 파장별로 피크들의 값을 서로 나눈 비율을 피쳐로 사용한다면 농도를 잘예측할수 있을거라 판단하여 피쳐로 추가
- drift를 보정하기 위해 분석파장과 가깝고 흡광도가 크지 않은 파장을 기준 파장으로 사용하여 (분석파장-기준파장)을 하여 drift를 보정한다고 하는데, 어떤걸 기준파장으로 설정할지 몰라 모든 파장을 다 빼주고 나중에 쓸모없는 피쳐를 걸러줌
참고)
- 물질의 농도가 높아지면 한 분자가 다른 분자를 가릴 수 있기 때문에, 실제 측정하려는 흡광도에 비해 낮게 측정될 수 가 있는데, 이를 모델에게 알려주기 위해 먼저 모델 1을 학습하여 물질의 농도값을 예측한 다음 예측값을 피쳐로 추가하여 다시 모델 2를 학습하였음
- lgbm모델 같은경우 multi output regression을 진행할때 y끼리 상관관계를 가지더라도 이를 고려하여 모델을 만들수가 없는데 , 이 상관성을 모델에게 알려주기 위해 모델 1을 학습하고 y들을 예측한 다음 y 끼리 서로 나눈 값 또한 피쳐로 추가( 나이브하게 y의 상관관계를 비율로 표현) ( y끼리는 상관관계를 가진다는 것을 가정하고 한 실험)
lgbm모델 같은경우 multi output regression을 진행할때 y끼리 상관관계를 가지더라도 이를 고려하여 모델을 만들수가 없는데 , 이 상관성을 모델에게 알려주기 위해 모델 1을 학습하고 y들을 예측한 다음 y 끼리 서로 나눈 값 또한 피쳐로 추가( 나이브하게 y의 상관관계를 비율로 표현) ( y끼리는 상관관계를 가진다는 것을 가정하고 한 실험) 이 것으로 얼마나 향상되었는지 알 수 있을까요?
아이디어가 정말 ㄷㄷ 많이 배웁니다!
처음해봐요님도 고생 많으셨습니다! 감사합니다
상관성 피쳐 뺀 나머지로 실험했을때 5fold 단일모델로 0.79X 정도 나왔는데, 피쳐 추가후 0.77x 로 향상했습니다
감사합니다! 솔루션 참고해서 모델 다듬어 봐야겠어요~
관련 도메인의 글들을 많이 읽어보게 된 대회였는데 feature engineering을 어떤식으로 할지 막막했는데 올려주신 솔루션 보니 한 번에 이해가 되네요!! 감사합니다 ㅎㅎ
혹시 어떤 feature를 추가 했을 때 가장 다이나믹한 성능 향상이 있었나요 ?
고생하셨습니다 !
감사합니다. 최정명님도 고생 많으셨습니다!
어느 피쳐가 가장 좋았다 라고 말하긴 어렵지만, 대회하면서 성능을 1점대에서 0.8점대까지 큰폭으로 올려준건 피크끼리의 비율을 구한 피쳐였습니다.
답변 감사합니다. 공유해 주신 내용들 통해 정말 많은 것을 배웁니다!!
와 정말.... 그저 놀라울 뿐입니다..대단하세요..
2위 축하드립니다. 너무 수고하셨습니다!
Jamm 님도 너무 고생 많으셨습니다!!
감사합니다!
데이콘(주) | 대표 김국진 | 699-81-01021
통신판매업 신고번호: 제 2021-서울영등포-1704호
서울특별시 영등포구 은행로 3 익스콘벤처타워 901호
이메일 dacon@dacon.io | 전화번호: 070-4102-0545
Copyright ⓒ DACON Inc. All rights reserved
공유해주셔서 감사합니다! 피쳐가 인상깊네요! 고생하셨습니다!