Kaggle (캐글) 데이터 분석 입문

Jae·2025년 8월 10일

Tacademy 강의를 듣고 내용을 정리

캐글 (Kaggle)

캐글은 데이터 과학자와 머신러닝 엔지니어들이 모여 다양한 문제를 해결하는 온라인 커뮤니티 플랫폼. 사용자들이 서로 경쟁하면서 실력을 향상시키고, 지식을 공유하며 성장할 수 있는 환경을 제공.

  • Dataset & Prizes: 캐글은 전 세계 다양한 분야의 데이터셋을 제공. 기업이나 기관들이 주최하는 대회에 참여해 문제를 해결하면 상금을 받을 수 있음.
  • Virtual Environment (Kernel): 코딩을 위한 가상 환경인 캐글 커널을 제공해 별도의 개발 환경 구축 없이도 바로 분석을 시작할 수 있음. 또한 다른 사람들이 작성한 코드를 보고 배울 수 있어 학습에 매우 효과적.
  • Community: 활발한 토론 게시판과 노트북 공유 기능을 통해 다른 참가자들과 아이디어를 나누고, 서로의 코드를 참고하며 배우는 문화가 잘 형성.

캐글 컴피티션 진행 과정

캐글 대회는 주로 아래와 같은 단계로 진행.

1. 데이터 확인 (Data check)

대회에서 제공하는 데이터를 탐색하고 이해하는 단계. 이 과정에서 결측치, 이상치(outlier) 등을 확인하고, 데이터의 분포와 특성을 파악. 이상치 탐지는 모델의 성능에 큰 영향을 미칠 수 있으므로 매우 중요.

2. 특징 공학 (Feature Engineering)

모델의 성능을 높이기 위해 기존 데이터에서 새로운 특징(feature)을 만드는 과정.

  • 덧셈, 뺄셈 등 연산을 통한 특징 추가: 기존 두 피처를 더하거나 빼서 새로운 의미를 가진 피처를 생성.
  • 새로운 범주형 특징: 기존 피처를 특정 기준으로 나누어 새로운 카테고리를 만듦.
  • 집계(Aggregation) 특징: 그룹별로 평균, 합계, 최댓값 등을 계산해 새로운 특징을 만듦.
  • 범주형 특징 인코딩: 머신러닝 모델이 이해할 수 있도록 문자로 된 범주형 데이터를 숫자로 변환.
    • One-Hot Encoding: 범주를 여러 개의 0과 1로 된 열로 변환. 예를 들어 '서울', '부산', '대구'를 각각 [1, 0, 0], [0, 1, 0], [0, 0, 1]로 변환.
    • Label Encoding: 범주를 0, 1, 2와 같은 숫자로 변환. 이는 순서가 있는 데이터에 적합.
    • LightGBM Built-in: LightGBM은 범주형 데이터를 직접 처리하는 기능이 내장되어 있어 별도의 인코딩 없이도 좋은 성능을 낼 수 있음.
  • 결측치 및 무한대 값 처리: 결측값(NaN)은 평균, 중앙값 등으로 채우거나, 특정 모델에 따라 결측값 자체를 의미 있는 특징으로 활용할 수도 있음.

3. 모델 개발 (Model Development)

어떤 모델을 사용할지 결정하고 모델을 학습시키는 단계.

  • LightGBM: 빠르고 성능이 뛰어나 캐글에서 매우 인기가 높은 머신러닝 모델. 적은 메모리를 사용하며 대용량 데이터를 효율적으로 처리할 수 있어 많은 데이터 과학자들이 선호.

4. 학습 전략 (Training Strategy)

모델의 성능을 극대화하기 위한 방법들.

  • 앙상블(Ensemble) 기법: 여러 모델을 조합하여 더 좋은 성능을 얻는 방법으로, "앙상블은 항상 정답이다"라는 말이 있을 정도로 효과적.

    • "약한 학습자의 합이 강한 학습자 하나보다 강하다(Sum of Weak learners is stronger than One strong learner)": 성능이 조금 떨어지는 여러 모델을 합치면, 성능이 뛰어난 단일 모델보다 더 좋은 결과를 얻을 수 있다는 의미.
    • 스태킹(Stacking): 여러 모델의 예측 결과를 다시 입력으로 사용하여 최종 예측을 하는 앙상블 기법. 여러 모델의 장점을 효과적으로 결합할 수 있음.
  • 교차 검증 (Cross-validation)
    모델이 새로운 데이터에 대해 얼마나 잘 작동하는지 평가하는 기법.

  • 특징 공학과 교차 검증의 조화: 좋은 특징을 만들고, 이를 교차 검증(Cross-validation)을 통해 객관적으로 평가하는 과정이 중요.

  • 많은 검증 셋을 만들자: 여러 교차 검증 폴드(fold)를 만들어 모델의 안정적인 성능을 확인하는 것이 좋음. 리더보드의 점수만 믿기보다는, 자체적으로 만든 검증 셋(Validation Set)을 통해 모델의 성능을 정확하게 파악해야 과적합(overfitting)을 피할 수 있음.

5. EDA

  • 데이터를 시각화하거나 통계적인 방법으로 탐색하며 숨겨진 패턴이나 관계를 파악하는 단계
  • 이 과정을 통해 데이터의 특징을 더 깊이 이해하고, 어떤 피처 엔지니어링이 필요할지, 어떤 모델을 사용할지에 대한 통찰력을 얻을 수 있다.

6. Modeling

  • 파라미터 튜닝을 알게되고 같은 모델이라도 파라미터 튜닝에 따라 값이 달라진다.
  • submit.csv 을 commit하고 파일을 보내면 제출이 된다.

7. porto

  • 스케일링을 잘해줘야한다.
  • 스태킹은 항상 해줘야하는 거라서 무조건하기. 처음부터하기

참고

토크ON 48차. Kaggle(캐글) 데이터분석 입문 | T아카데미[https://www.youtube.com/watch?v=tsBamODoqPU&list=PL9mhQYIlKEhfBKFj3HYWwk-jQlV8aNwgk]

0개의 댓글