스마트폰의 가속도 및 자이로 센서 데이터를 활용하여
사용자의 동작(걷기, 서기, 눕기 등)을 분류하는 모델을 개발한 프로젝트입니다.
본 프로젝트는 KT Aivle School 교육 과정 중 수행된 팀 프로젝트입니다.
-
탐색적 데이터 분석 (EDA)
- 전체 데이터 구조 및 라벨 분포 확인
- 주요 피처들의 분포와 상관관계 분석
-
기본 모델링
- 전통 ML 모델(RandomForest) 적용
- 모델별 성능 비교 및 피처 중요도 분석
-
파이프라인 기반 고도화 모델링
- ColumnTransformer + Pipeline을 활용한 전처리 통합 자동화
- GridSearchCV를 통한 하이퍼파라미터 최적화
-
딥러닝 모델링
- TensorFlow 기반 MLP 구성
- 정적 동작 / 동적 동작 데이터를 분리하여 각각 학습
- 분리된 모델을 통합하는 최종 Pipeline 설계
- 언어 및 프레임워크: Python, TensorFlow, scikit-learn
- 시각화 도구: matplotlib, seaborn
- 모델: RandomForest, MLP
- 개발 환경: Jupyter Notebook, Google Colab
| 파일명 | 설명 |
|---|---|
data01_train.csv |
학습용 센서 데이터 |
data01_test.csv |
테스트용 센서 데이터 |
본 프로젝트에서는 단순 모델 적용을 넘어서,
데이터의 특성과 문제 구조를 고려한 전략적 모델 설계를 시도했습니다.
- RandomForest를 활용하여 피처 중요도를 분석하고 피처 엔지니어링 수행
→ 전체 561개 피처 중, 중요도 기반으로 210개 피처를 선별하여 최종 학습에 사용 - 전통 ML 모델을 기반으로 파이프라인 구성 및 효율성 점검
- 정적 동작 / 동적 동작을 분리하여 각각 딥러닝 모델(DNN)로 학습
- 두 모델을 하나의 통합 Pipeline으로 병합하여 최종 예측 수행
- 최종 DNN 모델은 다양한 상태를 고려한 구조로 설계되었으며,
Macro-F1 기준 성능은 0.93을 달성
최진호, 이원준, 장우진, 이정훈, 최태환, 황지윤, 조하민
(KT Aivle School 7기)
- 전통 ML과 딥러닝 모델의 역할과 한계를 실험적으로 비교
- Pipeline, GridSearchCV를 활용한 자동화된 모델 설계
- 정적/동적 상태별 행동 데이터의 특성을 고려한 모델 분리 및 통합 설계
- 협업을 통한 실전 데이터 처리 및 분석 경험 축적
프로젝트 진행 과정, 분석 내용, 팀 협업 기록 등은 아래 Notion 페이지에서 자세히 확인하실 수 있습니다.