GithubHelp home page GithubHelp logo

chaelikim / public-4th-place-dacon-ai-competition-for-predicting-lymphadenopathy-of-breast-cancer Goto Github PK

View Code? Open in Web Editor NEW

This project forked from bibiana1202/public-4th-place-dacon-ai-competition-for-predicting-lymphadenopathy-of-breast-cancer

0.0 0.0 0.0 2.63 MB

Jupyter Notebook 100.00%

public-4th-place-dacon-ai-competition-for-predicting-lymphadenopathy-of-breast-cancer's Introduction

[public 4등/0.8409] 유방암의 임파선 전이 예측 AI 경진대회

스크린샷 2022-12-06 오후 5 00 39

  • 데이콘 - 유방암의 임파선 전이 예측 AI 경진대회 : dacon

🔬 프로젝트 개요

  • 대회 소개

    • 데이콘 경진대회 및 프로젝트 설명
    • 주제 : 유방암 병리 슬라이드 영상과 임상항목을 통한 유방암의 임파선 전이 여부 예측
    • 프로젝트 설명 : 유방암 병리 슬라이드 영상(image)와 임상 항목(Tabular)를 조합하여 유방암의 임파선 전이 여부 이진 분류
    • 유의사항 : 유방암 병리 슬라이드 영상을 모델 학습과 추론에 필수로 사용해야 하며, 임상 항목 데이터만 활용하는 경우 수상 제외
  • 개발 환경

    • Google Colab, AWS, VSCode,Phycharm,Anaconda

🔬 프로젝트 수행 절차 및 방법

  • 개발 과정

    • 데이터 전처리
      • Tabular 데이터 : 결측치 제거
      • Image 데이터 : 이미지 노이즈 제거, 이미지 사이즈 조절,
    • 모델 선정 및 분석
      • Multi-modal
      • Tabular model
      • Image model
    • 예측치 출력 방식
      • Ensemble model : hard voting, soft voting

