Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dataset 분석 (kfold, test set, labelling) #52

Closed
HyeonhoonLee opened this issue Mar 13, 2022 · 4 comments
Closed

Dataset 분석 (kfold, test set, labelling) #52

HyeonhoonLee opened this issue Mar 13, 2022 · 4 comments
Assignees
Labels
enhancement New feature or request

Comments

@HyeonhoonLee
Copy link
Member

HyeonhoonLee commented Mar 13, 2022

  1. 이번 대회 task는 Ten clinical cases 에 대해서 수많은 patient notes로 구성된 대회입니다.

  2. 현재 train set에는 Ten clinical cases 에 대해서 1000개의 Patient notes가 주어져있고, **test set으로 Ten clinical cases 에 대한 추가적인 Patient notes**로 성능을 평가합니다.

  3. 따라서 현재 진행 중인 k fold 방식 중에서 skf 방식이 더 적합합니다. (patient note를 기준으로한) Group 방식도 가능하나, 만약 특정 clinical case로 biased된 Groups가 존재한다면 좋은 CV가 나오는 것은 overfitting된 결과일 확률이 높습니다. (대표적으로 저희가 참고했던 【Train】Deberta-v3-large baseline 노트북이 그러한 방식을 썼네요.)

  4. 재밌는건, 이를 생각해보면 어짜피 public 혹은 Private set에서도 **동일한 Ten clinical cases 내에 동일한 feature_text**에 대한 annotation을 요구하기 떄문에, model 구현 접근 방법이든 학습 방법이든 이것에 오히려 overfit 되게하는게 좋은 결과가 나타날 확률이 높겠습니다. (대회 규정상 어긋나지 않는다면, cases 별로 완전히 overfitting되게 학습한 모델을 10개 만들어서, inference할 때 case에 따라 다른 Model을 infer 하는 방법도 해보면 어떨까하네요. 물론 inference time도 고려해야합니다만.)

  5. 또한, 저희 시험 볼 때 오답률이 높은 문제가 있듯이, dataset에서 거의 빈 annotation([])인 feature_text 들이 있기 때문에 (예를 들어, No-premenstrual-symptoms 같은 것들), 이 부분에서 나온 annotation이 threshold 보다 아주 약간 넘어서 annotated 됐다면(즉, 확실한게 아니라면) 이런 것들을 후처리로 annotation을 없애는 방법(혹은 probability의 weight를 낮게 주는 방법)을 시도해볼만 하겠습니다.

  6. 한편, 아예 annotation이 없는 case들을 랜덤으로 봤는데, 몇몇 데이터들에서 분명 annotate 할만한 답이 patient notes에 있는데도 불구하고 라벨링이 되지 않은 부분들이 있습니다. (예: 5336, 14122, 3396, 4052). 혹은 중복으로 라벨링 된 경우들도 있구요 (예: 3916). 이런 부분들을 추가 검토해보겠습니다.

@HyeonhoonLee HyeonhoonLee self-assigned this Mar 14, 2022
@HyeonhoonLee HyeonhoonLee added the enhancement New feature or request label Mar 14, 2022
@Kingthegarden
Copy link
Contributor

좋은 설명 감사합니다 ㅎㅎ!
이 부분에 대해서는 저도 고민하고 있었는데 명확한 방법론이 떠오르지 않았습니다.
이번주 각자 실험을 하시고 현훈님이 말씀하신 내용을 토대로 다음 회의에서 논의해보는 것이 필요하다고 생각합니다.

@HyeonhoonLee
Copy link
Member Author

추가로, 무조건 답(annotation)이 없는 경우([])도 있네요.
예를 들어, case_num 2의 feature_num 207인 No-premenstrual-symptoms의 경우 아무것도 안적는데 정답입니다.
postprocessing 접근법도 고려해보겠습니다.

@Kingthegarden
Copy link
Contributor

맞습니다. 이런 경우를 현훈님의 의료 도메인 지식을 통해서 발견해주시면 효과적인 전처리가 진행될 것 같습니다.

@HyeonhoonLee

This comment was marked as duplicate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants