Skip to content

multiful/Crab_Age_Prediction

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crab_Age_Prediction (Kaggle Regression)

주어진 생물학적 특성(Length, Weight 등)을 바탕으로 게의 나이(Age) 를 예측하는 회귀(Regression) 프로젝트입니다.
EDA를 통해 변수 분포/관계를 분석하고, 피처 엔지니어링과 모델 비교를 통해 MAE를 최소화하는 모델을 선정했습니다.


Key Results

  • Task: Regression (Age prediction)
  • Metric: MAE (Mean Absolute Error)
  • Best Model: XGBoost
  • Best Score (Kaggle): 1.28412 (1st)
  • Validation MAE: 1.316
  • Team: 개인 프로젝트 (1인)
image

※ Kaggle test 데이터는 Age(label)가 제공되지 않으며, 제출용으로 사용됩니다.


Dataset

  • train.csv
    • 학습 데이터 (target: Age)
    • 15000 rows × 10 columns
  • test.csv
    • 테스트 데이터 (target 없음)
    • 10000 rows × 9 columns

Features

  • id: 고유 식별자 (모델 학습에서는 제외)
  • Sex: 성별 (M / F / I)
  • Length, Diameter, Height: 신체 치수
  • Weight, Shucked Weight, Viscera Weight, Shell Weight: 무게 관련 변수
  • Age: 목표 변수 (train에만 존재)

Approach (Workflow)

1) EDA

  • 기초통계량/분포 확인 (describe, KDE/Histogram)
  • 결측치/이상치 탐색 (IQR, Boxplot)
  • 상관관계 및 관계 분석 (Scatter, Heatmap)
  • 범주형 변수 분포 확인 (Sex)

2) Preprocessing & Feature Engineering

  • Sex 원-핫 인코딩 (OneHotEncoding)
  • 수치형 변수 스케일링 (StandardScaler)
  • 왜도 완화를 위한 변환 적용 (예: log1p 등)
  • 파생변수 생성
    • Shucked_Weight_Ratio = (Shucked Weight / Weight) 기반 파생변수 추가

3) Modeling & Evaluation

  • 모델 비교: XGBoost / LSTM / CNN / MLP / LightGBM / SVR
  • 교차검증/튜닝(GridSearch 등)을 통한 하이퍼파라미터 탐색
  • 성능 비교 지표: MAE, R²
  • 최종 모델 선정: XGBoost (MAE 최소 + 성능 안정성)

Files

  • EDA final.ipynb
    • EDA, 전처리/변환, 인사이트 정리
  • Modeling.ipynb
    • 피처 엔지니어링, 모델 학습/비교, 튜닝, 성능 평가

🔗 Links


Review (What I learned)

  • 피처 엔지니어링과 변환을 반복 실험하며 MAE를 낮추는 과정에서, 전처리 파이프라인 설계와 실험 기록의 중요성을 체감했습니다.
  • 단일 성능뿐 아니라, 학습 과정의 안정성/일관성까지 고려해 최종 모델을 선택했습니다.

About

[코드잇 부스트] 데모데이: 게 나이 예측 or Kaggle

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors