Datathon 후기 4 – 송치오 님

라인웍스는 지난 9월 20일부터 22일까지 국가임상시험지원재단(KONECT)에서 주최한 Korea Clinical Datathon 2019에 참가했습니다.

라인웍스 4인은 각기 다른 팀에서 다양한 역할로 Datathon에 참가했는데요. 다채로운 관점의 후기를 릴레이로 공유합니다.

0. INTRO → 바로가기
1. 임정, SQL 전문가(팀9) → 바로가기
2. 허신영, 데이터 사이언티스트(팀7) → 바로가기
3. 박근우, SQL 전문가(팀7) → 바로가기
4. 송치오, IT 전문가(팀14) → 현재 글

마지막으로 Tech그룹의 Machine Learning Engineer 송치오 님의 후기를 공유합니다.


참여자

송치오
주역할: IT전문가
부역할: 데이터 사이언티스트

주제

패혈증 환자 클러스터링을 통한 상관관계 파악 및 병원 내 사망 예측

  • 데이터셋: MIMIC-III
  • 문제정의: 패혈증(sepsis)을 판단하는 익히 알려진 수치들을 이용하여 환자들을 4개의 군으로 Clustering하며, 분류 결과를 이용해 병원 내 사망을 Predict함.
    • 필요성: 패혈증 발생 시 빠른 시간 내에 사망할 수 있음.(1) 1979년부터 2000년 사이 기준, 환자당 약 22,000 달러의 비용이 발생하며 연간 약 160억 달러가 소요됨. 환자의 생존율을 높이고 사회적비용을 줄이는 해결책이 필요함.
    • Clustering
    • Predict
      • features: Clustering의 features + Clustering의 결과 + 생존기간 + 28일간의 mortality + vasopressor
      • num of rows: 8,462
      • model: lightgbm 
      • auroc: 약 0.77 (다른 논문 auroc: 0.739)

후기

팀 빌딩 

  • 14명이 한 팀으로 구성되면서 팀 규모가 너무 크다고 느꼈습니다. 사람이 많으면 freerider 발생 가능성이 높으므로 첫날 귀가 전 각자의 role과 task를 정했습니다. 
  • 팀원들이 서로간의 role을 미리 정하고 각자 최선을 다했으며, 분위기를 지속적으로 밝게 유지하여 좋은 시너지를 낼 수 있었습니다.

분석 수행과 결과 전달

  • 본 프로젝트 주제 특성상 머신러닝을 이용해야하기에 데이터의 N수가 어느정도는 확보되어야 했습니다. 또한 패혈증은 기준에 따라 다르게 정의 될 수 있으므로 MIMIC-III에서 기준별 패혈증 환자 수를 최대한 빨리 체크해야 프로젝트를 시작할 수 있었습니다. 해커톤을 시작하는 날 즉시 데이터 N수를 체크할 수 있도록, SQL 전문가에게 먼저 작업을 요청했습니다.
  • SQL 전문가가 추출한 Features를 모델에 바로 적용할 수 있어, 머신러닝 구현에 더욱 집중할 수 있었고 전체적으로 시너지를 낼 수 있었습니다.
  • python 이용과 google bigquery 접근을 위해 colab을 이용했습니다. 하지만 colab상에서 export, import의 작업을 하는 중 주기적으로 세션끊김이 발생하여 csv backup 작업을 해야하는 단점도 발생했습니다.
  • clustering의 결과를 csv화하여 http://web-r.org/ 에 업로드 했습니다. 이를 통해 통계결과를 편하게 볼 수 있었습니다. 데이터사이언티스트, 의사분들이 통계결과 리뷰를 통해 clustering의 각 군의 특성을 파악했습니다. clustring의 결과가 의도대로 된 것인지, 쓸모 없는 결과인지, 새로운 결과인지 등을 빠르게 알아내었고,  clustering에 사용 될 features를 조정했습니다.
  • clustering 결과에서 각 수치별로 p-value 검증 등을 진행했습니다. 이 과정을 통해 각 cluster가 어떤 환자들로 구성되어 있는지 통계적으로 확인할 수 있었습니다. 이런 통계 스킬을 보며 머신러닝 엔지니어로서 다시금 통계공부의 필요성을 느꼈습니다.
  • 머신러닝 엔지니어의 관점으로 머신러닝을 하는 것이 아닌 의료전문가의 관점으로 머신러닝을 진행했습니다. 머신러닝을 위해 Domain Knowledge가 필수적인 것은 아니지만, Domain Knowledge를 적용하면 더 나은 결과가 나올 수 있음을 재확인 할 수 있었습니다. 
  • 팀의 결과물을 청중에 잘 전달하기 위해 다양한 노력을 했습니다. 해커톤에서는 visualization이 중요하므로 tensorboard에서 clustering의 진행과정을 영상으로 녹화했습니다. 이 영상은 각 cluster간의 상호관계를 보여주는 chord diagram을 발표자료에 첨부했습니다. 또, 결과 발표에 극적인 효과를 연출하기 위해 발표 자료에 들어갈 단어에 더욱 신경썼습니다.

대회 환경

  • 멘토링을 지원해주는 해커톤은 참가자의 실력 향상에 매우 좋은 기회가 됩니다. 이번 대회에서는 멘토-멘티 비율이 적절해 큰 도움이 되었습니다. 다만, 멘토를 배치하는 스케줄 관리 방식은 다소 아쉬웠습니다. 밤과 아침시간에는 멘토 활동을 하지 않았는데 시간대별로 멘토를 나눠서 배치하면 더 좋은 대회가 될 것 같습니다.
  • 팀당 전용 공간 제공, 넘쳐나는 콘센트로 인해 쾌적한 환경이었으나 wifi 부분은 아주 조금 아쉬웠습니다. 무제한 요금제를 이용하고 있다면 개인 모바일 핫스팟으로 wifi 사용하는게 제일 편합니다. 하지만 기본적인 준비마저 미흡한 다른 해커톤과 비교해보면 충분히 좋은 환경이었습니다. 
  • 일부 대회의 경우 숙박을 제공하기도 합니다. Korea Datathon이 숙박도 함께 제공해주면 더 좋은 대회가 되지 않을까 생각합니다. 

총평

대회 준비, 대회 참가자 등 전체적인 면에서 퀄리티가 높은 대회였습니다. 의료분야 종사자들과 관계를 쌓기에도 좋은 기회가 되었다고 생각합니다. 해커톤 종료 후 참여한 프로젝트가 종료되는 경우가 많으나 이번 대회에서는 해당 프로젝트의 논문화까지 이뤄지는 경우가 많은 것 같습니다. 이런 점에서 대회가 종료된 후에도 남는 것이 많은 의미있는 대회였다고 생각합니다.

팀 발표 자료 → 바로가기

No comments yet.

Leave a comment

Your email address will not be published.