CS/Data Science

[Data Science] EPOCH_Kaggle 3주차

rngPwns 2025. 3. 19. 15:18

2.7 Baseline 모델

 : 일반적인 머신러닝 파이프라인의 모든 과정을 포함하는 가장 기초적 모델

경진대회 상위 참가자들이 baseline 모델 공개 but 직접 개인 baseline 모델 구축해보면 배움 향상!

 

  • Tabular 데이터를 다루는 캐글 경진대회에서의 머신러닝 파이프라인의 일반적 순서
    1. 데이터 전처리 
      • 제품변수 결측값 0으로 대체(보유여부 정보가 없으면 보유하고 있지 않다고 가정)
      • 훈련데이터와 테스트데이터 통합(날짜변수(fetcha_dato)로 쉽게 구분가능. 
        •  동일한 24개의 고객변수 공유, 테스트 데이터에 없는 24개의 제품변수는 0으로 채움
      • 범주형, 수치형 데이터 전처리. 
        • 범주형 데이터는 .factorize()를 통해 Label Encoding 수행.
        • 데이터 타입이 object로 표현되는 수치형 데이터 -> .unique() 를 통해 특이값을 대체, 제거 -> 정수형변환
      • 추후, 모델학습에 사용할 변수 이름을 features리스트에 미리 담음.
    2. 피처 엔지니어링
      • 머신러닝 모델학습에 사용할 파생변수 생성
      • baseline 모델에서는 전체 24개의 고객변수와 4개의 날짜변수기반 파생변수, 24개의 lag-1변수 사용
      • fecha_alta(고객이 첫 계약을 맺은 날짜), ult_fec_cli_1t(고객이 마지막으로 1등급이었던 날짜) 에서 각각 연도와 월 정보 추출
      • 그외에도 다양한 파생변수 ex) 두개의 날짜 변수간의 차이값, 특별한 날짜까지의 거리
      • 결측값은 임시로 -99로 대체, xgboost 모델에서는 결측값도 정상적 입력값으로 받음.(데이터가 결측되었음도 하나의 정보로 인식되고 모델학습에 활용되긴 함
      • 시계열데이터 : 고객의 과거데이터를 기반으로 다양한 파생변수 생성가능. 
        • ex)고객의 나이 변동을 이진변수로 생성, 한 달 전에 구매한 제품에 대한 정보, 최근 6개월간 평균 월급