🔬 프로젝트 수행 결과

  • 데이터 분석

    • 대회 제공 데이터

      스크린샷 2022-12-06 오후 2 55 27
      • Train dataset 1000, Test dataset 250
    • Image Data 분석

      스크린샷 2022-12-06 오후 3 00 22
      • 병리 슬라이드 이미지 파일 (png)
      • 1500 ~ 7300px 크기의 고해상도 이미지
      • 각 데이터마다 종횡비가 상이
      • 노이즈 데이터 존재
    • Tabular Data 분석

      스크린샷 2022-12-06 오후 3 02 30
      • 환자 정보 테이블 파일(csv)
      • 나이, 진단명, 암의 개수 등 학습에 필요한 23가지의 항목 존재
      • 많은 양의 결측치 발견
  • 데이터 전처리

    • Image Data 필터링

      스크린샷 2022-12-06 오후 3 03 20
    • Image Data 증강 : EXCEL

      • 원본 이미지 갯수 1000장
        M/D flip rotate zoomin equalization CLAHE centercrop 증강 갯수 score
        category A --- --- --- --- --- --- 0 0.7067
        category B-1 Horizontalflip shiftscalerotate --- --- --- --- 1000 0.6829459108
        categroy C-1 Horizontalflip shiftscalerotate --- eaualization --- --- 1000 0.6933083453
        categroy D-1 Horizontalflip shiftscalerotate zoomin(10%) eaualization CLAHE centercrop 1000 0.7490981241
        categroy D-2 Horizontalflip shiftscalerotate zoomin(10%) eaualization CLAHE centercrop 2000 0.7681871552
        categroy D-3 Horizontalflip shiftscalerotate zoomin(10%) eaualization CLAHE centercrop 3000 0.6846697012
        categroy E-2 Horizontalflip shiftscalerotate zoomin(20%) --- CLAHE gamma 2000 0.7535557
        Padding_512_resize --- --- --- --- --- 0 0.6738
        Gamma --- --- --- --- --- --- 1000 0.6456
        Zoom --- --- --- --- --- --- 1000 0.6555
    • Tabular Data

      • Tabular 항목 : 범주형 항목 17개 , 수치형 항목 6개
      • 결측치 존재 : 범주형 결측치 항목 13개 , 수치형 결측치 항목 5개 스크린샷 2022-12-06 오후 4 01 53
      • outlier(이상치) 존재 : PR_Allred_score(범주형) : 0~8 범주를 벗어나는 데이터 존재
  • 모델 선정

    • 선별 데이터

      • Image Data
        • MIL : 원본 해상도 유지

          스크린샷 2022-12-06 오후 4 07 32
          • 패치 개수 조절 (200개) => 성능 저조
          • 모든 패치 사용 => 자원부족 , 학습불가
        • Resize : 1024,512,256,224 (동일모델)

          • 1024 Resnext50 F1-score 0.7575
          • 512 Resnext50 F1-score 0.7716
          • 256 Resnext50 F1-score 0.6812
          • 224 Coatnet_1_rw_224 F1-score 0.7215
      • Tabular Data
        • 결측치 채우는 방식
        • 종속변수와 독립변수 간의 상관관계에 따른 Feature Selection
    • Single Tabular Model

      스크린샷 2022-12-06 오후 4 10 17
      • Model Selection
        • AutoML
        • Bayesian optimization
      • Feature selection(Correlation)
        • 카이제곱 상관성(범주형)
        • 피어슨 상관계수(수치형)
      • Tabular Classifier
        • Gradient Boosting
        • Cat Boosting Classifier
    • Single Image Model

      스크린샷 2022-12-06 오후 4 15 53
      • 사용 라이브러리

        • MMclassfication
        • Timm
      • Image Classifier

        • ResNext50_32x4d
        • Res2Net-50
        • Mobilenet_v2
        • Densenet-169
        • CoatNet-1
        • EfficientNet-b0
    • Multi-Modal Model

      스크린샷 2022-12-06 오후 4 23 23
      • Tabular Feature Extractor
        • Sequential model(MLP)
        • TabNet Encoder
      • Image Feature Extractor
        • ResNext
        • EfficientNet
        • SqueezeNet
        • VGG
        • AlexNet
        • CoatNet
        • ResNet
        • DenseNet
  • 모델 평가 및 개선 : EXCEL

    • Single Tabular Model

      Model F1- Score
      XGBoost 0.8000000000000002
      CatBoost 0.8113207547169812
      AdaBoost 0.8000000000000002
      Ridge 0.7735849056603773
    • Single Image Model : EXCEL

      Model F1- Score
      resnext50 0.7067
      cspresnext50 0.7612396694
      ghostnet_100 0.75613487
      mobilenetv3_rw 0.748808652
      ssl_resnext50_32x4d 0.748734329
      rexnet_150 0.7414935362
      tinynet_b 0.7414418
      ecaresnext50t_32x4d 0.7109136911
      edgenext_base 0.70936788
      efficientnetv2_rw_m 0.697245416
    • Multi-Modal Model : EXCEL

      Model F1- Score
      resnext50 0.7994
      densenet169 0.7768
      resnet18_40 0.7546
      vgg16 0.7502
    • Ensemble : EXCEL

      • high score 4 (0.8409710181)

        • [1] high score 2(0.83)+ MMC_resnext + (M_0.7535557)resnext50_E2_20e_binary + AdaBoost + Ridgeclassfier
        • [2] #20 + CatBoost + [1]
      • high score 2 (0.8326277762)

        • [1] Ensemble(AdaBoost + Catboost + XGBoost + MMC_resnext + 앙20#)
        • [2] Ensemble(tabular_GradientBoost + AdaBoost + [1])
        • [3] Ensemble (앙17# + MMC_resnext + [2])
      • 앙상블 17번 (0.8157543391) = 앙5# +앙6# + 앙13# + 앙14# + 앙15# + 앙16#

        • 앙상블 5번 (0.7977893511) = pred#9(0.7994386703) + tabular_3_0.816793893129771(0.8167) + pred#15(0.7067)
        • 앙상블 6번 (0.7986071899) = pred#7(0.7865034694) + pred#9(0.7994386703) + pred#12(0.77071428)
        • 앙상블 13번 (0.7902708482) = pred#7(0.7865034694) + pred#9(0.7994386703) + submission_catboost_train(0.8128)
        • 앙상블 14번 (0.8067434067) = pred#39(0.7472) + pred#12(0.77071428) + pred#9(0.7994386703) + 앙5#(0.790270842) + tabular_XGBoost_submission(0.8205) + pred#15(0.7067)
        • 앙상블 15번 (0.8108412585) = pred#5(0.7716) + 앙14#(0.8067434067) +pred#15(0.7067)
        • 앙상블 16번 (0.77) = vgg(0.75027) + pred#4(0.7575) + efficientnet_b230(0.736) + pred#5(0.7716) + resnet18_40(0.754)
      • 앙상블 20번(0.8157543391) = pred#39(0.7472) + pred#12(0.77071428) + 앙5#(0.7977893511) + pred#9(0.7994386703) + 앙6#(0.7986071899)


🔬 자체 의견 평가

대회 점수 올리기에 급급하여 임상항목에 대한 이해나 대회 측에서 제공한 소스인 mil에 대한 연구가 부족했다. 임상항목 별 가중치를 두어야하는 이유에 대한 추론이나 tabular data 에 대한 심층적인 분석이 덜 되었다.


Ref

https://www.kaggle.com/code/dschettler8845/visual-in-depth-eda-vinbigdata-competition-data https://www.kaggle.com/code/yerramvarun/pytorch-fasterrcnn-with-group-kfold-14-class https://www.kaggle.com/code/pestipeti/vinbigdata-fasterrcnn-pytorch-inference/notebook https://www.kaggle.com/code/pestipeti/vinbigdata-fasterrcnn-pytorch-train/notebook

public-4th-place-dacon-ai-competition-for-predicting-lymphadenopathy-of-breast-cancer's People

Contributors

bibiana1202 avatar chaelikim avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.