제 4회 ETRI 휴먼이해 인공지능 논문경진대회

알고리즘 | 정형 | 라이프로그 | 논문 | 분류 | Macro F1-Score

  • moneyIcon 상금 770만 원
  • 1,033명 마감
마감

 

[0.59] ETRI 코드 공유 - Catboost

공동작성자

stroke
2025.08.21 13:42 2,518 조회 language

이 코드는 마네키네코 (한양대 파트타임 박사과정을 진행 중인 박준호 박사님)님의 코드 공유를 참고하여 제작되었습니다. 좋은 방향을 제시해주셔서 감사합니다.
이번 경진대회에 시간 들여 참여해주신 모든 분들 고생 많으셨습니다. 👏

[모델 개요 및 핵심 전략]
모델: CatBoost Classifier
핵심 변수: daily_minute 변수를 일별 30, 60, 90, 120, 150분으로 다양하게 실험한 결과, 150분일 때 최적의 성능을 달성했습니다.
최적화: Optuna를 활용해 모델의 하이퍼파라미터를 튜닝하여 성능을 끌어올렸습니다.

[데이터 전처리 및 피처 엔지니어링]
mACStatus, mActivity, mAmbience, mBle, mGps, mLight, mScreenStatus, mUsageStats, mWifi, wHr, wLight, wPedo 등 12개 센서 데이터를 전처리했습니다.
각 일별 데이터는 daily_minute으로 설정한 시간 단위로 쪼개어 최댓값, 최솟값, 평균, 중앙값 등을 추출해 새로운 피처를 생성하고, 이를 모델 학습에 활용했습니다.

[다양한 실험과 인사이트]
피처 중요도 실험: 피처 중요도가 높은 일부 피처만 선택해 학습했을 때, 오히려 성능이 더 낮아지는 결과를 확인했습니다. 이는 모든 피처가 모델 성능에 복합적으로 기여하고 있음을 보여줍니다.

[시간 변수 추가 실험]: 시간대 변수(ex-10:00~11:30)를 추가해 보았지만, 성능 향상 효과는 미미했습니다. 기존 데이터에 이미 유사한 정보가 포함되어 있어, 데이터 중복으로 인한 편향이 발생했을 가능성이 높다고 판단합니다.

[최종 요약]
결론적으로, CatBoost 모델과 Optuna를 활용하여 일별 150분 데이터를 학습했을 때 최적의 성능을 도출했습니다. 다양한 실험을 통해 모든 피처를 활용하는 것이 이 데이터셋에서 가장 효과적이라는 것을 확인했습니다.

코드
로그인이 필요합니다
0 / 1000
마네키네코
2025.08.22 09:25

공유 감사합니다.^^ 저도 준비해서 공유하겠습니다. 좋은 주말 보내세요.

비비드백
2025.08.22 15:33

많이 배웠습니다!!! ㅎㅎ 감사합니다:)
고생 많으셨습니다. 주말 잘 보내세요!