Multi-Class Prediction of Cirrhosis Outcomes

MSMoon·2025년 5월 1일

kaggle 학습

목록 보기
11/18
post-thumbnail

1. 대회 설명

  • 목표: 임의로 생성된 데이터셋을 기반으로 타겟 변수(target)를 예측
  • 문제 유형: Tabular Regression
  • 데이터 배경
    -> Kaggle Playground 시리즈의 일환으로, 실제 문제와 유사하게 구성된 합성 데이터
    -> 다양한 feature들이 포함되어 있으며, 정형 데이터를 다루는 기본적인 머신러닝 실력을 평가할 수 있도록 설계되어 있음

2. 성능 평가 방식 이해

  • Root Mean Squared Error (RMSE)

3. 데이터 전처리

3-1) EDA

  • 데이터의 기본 정보 확인 (train.shape, train.head())
  • target의 분포 확인 (히스토그램)
  • 각 feature별 기본 통계값 확인
  • 범주형 feature는 없으며, 모두 수치형 데이터로 구성되어 있음

3-2) Data Cleansing

  • 이상치나 결측치는 따로 처리하지 않음
  • 로그 변환, 정규화 등의 전처리 없이 모델링 진행

3-3) Feature Engineering

  • 주요 Feature Engineering은 수행되지 않음

4. 모델링

4-1) 모델

  • LightGBM
    -> 회귀 문제에 널리 사용되는 Gradient Boosting 모델
    -> RMSE 성능이 뛰어나며 학습 속도가 빠름

4-2) 데이터 분할

  • KFold Cross Validation (n_splits=5)
    -> 전체 데이터셋을 5개의 fold로 나눠서 반복적으로 학습 및 검증 수행

4-3) 하이퍼파라미터 튜닝

  • 학습률(learning_rate)과 깊이(max_depth), 반복 횟수(n_estimators) 중심으로 설정
  • early_stopping_rounds 활용하여 과적합 방지
params = {
    'learning_rate': 0.01,
    'max_depth': 7,
    'n_estimators': 10000,
    'random_state': 42
}

4-4) 최종 성능

  • Cross Validation RMSE 평균: 0.727154
    -> Fold 0: 0.726134
    -> Fold 1: 0.727544
    -> Fold 2: 0.728406
    -> Fold 3: 0.727749
    -> Fold 4: 0.726036

  • LB 점수 (Public Leaderboard): 0.726

5. 정리(Lesson & Learned)

  • 단순한 구조의 모델이라도, 올바른 검증 전략(KFold)과 적절한 파라미터 조정만으로도 좋은 성과를 내는 것이 가능하다는 사실을 배움
  • 데이터 자체의 품질이 좋고 적절한 검증 전략만 갖추어도 좋은 성능을 얻을 수 있다는 점을 체감함
  • 과도한 복잡도 추구보다는 베이스라인 모델의 탄탄한 구현과 파라미터 설정이 우선시되어야 한다는 점을 배움

Multi-Class Prediction of Cirrhosis Outcomes

0개의 댓글